[2026-04-16 12:17:25] [INFO] Checking activity reminders 
[2026-04-16 12:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:17:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 12:17:30] [INFO] Checking activity reminders 
[2026-04-16 12:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:17:33] [INFO] Checking activity reminders 
[2026-04-16 12:17:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:17:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:17:44] [INFO] Checking activity reminders 
[2026-04-16 12:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:17:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:17:49] [INFO] generateDealTitle result {"contact_id":"20649","person_name":"میثم پورمحمد","mobile":"9112456461","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9112456461"}
[2026-04-16 12:18:00] [INFO] Checking activity reminders 
[2026-04-16 12:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:02] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20649","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:18:02","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:18:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:18:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20649","is_new_deal":true}
[2026-04-16 12:18:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:18:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:18:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:18:02] [INFO] getContactPrimaryPhone called {"contact_id":"20649"}
[2026-04-16 12:18:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:18:02] [INFO] getContactPrimaryPhone result {"contact_id":"20649","person_found":true,"primary_phone":"9112456461"}
[2026-04-16 12:18:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9112456461"}
[2026-04-16 12:18:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9112456461","contact_id":"20649","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:18:02"}
[2026-04-16 12:18:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:18:02] [INFO] generateDealTitle result {"contact_id":"20649","person_name":"میثم پورمحمد","mobile":"9112456461","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9112456461"}
[2026-04-16 12:18:02] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"20649","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:18:02] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20649","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:18:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"20649","title":"معامله سوم 9112456461 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9112456461","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"میثم پورمحمد","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:18:02","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:18:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:18:02] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:18:02] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"20649","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9112456461 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:18:02","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:18:03] [INFO] Checking activity reminders 
[2026-04-16 12:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-16 12:18:30] [INFO] Checking activity reminders 
[2026-04-16 12:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:33] [INFO] Checking activity reminders 
[2026-04-16 12:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:37] [INFO] Checking activity reminders 
[2026-04-16 12:18:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7779","person_id":"14337"}
[2026-04-16 12:18:56] [INFO] Checking activity reminders 
[2026-04-16 12:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-16 12:19:00] [INFO] Checking activity reminders 
[2026-04-16 12:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:03] [INFO] Checking activity reminders 
[2026-04-16 12:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:10] [INFO] Checking activity reminders 
[2026-04-16 12:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5736","person_id":"13598"}
[2026-04-16 12:19:26] [INFO] Checking activity reminders 
[2026-04-16 12:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-16 12:19:30] [INFO] Checking activity reminders 
[2026-04-16 12:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:33] [INFO] Checking activity reminders 
[2026-04-16 12:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:40] [INFO] Checking activity reminders 
[2026-04-16 12:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:19:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-16 12:19:57] [INFO] Checking activity reminders 
[2026-04-16 12:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 12:20:00] [INFO] Checking activity reminders 
[2026-04-16 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:03] [INFO] Checking activity reminders 
[2026-04-16 12:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:11] [INFO] Checking activity reminders 
[2026-04-16 12:20:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 12:20:27] [INFO] Checking activity reminders 
[2026-04-16 12:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4627","person_id":"13022"}
[2026-04-16 12:20:30] [INFO] Checking activity reminders 
[2026-04-16 12:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:33] [INFO] Checking activity reminders 
[2026-04-16 12:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:42] [INFO] Checking activity reminders 
[2026-04-16 12:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:20:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 12:20:58] [INFO] Checking activity reminders 
[2026-04-16 12:20:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:20:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:21:01] [INFO] Checking activity reminders 
[2026-04-16 12:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:21:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16317","person_id":"12337"}
[2026-04-16 12:21:03] [INFO] Checking activity reminders 
[2026-04-16 12:21:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:21:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:21:13] [INFO] Checking activity reminders 
[2026-04-16 12:21:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:21:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:21:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9556","person_id":"19302"}
[2026-04-16 12:21:30] [INFO] Checking activity reminders 
[2026-04-16 12:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:21:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 12:21:33] [INFO] Checking activity reminders 
[2026-04-16 12:21:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:21:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:01] [INFO] Checking activity reminders 
[2026-04-16 12:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:03] [INFO] Checking activity reminders 
[2026-04-16 12:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-16 12:22:16] [INFO] Checking activity reminders 
[2026-04-16 12:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-16 12:22:31] [INFO] Checking activity reminders 
[2026-04-16 12:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:33] [INFO] Checking activity reminders 
[2026-04-16 12:22:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20503","person_id":"17843"}
[2026-04-16 12:22:47] [INFO] Checking activity reminders 
[2026-04-16 12:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 12:23:03] [INFO] Checking activity reminders 
[2026-04-16 12:23:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:23:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:23:03] [INFO] Checking activity reminders 
[2026-04-16 12:23:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:23:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:23:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 12:23:19] [INFO] Checking activity reminders 
[2026-04-16 12:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:23:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-16 12:23:33] [INFO] Checking activity reminders 
[2026-04-16 12:23:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:23:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:23:34] [INFO] Checking activity reminders 
[2026-04-16 12:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:23:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16589","person_id":"8632"}
[2026-04-16 12:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8059","person_id":"16589"}
[2026-04-16 12:24:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16589","person_id":"8632"}
[2026-04-16 12:24:03] [INFO] Checking activity reminders 
[2026-04-16 12:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:24:04] [INFO] Checking activity reminders 
[2026-04-16 12:24:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:24:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:24:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16589","person_id":"8632"}
[2026-04-16 12:24:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16589","person_id":"8632"}
[2026-04-16 12:24:32] [INFO] Checking activity reminders 
[2026-04-16 12:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:24:34] [INFO] Checking activity reminders 
[2026-04-16 12:24:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:24:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:24:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 12:24:45] [INFO] Checking activity reminders 
[2026-04-16 12:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:24:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-16 12:25:04] [INFO] Checking activity reminders 
[2026-04-16 12:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:25:09] [INFO] Checking activity reminders 
[2026-04-16 12:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-16 12:25:24] [INFO] Checking activity reminders 
[2026-04-16 12:25:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:25:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:25:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-16 12:25:34] [INFO] Checking activity reminders 
[2026-04-16 12:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:04] [INFO] Checking activity reminders 
[2026-04-16 12:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:13] [INFO] Checking activity reminders 
[2026-04-16 12:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2753","person_id":"14365"}
[2026-04-16 12:26:30] [INFO] Checking activity reminders 
[2026-04-16 12:26:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:26:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5379","person_id":"13139"}
[2026-04-16 12:26:34] [INFO] Checking activity reminders 
[2026-04-16 12:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:46] [INFO] Checking activity reminders 
[2026-04-16 12:26:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:26:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:26:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-16 12:27:02] [INFO] Checking activity reminders 
[2026-04-16 12:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:27:04] [INFO] Checking activity reminders 
[2026-04-16 12:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:27:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-16 12:27:21] [INFO] Checking activity reminders 
[2026-04-16 12:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:27:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:30] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_79","person_name":"کیوان رضا زاده","mobile":"9116827265","existing_deals":0,"ordinal":"اول","title":"معامله اول 9116827265"}
[2026-04-16 12:27:34] [INFO] Checking activity reminders 
[2026-04-16 12:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:27:49] [INFO] Lead update received {"contact_id":"local_1403_09_26_79","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:49] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_1403_09_26_79"}
[2026-04-16 12:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:52] [INFO] Checking activity reminders 
[2026-04-16 12:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:27:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:27:54] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_79","person_name":"کیوان رضا زاده","mobile":"9116827265","existing_deals":0,"ordinal":"اول","title":"معامله اول 9116827265"}
[2026-04-16 12:28:04] [INFO] Checking activity reminders 
[2026-04-16 12:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:28:07] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_79","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:28:07","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_79","is_new_deal":true}
[2026-04-16 12:28:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:28:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:28:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:28:07] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_79"}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:07] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_79","person_found":true,"primary_phone":"9116827265"}
[2026-04-16 12:28:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9116827265"}
[2026-04-16 12:28:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9116827265","contact_id":"local_1403_09_26_79","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:28:07"}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:07] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_79","person_name":"کیوان رضا زاده","mobile":"9116827265","existing_deals":0,"ordinal":"اول","title":"معامله اول 9116827265"}
[2026-04-16 12:28:07] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_1403_09_26_79","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:28:07] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_1403_09_26_79","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:28:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_1403_09_26_79","title":"معامله اول 9116827265 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9116827265","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"کیوان رضا زاده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:28:07","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:07] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:28:07] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_1403_09_26_79","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9116827265 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:28:07","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-16 12:28:23] [INFO] Checking activity reminders 
[2026-04-16 12:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-16 12:28:34] [INFO] Checking activity reminders 
[2026-04-16 12:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:28:37] [INFO] Checking activity reminders 
[2026-04-16 12:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:28:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-16 12:28:52] [INFO] Checking activity reminders 
[2026-04-16 12:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:28:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-16 12:29:04] [INFO] Checking activity reminders 
[2026-04-16 12:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:29:07] [INFO] Checking activity reminders 
[2026-04-16 12:29:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:29:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:29:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-16 12:29:21] [INFO] Lead update received {"contact_id":"20627","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:29:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20627"}
[2026-04-16 12:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:29:26] [INFO] Checking activity reminders 
[2026-04-16 12:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:29:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-16 12:29:35] [INFO] Checking activity reminders 
[2026-04-16 12:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:29:42] [INFO] Checking activity reminders 
[2026-04-16 12:29:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:29:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:29:58] [INFO] Lead update received {"contact_id":"15891","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:29:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:29:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:29:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:29:58] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15891"}
[2026-04-16 12:29:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:02] [INFO] generateDealTitle result {"contact_id":"15891","person_name":"اقای حسینی","mobile":"9123530969","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9123530969"}
[2026-04-16 12:30:05] [INFO] Checking activity reminders 
[2026-04-16 12:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:30:13] [INFO] Checking activity reminders 
[2026-04-16 12:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:30:16] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"15891","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:30:16","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"15891","is_new_deal":true}
[2026-04-16 12:30:16] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:16] [INFO] getContactPrimaryPhone called {"contact_id":"15891"}
[2026-04-16 12:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:16] [INFO] getContactPrimaryPhone result {"contact_id":"15891","person_found":true,"primary_phone":"9123530969"}
[2026-04-16 12:30:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123530969"}
[2026-04-16 12:30:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123530969","contact_id":"15891","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:30:16"}
[2026-04-16 12:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:16] [INFO] generateDealTitle result {"contact_id":"15891","person_name":"اقای حسینی","mobile":"9123530969","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9123530969"}
[2026-04-16 12:30:16] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"15891","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:30:16] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15891","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:30:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"15891","title":"معامله دوم 9123530969 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9123530969","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای حسینی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:30:16","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:16] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:30:16] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"15891","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9123530969 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:30:16","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-16 12:30:28] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20627","deal_id":"local_69e09fc810d895.62202366","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:30:28","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 12:30:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:30:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20627","is_new_deal":false}
[2026-04-16 12:30:28] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:30:28] [INFO] getContactPrimaryPhone called {"contact_id":"20627"}
[2026-04-16 12:30:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:30:28] [INFO] getContactPrimaryPhone result {"contact_id":"20627","person_found":true,"primary_phone":"9909364190"}
[2026-04-16 12:30:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9909364190"}
[2026-04-16 12:30:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9909364190","contact_id":"20627","deal_id":"local_69e09fc810d895.62202366","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:30:28"}
[2026-04-16 12:30:28] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e09fc810d895.62202366","contact_id":"20627","existing_deal_found":true,"existing_contact_id":"20627","existing_title":"معامله دوم 9909364190 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:30:28"}
[2026-04-16 12:30:28] [INFO] DealController.save validated payments {"deal_id":"local_69e09fc810d895.62202366","contact_id":"20627","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 12:30:28] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20627","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 12:30:28] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e09fc810d895.62202366","contact_didar_id":"20627","title":"معامله دوم 9909364190 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9909364190","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سعید محمدی","existing_deal":"YES","existing_deal_id":"local_69e09fc810d895.62202366","existing_deal_status":"Pending","server_time":"2026-04-16 12:30:28","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 12:30:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:30:28] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e09fc810d895.62202366","contact_id":"20627","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9909364190 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:30:28","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:30:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:30:35] [INFO] Checking activity reminders 
[2026-04-16 12:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:30:46] [INFO] Checking activity reminders 
[2026-04-16 12:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:30:46] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:30:46] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"check_reminders"}
[2026-04-16 12:30:46] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:30:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:30:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:01] [INFO] Lead update received {"contact_id":"local_1403_09_26_159","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:31:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:01] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_1403_09_26_159"}
[2026-04-16 12:31:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:04] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_159","person_name":"رضا کوهی فایق","mobile":"9123590858","existing_deals":0,"ordinal":"اول","title":"معامله اول 9123590858"}
[2026-04-16 12:31:05] [INFO] Checking activity reminders 
[2026-04-16 12:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:05] [INFO] Checking activity reminders 
[2026-04-16 12:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:17] [INFO] Checking activity reminders 
[2026-04-16 12:31:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:18] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_159","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:31:18","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_159","is_new_deal":true}
[2026-04-16 12:31:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:31:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:31:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:31:18] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_159"}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:18] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_159","person_found":true,"primary_phone":"9123590858"}
[2026-04-16 12:31:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123590858"}
[2026-04-16 12:31:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123590858","contact_id":"local_1403_09_26_159","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:31:18"}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:18] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_159","person_name":"رضا کوهی فایق","mobile":"9123590858","existing_deals":0,"ordinal":"اول","title":"معامله اول 9123590858"}
[2026-04-16 12:31:18] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_1403_09_26_159","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:31:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_1403_09_26_159","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:31:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_1403_09_26_159","title":"معامله اول 9123590858 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9123590858","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضا کوهی فایق","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:31:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:18] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:31:18] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_1403_09_26_159","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9123590858 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:31:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-16 12:31:35] [INFO] Checking activity reminders 
[2026-04-16 12:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:36] [INFO] Checking activity reminders 
[2026-04-16 12:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:43] [INFO] Checking activity reminders 
[2026-04-16 12:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:56] [INFO] Lead update received {"contact_id":"20466","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:31:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20466"}
[2026-04-16 12:31:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:31:59] [INFO] generateDealTitle result {"contact_id":"20466","person_name":"محمدی تلگرام","mobile":"9124636337","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9124636337"}
[2026-04-16 12:32:04] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:32:04] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"check_reminders"}
[2026-04-16 12:32:04] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:32:05] [INFO] Checking activity reminders 
[2026-04-16 12:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:06] [INFO] Checking activity reminders 
[2026-04-16 12:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:12] [INFO] Activity save request {"post_data":{"contact_id":"20627","deal_id":"local_69e09fc810d895.62202366","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت 6 ماهه \r\nمیگه اقساط گفتم نداریم \r\nفقط نقد \r\nارسال پیام در بله \r\nاز کسی قرض بگیر تا اخر ماه براش وصول کن \r\n3 تا قسط و وام میده \r\n","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 12:32:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20627","note_was_empty":true}
[2026-04-16 12:32:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"20627","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:12] [INFO] Updating virtual stage {"contact_id":"20627","stage_name":"deal_registered","force":false}
[2026-04-16 12:32:12] [INFO] Virtual stage successfully saved {"contact_id":"20627","stage_name":"deal_registered"}
[2026-04-16 12:32:12] [INFO] Virtual stage updated after activity save {"contact_id":"20627"}
[2026-04-16 12:32:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e09fc810d895.62202366","stage":"تماس پیگیری","status_change":null}
[2026-04-16 12:32:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0a594764ee3.77763094","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0a594764ee3.77763094"}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:12] [INFO] Updating virtual stage {"contact_id":"20627","stage_name":"deal_registered","force":false}
[2026-04-16 12:32:12] [INFO] Virtual stage successfully saved {"contact_id":"20627","stage_name":"deal_registered"}
[2026-04-16 12:32:12] [INFO] Virtual stage updated after activity save {"contact_id":"20627"}
[2026-04-16 12:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20627","person_id":"7279"}
[2026-04-16 12:32:13] [INFO] Checking activity reminders 
[2026-04-16 12:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:13] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20466","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:32:13","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:32:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20466","is_new_deal":true}
[2026-04-16 12:32:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:32:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:32:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:32:13] [INFO] getContactPrimaryPhone called {"contact_id":"20466"}
[2026-04-16 12:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:32:13] [INFO] getContactPrimaryPhone result {"contact_id":"20466","person_found":true,"primary_phone":"9124636337"}
[2026-04-16 12:32:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9124636337"}
[2026-04-16 12:32:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9124636337","contact_id":"20466","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:32:13"}
[2026-04-16 12:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:32:13] [INFO] generateDealTitle result {"contact_id":"20466","person_name":"محمدی تلگرام","mobile":"9124636337","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9124636337"}
[2026-04-16 12:32:13] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"20466","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:32:13] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20466","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:32:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"20466","title":"معامله دوم 9124636337 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9124636337","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمدی تلگرام","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:32:13","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:32:13] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:32:13] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"20466","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9124636337 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:32:13","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:32:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-16 12:32:24] [INFO] Checking activity reminders 
[2026-04-16 12:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:36] [INFO] Checking activity reminders 
[2026-04-16 12:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:37] [INFO] Checking activity reminders 
[2026-04-16 12:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-16 12:32:51] [INFO] Checking activity reminders 
[2026-04-16 12:32:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:54] [INFO] Checking activity reminders 
[2026-04-16 12:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:32:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7672","person_id":"18531"}
[2026-04-16 12:33:05] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_101","deal_id":"local_69ba6e3680d8a4.52303367","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اجاره مغازه و تعمیر خودرو هزینه بردار \r\nهواسش به تسویه کانال هست \/ یادداشت کرده \r\nتا اردیبهشت انجام میده ","activity_duration":"3","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 12:33:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_101","note_was_empty":true}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:05] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_101","stage_name":"new","force":false}
[2026-04-16 12:33:05] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_101","stage_name":"new"}
[2026-04-16 12:33:05] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_101"}
[2026-04-16 12:33:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ba6e3680d8a4.52303367","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-16 12:33:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0a5c92a8dd0.87184833","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0a5c92a8dd0.87184833"}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:05] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_101","stage_name":"deal_registered","force":false}
[2026-04-16 12:33:05] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_101","stage_name":"deal_registered"}
[2026-04-16 12:33:05] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_101"}
[2026-04-16 12:33:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_101","person_id":"21178"}
[2026-04-16 12:33:06] [INFO] Checking activity reminders 
[2026-04-16 12:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:07] [INFO] Checking activity reminders 
[2026-04-16 12:33:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:10] [INFO] Checking activity reminders 
[2026-04-16 12:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16051","person_id":"18968"}
[2026-04-16 12:33:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:33:20","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 12:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:33:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12398","is_new_deal":false}
[2026-04-16 12:33:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:33:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:33:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:33:20] [INFO] getContactPrimaryPhone called {"contact_id":"12398"}
[2026-04-16 12:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:33:20] [INFO] getContactPrimaryPhone result {"contact_id":"12398","person_found":true,"primary_phone":"9361188914"}
[2026-04-16 12:33:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361188914"}
[2026-04-16 12:33:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361188914","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:33:20"}
[2026-04-16 12:33:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","existing_deal_found":true,"existing_contact_id":"12398","existing_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:33:20"}
[2026-04-16 12:33:20] [INFO] DealController.save validated payments {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-16 12:33:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12398","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 12:33:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ef3d121e519.10264232","contact_didar_id":"12398","title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9361188914","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"متین غفوری","existing_deal":"YES","existing_deal_id":"local_699ef3d121e519.10264232","existing_deal_status":"Pending","server_time":"2026-04-16 12:33:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 12:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:33:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-16 12:33:20","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:33:23] [INFO] Checking activity reminders 
[2026-04-16 12:33:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:36] [INFO] Checking activity reminders 
[2026-04-16 12:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16051","person_id":"18968"}
[2026-04-16 12:33:40] [INFO] Checking activity reminders 
[2026-04-16 12:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:33:53] [INFO] Checking activity reminders 
[2026-04-16 12:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:06] [INFO] Checking activity reminders 
[2026-04-16 12:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:10] [INFO] Checking activity reminders 
[2026-04-16 12:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:23] [INFO] Checking activity reminders 
[2026-04-16 12:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:36] [INFO] Checking activity reminders 
[2026-04-16 12:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:34:40","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 12:34:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:34:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12398","is_new_deal":false}
[2026-04-16 12:34:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:34:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:34:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 12:34:40] [INFO] getContactPrimaryPhone called {"contact_id":"12398"}
[2026-04-16 12:34:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:34:40] [INFO] getContactPrimaryPhone result {"contact_id":"12398","person_found":true,"primary_phone":"9361188914"}
[2026-04-16 12:34:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361188914"}
[2026-04-16 12:34:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361188914","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:34:40"}
[2026-04-16 12:34:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","existing_deal_found":true,"existing_contact_id":"12398","existing_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 12:34:40"}
[2026-04-16 12:34:40] [INFO] DealController.save validated payments {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-16 12:34:40] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12398","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 12:34:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ef3d121e519.10264232","contact_didar_id":"12398","title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9361188914","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"متین غفوری","existing_deal":"YES","existing_deal_id":"local_699ef3d121e519.10264232","existing_deal_status":"Pending","server_time":"2026-04-16 12:34:40","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 12:34:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:34:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":10000000,"server_time":"2026-04-16 12:34:40","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:34:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-16 12:34:40] [INFO] Checking activity reminders 
[2026-04-16 12:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:34:53] [INFO] Checking activity reminders 
[2026-04-16 12:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:06] [INFO] Checking activity reminders 
[2026-04-16 12:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:12] [INFO] Checking activity reminders 
[2026-04-16 12:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:24] [INFO] Checking activity reminders 
[2026-04-16 12:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:30] [INFO] Checking activity reminders 
[2026-04-16 12:35:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:36] [INFO] Checking activity reminders 
[2026-04-16 12:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:35:50] [INFO] Checking activity reminders 
[2026-04-16 12:35:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:35:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:00] [INFO] Checking activity reminders 
[2026-04-16 12:36:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:06] [INFO] Checking activity reminders 
[2026-04-16 12:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:17] [INFO] Checking activity reminders 
[2026-04-16 12:36:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-16 12:36:30] [INFO] Checking activity reminders 
[2026-04-16 12:36:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:36] [INFO] Checking activity reminders 
[2026-04-16 12:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:37] [INFO] Checking activity reminders 
[2026-04-16 12:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:36:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21191","person_id":"20890"}
[2026-04-16 12:36:54] [INFO] Checking activity reminders 
[2026-04-16 12:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 12:37:00] [INFO] Checking activity reminders 
[2026-04-16 12:37:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:06] [INFO] Checking activity reminders 
[2026-04-16 12:37:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:14] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9127850907","09127850907"]}
[2026-04-16 12:37:14] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9127850907","09127850907"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-16 12:37:14] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9127850907","full_name":"لید جدید"}
[2026-04-16 12:37:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-16 12:37:14] [INFO] Notification created {"notification_id":"660","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-16 12:37:28] [INFO] Checking activity reminders 
[2026-04-16 12:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:30] [INFO] Checking activity reminders 
[2026-04-16 12:37:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:37] [INFO] Checking activity reminders 
[2026-04-16 12:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:55] [INFO] Lead update received {"contact_id":"7006","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:37:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:55] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7006"}
[2026-04-16 12:37:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:59] [INFO] Checking activity reminders 
[2026-04-16 12:37:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:37:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:37:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:37:59] [INFO] generateDealTitle result {"contact_id":"7006","person_name":"اقای پناهی","mobile":"9128037845","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128037845"}
[2026-04-16 12:38:00] [INFO] Checking activity reminders 
[2026-04-16 12:38:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:07] [INFO] Checking activity reminders 
[2026-04-16 12:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:17] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7006","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:38:17","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:38:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:38:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7006","is_new_deal":true}
[2026-04-16 12:38:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:38:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:38:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:38:17] [INFO] getContactPrimaryPhone called {"contact_id":"7006"}
[2026-04-16 12:38:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:38:17] [INFO] getContactPrimaryPhone result {"contact_id":"7006","person_found":true,"primary_phone":"9128037845"}
[2026-04-16 12:38:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128037845"}
[2026-04-16 12:38:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128037845","contact_id":"7006","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:38:17"}
[2026-04-16 12:38:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:38:17] [INFO] generateDealTitle result {"contact_id":"7006","person_name":"اقای پناهی","mobile":"9128037845","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128037845"}
[2026-04-16 12:38:17] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"7006","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:38:17] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7006","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:38:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"7006","title":"معامله دوم 9128037845 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9128037845","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای پناهی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:38:17","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:38:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:38:17] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:38:17] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"7006","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128037845 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:38:17","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:38:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-16 12:38:29] [INFO] Checking activity reminders 
[2026-04-16 12:38:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:30] [INFO] Checking activity reminders 
[2026-04-16 12:38:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:37] [INFO] Checking activity reminders 
[2026-04-16 12:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:45] [INFO] Checking activity reminders 
[2026-04-16 12:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:38:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-16 12:39:00] [INFO] Checking activity reminders 
[2026-04-16 12:39:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:03] [INFO] Checking activity reminders 
[2026-04-16 12:39:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:07] [INFO] Checking activity reminders 
[2026-04-16 12:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 12:39:21] [INFO] Checking activity reminders 
[2026-04-16 12:39:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:31] [INFO] Checking activity reminders 
[2026-04-16 12:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:34] [INFO] Lead update received {"contact_id":"665","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:39:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:34] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"665"}
[2026-04-16 12:39:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:37] [INFO] Checking activity reminders 
[2026-04-16 12:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:38] [INFO] generateDealTitle result {"contact_id":"665","person_name":"علیرضا شیخیان","mobile":"9132934377","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9132934377"}
[2026-04-16 12:39:51] [INFO] Checking activity reminders 
[2026-04-16 12:39:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:39:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:39:53] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"665","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:39:53","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:39:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:53] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"665","is_new_deal":true}
[2026-04-16 12:39:53] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:39:53] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:39:53] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:39:53] [INFO] getContactPrimaryPhone called {"contact_id":"665"}
[2026-04-16 12:39:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:53] [INFO] getContactPrimaryPhone result {"contact_id":"665","person_found":true,"primary_phone":"9132934377"}
[2026-04-16 12:39:53] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132934377"}
[2026-04-16 12:39:53] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132934377","contact_id":"665","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:39:53"}
[2026-04-16 12:39:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:53] [INFO] generateDealTitle result {"contact_id":"665","person_name":"علیرضا شیخیان","mobile":"9132934377","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9132934377"}
[2026-04-16 12:39:53] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"665","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:39:53] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"665","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:39:53] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"665","title":"معامله دوم 9132934377 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9132934377","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علیرضا شیخیان","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:39:53","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:39:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:39:53] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:39:53] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"665","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9132934377 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:39:53","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-16 12:40:01] [INFO] Checking activity reminders 
[2026-04-16 12:40:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:07] [INFO] Checking activity reminders 
[2026-04-16 12:40:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:21] [INFO] Checking activity reminders 
[2026-04-16 12:40:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-16 12:40:31] [INFO] Checking activity reminders 
[2026-04-16 12:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:37] [INFO] Checking activity reminders 
[2026-04-16 12:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:53] [INFO] Checking activity reminders 
[2026-04-16 12:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:40:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-16 12:41:01] [INFO] Checking activity reminders 
[2026-04-16 12:41:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:07] [INFO] Checking activity reminders 
[2026-04-16 12:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:13] [INFO] Checking activity reminders 
[2026-04-16 12:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8168","person_id":"20035"}
[2026-04-16 12:41:31] [INFO] Checking activity reminders 
[2026-04-16 12:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:32] [INFO] Checking activity reminders 
[2026-04-16 12:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-16 12:41:52] [INFO] Checking activity reminders 
[2026-04-16 12:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:41:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:00] [INFO] generateDealTitle result {"contact_id":"6662","person_name":"عرفان مرادی","mobile":"9933542595","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9933542595"}
[2026-04-16 12:42:01] [INFO] Checking activity reminders 
[2026-04-16 12:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:42:15] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"6662","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:42:15","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"6662","is_new_deal":true}
[2026-04-16 12:42:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:42:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:42:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:42:15] [INFO] getContactPrimaryPhone called {"contact_id":"6662"}
[2026-04-16 12:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:15] [INFO] getContactPrimaryPhone result {"contact_id":"6662","person_found":true,"primary_phone":"9933542595"}
[2026-04-16 12:42:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9933542595"}
[2026-04-16 12:42:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9933542595","contact_id":"6662","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:42:15"}
[2026-04-16 12:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:15] [INFO] generateDealTitle result {"contact_id":"6662","person_name":"عرفان مرادی","mobile":"9933542595","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9933542595"}
[2026-04-16 12:42:15] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"6662","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:42:15] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6662","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:42:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"6662","title":"معامله سوم 9933542595 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9933542595","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"عرفان مرادی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:42:15","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:15] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:42:15] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"6662","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9933542595 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:42:15","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 12:42:26] [INFO] Checking activity reminders 
[2026-04-16 12:42:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:42:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:42:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5194","person_id":"9880"}
[2026-04-16 12:42:31] [INFO] Checking activity reminders 
[2026-04-16 12:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:42:42] [INFO] Checking activity reminders 
[2026-04-16 12:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:42:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"974","person_id":"6980"}
[2026-04-16 12:42:51] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"check_reminders"}
[2026-04-16 12:42:51] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:42:51] [WARNING] Auth check failed - not authenticated {"session_id":"kt2qiv6rqmtehmjb400s8rjgko","session_keys":[],"action":"log_client_event"}
[2026-04-16 12:42:58] [INFO] Checking activity reminders 
[2026-04-16 12:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:01] [INFO] Checking activity reminders 
[2026-04-16 12:43:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:43:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-16 12:43:14] [INFO] Checking activity reminders 
[2026-04-16 12:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7569","person_id":"603"}
[2026-04-16 12:43:31] [INFO] Checking activity reminders 
[2026-04-16 12:43:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:43:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:31] [INFO] Checking activity reminders 
[2026-04-16 12:43:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:43:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12664","person_id":"5314"}
[2026-04-16 12:43:48] [INFO] Checking activity reminders 
[2026-04-16 12:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2233","person_id":"5163"}
[2026-04-16 12:44:02] [INFO] Checking activity reminders 
[2026-04-16 12:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:44:03] [INFO] Checking activity reminders 
[2026-04-16 12:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:44:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10377","person_id":"3338"}
[2026-04-16 12:44:19] [INFO] Checking activity reminders 
[2026-04-16 12:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:26] [INFO] generateDealTitle result {"contact_id":"3043","person_name":"علیاری","mobile":"9148967454","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9148967454"}
[2026-04-16 12:44:32] [INFO] Checking activity reminders 
[2026-04-16 12:44:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:44:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:44:40] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3043","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:44:40","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3043","is_new_deal":true}
[2026-04-16 12:44:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:44:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:44:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:44:40] [INFO] getContactPrimaryPhone called {"contact_id":"3043"}
[2026-04-16 12:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:40] [INFO] getContactPrimaryPhone result {"contact_id":"3043","person_found":true,"primary_phone":"9148967454"}
[2026-04-16 12:44:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9148967454"}
[2026-04-16 12:44:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9148967454","contact_id":"3043","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:44:40"}
[2026-04-16 12:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:40] [INFO] generateDealTitle result {"contact_id":"3043","person_name":"علیاری","mobile":"9148967454","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9148967454"}
[2026-04-16 12:44:40] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"3043","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:44:40] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3043","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:44:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"3043","title":"معامله چهارم 9148967454 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله چهارم 9148967454","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علیاری","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:44:40","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:40] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:44:40] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"3043","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله چهارم 9148967454 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:44:40","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 12:44:51] [INFO] Checking activity reminders 
[2026-04-16 12:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:44:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2953","person_id":"17170"}
[2026-04-16 12:45:02] [INFO] Checking activity reminders 
[2026-04-16 12:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:45:19] [INFO] Checking activity reminders 
[2026-04-16 12:45:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:45:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:45:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:32] [INFO] Checking activity reminders 
[2026-04-16 12:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:45:43] [INFO] Lead update received {"contact_id":"11612","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:43] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11612"}
[2026-04-16 12:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:45:48] [INFO] generateDealTitle result {"contact_id":"11612","person_name":"اقای اسماعیلی","mobile":"9133879627","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9133879627"}
[2026-04-16 12:45:49] [INFO] Checking activity reminders 
[2026-04-16 12:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:46:03] [INFO] Checking activity reminders 
[2026-04-16 12:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:46:03] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11612","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:46:03","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:46:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:46:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11612","is_new_deal":true}
[2026-04-16 12:46:03] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:46:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:46:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 12:46:03] [INFO] getContactPrimaryPhone called {"contact_id":"11612"}
[2026-04-16 12:46:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:46:03] [INFO] getContactPrimaryPhone result {"contact_id":"11612","person_found":true,"primary_phone":"9133879627"}
[2026-04-16 12:46:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133879627"}
[2026-04-16 12:46:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133879627","contact_id":"11612","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:46:03"}
[2026-04-16 12:46:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:46:03] [INFO] generateDealTitle result {"contact_id":"11612","person_name":"اقای اسماعیلی","mobile":"9133879627","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9133879627"}
[2026-04-16 12:46:03] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"11612","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-16 12:46:03] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11612","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:46:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"11612","title":"معامله دوم 9133879627 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9133879627","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای اسماعیلی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-16 12:46:03","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:46:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:46:03] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-16 12:46:03] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"11612","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9133879627 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 12:46:03","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-16 12:46:33] [INFO] Checking activity reminders 
[2026-04-16 12:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:47:03] [INFO] Checking activity reminders 
[2026-04-16 12:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:47:33] [INFO] Checking activity reminders 
[2026-04-16 12:47:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:47:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:48:03] [INFO] Checking activity reminders 
[2026-04-16 12:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:48:33] [INFO] Checking activity reminders 
[2026-04-16 12:48:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:48:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:48:37] [INFO] Checking activity reminders 
[2026-04-16 12:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:48:40] [INFO] Checking activity reminders 
[2026-04-16 12:48:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:48:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:48:45] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 12:48:45] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 12:48:45] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 12:49:03] [INFO] Checking activity reminders 
[2026-04-16 12:49:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:49:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:49:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 12:49:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 12:49:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 12:49:10] [INFO] Checking activity reminders 
[2026-04-16 12:49:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:49:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:49:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 12:49:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 12:49:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 12:49:33] [INFO] Checking activity reminders 
[2026-04-16 12:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:49:57] [INFO] Checking activity reminders 
[2026-04-16 12:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:50:03] [INFO] Checking activity reminders 
[2026-04-16 12:50:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:50:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:50:27] [INFO] Checking activity reminders 
[2026-04-16 12:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:50:33] [INFO] Checking activity reminders 
[2026-04-16 12:50:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:50:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:50:57] [INFO] Checking activity reminders 
[2026-04-16 12:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:51:03] [INFO] Checking activity reminders 
[2026-04-16 12:51:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:51:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:51:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fb862928935.14063521","person_id":"21367"}
[2026-04-16 12:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fb862928935.14063521","person_id":"21367"}
[2026-04-16 12:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fb862928935.14063521","person_id":"21367"}
[2026-04-16 12:51:28] [INFO] Checking activity reminders 
[2026-04-16 12:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:51:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b55a52bd5039.96016486","person_id":"21841"}
[2026-04-16 12:51:33] [INFO] Checking activity reminders 
[2026-04-16 12:51:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:51:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:51:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b55a52bd5039.96016486","person_id":"21841"}
[2026-04-16 12:51:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b55a52bd5039.96016486","person_id":"21841"}
[2026-04-16 12:51:58] [INFO] Checking activity reminders 
[2026-04-16 12:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:52:04] [INFO] Checking activity reminders 
[2026-04-16 12:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:52:28] [INFO] Checking activity reminders 
[2026-04-16 12:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:52:34] [INFO] Checking activity reminders 
[2026-04-16 12:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:52:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d1429104c535.24317537","person_id":"21971"}
[2026-04-16 12:52:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d1429104c535.24317537","person_id":"21971"}
[2026-04-16 12:52:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d1429104c535.24317537","person_id":"21971"}
[2026-04-16 12:52:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d1429104c535.24317537","person_id":"21971"}
[2026-04-16 12:52:58] [INFO] Checking activity reminders 
[2026-04-16 12:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:53:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b19fc3494035.29107056","person_id":"21823"}
[2026-04-16 12:53:04] [INFO] Checking activity reminders 
[2026-04-16 12:53:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:53:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:53:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b19fc3494035.29107056","person_id":"21823"}
[2026-04-16 12:53:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b19fc3494035.29107056","person_id":"21823"}
[2026-04-16 12:53:28] [INFO] Checking activity reminders 
[2026-04-16 12:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:53:34] [INFO] Checking activity reminders 
[2026-04-16 12:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:53:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699e9c05591884.49792017","person_id":"21798"}
[2026-04-16 12:53:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699e9c05591884.49792017","person_id":"21798"}
[2026-04-16 12:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699e9c05591884.49792017","person_id":"21798"}
[2026-04-16 12:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699e9c05591884.49792017","person_id":"21798"}
[2026-04-16 12:53:56] [INFO] Checking activity reminders 
[2026-04-16 12:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:53:58] [INFO] Checking activity reminders 
[2026-04-16 12:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:54:04] [INFO] Checking activity reminders 
[2026-04-16 12:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:54:28] [INFO] Checking activity reminders 
[2026-04-16 12:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:54:31] [INFO] Checking activity reminders 
[2026-04-16 12:54:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:54:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:54:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:54:34] [INFO] Checking activity reminders 
[2026-04-16 12:54:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:54:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:54:58] [INFO] Checking activity reminders 
[2026-04-16 12:54:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:54:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:01] [INFO] Checking activity reminders 
[2026-04-16 12:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:04] [INFO] Checking activity reminders 
[2026-04-16 12:55:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:07] [INFO] Lead update received {"contact_id":"353","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:55:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:55:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:55:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:55:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"353"}
[2026-04-16 12:55:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:55:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-16 12:55:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16320","person_id":"16930"}
[2026-04-16 12:55:29] [INFO] Checking activity reminders 
[2026-04-16 12:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:32] [INFO] Checking activity reminders 
[2026-04-16 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:34] [INFO] Checking activity reminders 
[2026-04-16 12:55:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:55:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"16320","deal_id":"local_69b5c5e089b653.97465947","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:55:44","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:55:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16320","person_id":"16930"}
[2026-04-16 12:55:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"16320","is_new_deal":false}
[2026-04-16 12:55:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 12:55:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:55:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:55:44] [INFO] getContactPrimaryPhone called {"contact_id":"16320"}
[2026-04-16 12:55:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16320","person_id":"16930"}
[2026-04-16 12:55:44] [INFO] getContactPrimaryPhone result {"contact_id":"16320","person_found":true,"primary_phone":"9133179085"}
[2026-04-16 12:55:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133179085"}
[2026-04-16 12:55:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133179085","contact_id":"16320","deal_id":"local_69b5c5e089b653.97465947","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:55:44"}
[2026-04-16 12:55:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b5c5e089b653.97465947","contact_id":"16320","existing_deal_found":true,"existing_contact_id":"16320","existing_title":"معامله دوم 9133179085 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:55:44"}
[2026-04-16 12:55:44] [INFO] DealController.save validated payments {"deal_id":"local_69b5c5e089b653.97465947","contact_id":"16320","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 12:55:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"16320","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:55:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b5c5e089b653.97465947","contact_didar_id":"16320","title":"معامله دوم 9133179085 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9133179085","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"9133179085","existing_deal":"YES","existing_deal_id":"local_69b5c5e089b653.97465947","existing_deal_status":"Pending","server_time":"2026-04-16 12:55:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:55:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16320","person_id":"16930"}
[2026-04-16 12:55:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b5c5e089b653.97465947","contact_id":"16320","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9133179085 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-16 12:55:44","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:55:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16320","person_id":"16930"}
[2026-04-16 12:55:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7829","person_id":"15136"}
[2026-04-16 12:55:59] [INFO] Checking activity reminders 
[2026-04-16 12:55:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:55:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7829","deal_id":"local_69b53b19f19e26.00164464","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:56:00","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 12:56:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7829","person_id":"15136"}
[2026-04-16 12:56:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7829","is_new_deal":false}
[2026-04-16 12:56:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:00] [INFO] getContactPrimaryPhone called {"contact_id":"7829"}
[2026-04-16 12:56:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7829","person_id":"15136"}
[2026-04-16 12:56:00] [INFO] getContactPrimaryPhone result {"contact_id":"7829","person_found":true,"primary_phone":"9039213149"}
[2026-04-16 12:56:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9039213149"}
[2026-04-16 12:56:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9039213149","contact_id":"7829","deal_id":"local_69b53b19f19e26.00164464","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:56:00"}
[2026-04-16 12:56:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b53b19f19e26.00164464","contact_id":"7829","existing_deal_found":true,"existing_contact_id":"7829","existing_title":"معامله دوم 9039213149 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 12:56:00"}
[2026-04-16 12:56:00] [INFO] DealController.save validated payments {"deal_id":"local_69b53b19f19e26.00164464","contact_id":"7829","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 12:56:00] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"7829","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 12:56:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b53b19f19e26.00164464","contact_didar_id":"7829","title":"معامله دوم 9039213149 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9039213149","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"9039213149","existing_deal":"YES","existing_deal_id":"local_69b53b19f19e26.00164464","existing_deal_status":"Pending","server_time":"2026-04-16 12:56:00","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 12:56:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7829","person_id":"15136"}
[2026-04-16 12:56:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b53b19f19e26.00164464","contact_id":"7829","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9039213149 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-16 12:56:00","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:56:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7829","person_id":"15136"}
[2026-04-16 12:56:02] [INFO] Checking activity reminders 
[2026-04-16 12:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:05] [INFO] Checking activity reminders 
[2026-04-16 12:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 12:56:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 12:56:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 12:56:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"10606","deal_id":"local_69552fab045021.87776078","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 12:56:23","session_id":"aj68t1h6ecn7l5ht9oihnm77i4"}
[2026-04-16 12:56:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:56:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"10606","is_new_deal":false}
[2026-04-16 12:56:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 12:56:23] [INFO] getContactPrimaryPhone called {"contact_id":"10606"}
[2026-04-16 12:56:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:56:23] [INFO] getContactPrimaryPhone result {"contact_id":"10606","person_found":true,"primary_phone":"9143410634"}
[2026-04-16 12:56:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9143410634"}
[2026-04-16 12:56:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9143410634","contact_id":"10606","deal_id":"local_69552fab045021.87776078","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-16 12:56:23"}
[2026-04-16 12:56:23] [INFO] DealController.save existing deal lookup {"deal_id":"local_69552fab045021.87776078","contact_id":"10606","existing_deal_found":true,"existing_contact_id":"10606","existing_title":"معامله دوم 9143410634 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-16 12:56:23"}
[2026-04-16 12:56:23] [INFO] DealController.save validated payments {"deal_id":"local_69552fab045021.87776078","contact_id":"10606","payments_count":3,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-16 12:56:23] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"10606","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 12:56:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69552fab045021.87776078","contact_didar_id":"10606","title":"معامله دوم 9143410634 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9143410634","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"منصوری","existing_deal":"YES","existing_deal_id":"local_69552fab045021.87776078","existing_deal_status":"Pending","server_time":"2026-04-16 12:56:23","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-16 12:56:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:56:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69552fab045021.87776078","contact_id":"10606","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9143410634 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 12:56:23","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 12:56:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:56:29] [INFO] Checking activity reminders 
[2026-04-16 12:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:32] [INFO] Checking activity reminders 
[2026-04-16 12:56:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:35] [INFO] Checking activity reminders 
[2026-04-16 12:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7766de33610.44882641","person_id":"22099"}
[2026-04-16 12:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7766de33610.44882641","person_id":"22099"}
[2026-04-16 12:56:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7766de33610.44882641","person_id":"22099"}
[2026-04-16 12:56:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7766de33610.44882641","person_id":"22099"}
[2026-04-16 12:56:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 12:56:59] [INFO] Checking activity reminders 
[2026-04-16 12:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:57:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:57:05] [INFO] Checking activity reminders 
[2026-04-16 12:57:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:57:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-16 12:57:29] [INFO] Checking activity reminders 
[2026-04-16 12:57:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:57:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:57:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694abea0de0548.21255791","person_id":"21328"}
[2026-04-16 12:57:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694abea0de0548.21255791","person_id":"21328"}
[2026-04-16 12:57:35] [INFO] Checking activity reminders 
[2026-04-16 12:57:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:57:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:57:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694abea0de0548.21255791","person_id":"21328"}
[2026-04-16 12:57:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694abea0de0548.21255791","person_id":"21328"}
[2026-04-16 12:57:38] [INFO] Lead update received {"contact_id":"20312","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 12:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 12:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 12:57:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20312"}
[2026-04-16 12:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 12:58:02] [INFO] Checking activity reminders 
[2026-04-16 12:58:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:58:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:58:05] [INFO] Checking activity reminders 
[2026-04-16 12:58:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:58:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:58:35] [INFO] Checking activity reminders 
[2026-04-16 12:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:58:35] [INFO] Checking activity reminders 
[2026-04-16 12:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:59:05] [INFO] Checking activity reminders 
[2026-04-16 12:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:59:06] [INFO] Checking activity reminders 
[2026-04-16 12:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:59:36] [INFO] Checking activity reminders 
[2026-04-16 12:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 12:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 12:59:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 12:59:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 12:59:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 13:00:26] [INFO] Checking activity reminders 
[2026-04-16 13:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:00:29] [INFO] Checking activity reminders 
[2026-04-16 13:00:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:00:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:00:32] [INFO] Checking activity reminders 
[2026-04-16 13:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:00:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20312","deal_id":"local_69e09f76817b30.56640218","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 13:00:43","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 13:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:00:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20312","is_new_deal":false}
[2026-04-16 13:00:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:00:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:00:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:00:43] [INFO] getContactPrimaryPhone called {"contact_id":"20312"}
[2026-04-16 13:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:00:43] [INFO] getContactPrimaryPhone result {"contact_id":"20312","person_found":true,"primary_phone":"9963179206"}
[2026-04-16 13:00:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9963179206"}
[2026-04-16 13:00:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9963179206","contact_id":"20312","deal_id":"local_69e09f76817b30.56640218","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:00:43"}
[2026-04-16 13:00:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e09f76817b30.56640218","contact_id":"20312","existing_deal_found":true,"existing_contact_id":"20312","existing_title":"معامله دوم 9963179206 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:00:43"}
[2026-04-16 13:00:43] [INFO] DealController.save validated payments {"deal_id":"local_69e09f76817b30.56640218","contact_id":"20312","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 13:00:43] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20312","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 13:00:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e09f76817b30.56640218","contact_didar_id":"20312","title":"معامله دوم 9963179206 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9963179206","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"آرش انصاری فر","existing_deal":"YES","existing_deal_id":"local_69e09f76817b30.56640218","existing_deal_status":"Pending","server_time":"2026-04-16 13:00:43","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 13:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:00:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e09f76817b30.56640218","contact_id":"20312","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9963179206 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 13:00:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 13:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:01:02] [INFO] Checking activity reminders 
[2026-04-16 13:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:01:32] [INFO] Checking activity reminders 
[2026-04-16 13:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:02:03] [INFO] Checking activity reminders 
[2026-04-16 13:02:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:02:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:02:33] [INFO] Checking activity reminders 
[2026-04-16 13:02:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:02:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:03:03] [INFO] Checking activity reminders 
[2026-04-16 13:03:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:03:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:03:33] [INFO] Checking activity reminders 
[2026-04-16 13:03:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:03:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:03:37] [INFO] Checking activity reminders 
[2026-04-16 13:03:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:03:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:03:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:03] [INFO] Checking activity reminders 
[2026-04-16 13:04:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:04:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:04:07] [INFO] Checking activity reminders 
[2026-04-16 13:04:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:04:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:04:20] [INFO] Activity save request {"post_data":{"contact_id":"21335","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ارسال ش کارت هوش کارشناسی 15ت نصفشو امروز میزنزه تسویه اخر فرو.ردین","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 13:04:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21335","note_was_empty":true}
[2026-04-16 13:04:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"21335","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-16 13:04:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0ad1cd7fea8.84428911","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0ad1cd7fea8.84428911"}
[2026-04-16 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:20] [INFO] Updating virtual stage {"contact_id":"21335","stage_name":"deal_registered","force":false}
[2026-04-16 13:04:20] [INFO] Virtual stage successfully saved {"contact_id":"21335","stage_name":"deal_registered"}
[2026-04-16 13:04:20] [INFO] Virtual stage updated after activity save {"contact_id":"21335"}
[2026-04-16 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-16 13:04:33] [INFO] Checking activity reminders 
[2026-04-16 13:04:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:04:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:04:37] [INFO] Checking activity reminders 
[2026-04-16 13:04:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:04:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:05:03] [INFO] Checking activity reminders 
[2026-04-16 13:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:05:07] [INFO] Checking activity reminders 
[2026-04-16 13:05:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:05:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:05:33] [INFO] Checking activity reminders 
[2026-04-16 13:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:05:37] [INFO] Checking activity reminders 
[2026-04-16 13:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:06:03] [INFO] Checking activity reminders 
[2026-04-16 13:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:06:07] [INFO] Checking activity reminders 
[2026-04-16 13:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:06:33] [INFO] Checking activity reminders 
[2026-04-16 13:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:06:37] [INFO] Checking activity reminders 
[2026-04-16 13:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:07:03] [INFO] Checking activity reminders 
[2026-04-16 13:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:07:07] [INFO] Checking activity reminders 
[2026-04-16 13:07:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:07:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:07:34] [INFO] Checking activity reminders 
[2026-04-16 13:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:07:37] [INFO] Checking activity reminders 
[2026-04-16 13:07:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:07:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:08:04] [INFO] Checking activity reminders 
[2026-04-16 13:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:08:07] [INFO] Checking activity reminders 
[2026-04-16 13:08:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:08:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:08:34] [INFO] Checking activity reminders 
[2026-04-16 13:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:08:38] [INFO] Checking activity reminders 
[2026-04-16 13:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:09:04] [INFO] Checking activity reminders 
[2026-04-16 13:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:09:08] [INFO] Checking activity reminders 
[2026-04-16 13:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:09:35] [INFO] Checking activity reminders 
[2026-04-16 13:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:09:38] [INFO] Checking activity reminders 
[2026-04-16 13:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:10:05] [INFO] Checking activity reminders 
[2026-04-16 13:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:10:08] [INFO] Checking activity reminders 
[2026-04-16 13:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:10:35] [INFO] Checking activity reminders 
[2026-04-16 13:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:10:38] [INFO] Checking activity reminders 
[2026-04-16 13:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:11:05] [INFO] Checking activity reminders 
[2026-04-16 13:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:11:08] [INFO] Checking activity reminders 
[2026-04-16 13:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:11:35] [INFO] Checking activity reminders 
[2026-04-16 13:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:11:38] [INFO] Checking activity reminders 
[2026-04-16 13:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:12:05] [INFO] Checking activity reminders 
[2026-04-16 13:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:12:08] [INFO] Checking activity reminders 
[2026-04-16 13:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:12:35] [INFO] Checking activity reminders 
[2026-04-16 13:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:12:38] [INFO] Checking activity reminders 
[2026-04-16 13:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:13:05] [INFO] Checking activity reminders 
[2026-04-16 13:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:13:08] [INFO] Checking activity reminders 
[2026-04-16 13:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:13:35] [INFO] Checking activity reminders 
[2026-04-16 13:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:13:38] [INFO] Checking activity reminders 
[2026-04-16 13:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:14:05] [INFO] Checking activity reminders 
[2026-04-16 13:14:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:14:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:14:08] [INFO] Checking activity reminders 
[2026-04-16 13:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:14:36] [INFO] Checking activity reminders 
[2026-04-16 13:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:14:38] [INFO] Checking activity reminders 
[2026-04-16 13:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:15:06] [INFO] Checking activity reminders 
[2026-04-16 13:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:15:09] [INFO] Checking activity reminders 
[2026-04-16 13:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:15:36] [INFO] Checking activity reminders 
[2026-04-16 13:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:15:39] [INFO] Checking activity reminders 
[2026-04-16 13:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:16:06] [INFO] Checking activity reminders 
[2026-04-16 13:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:16:09] [INFO] Checking activity reminders 
[2026-04-16 13:16:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:16:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:16:36] [INFO] Checking activity reminders 
[2026-04-16 13:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:16:39] [INFO] Checking activity reminders 
[2026-04-16 13:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:17:06] [INFO] Checking activity reminders 
[2026-04-16 13:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:17:09] [INFO] Checking activity reminders 
[2026-04-16 13:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:17:36] [INFO] Checking activity reminders 
[2026-04-16 13:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:17:39] [INFO] Checking activity reminders 
[2026-04-16 13:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:18:06] [INFO] Checking activity reminders 
[2026-04-16 13:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:18:09] [INFO] Checking activity reminders 
[2026-04-16 13:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:18:36] [INFO] Checking activity reminders 
[2026-04-16 13:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:18:39] [INFO] Checking activity reminders 
[2026-04-16 13:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:19:06] [INFO] Checking activity reminders 
[2026-04-16 13:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:19:09] [INFO] Checking activity reminders 
[2026-04-16 13:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:19:37] [INFO] Checking activity reminders 
[2026-04-16 13:19:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:19:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:19:40] [INFO] Checking activity reminders 
[2026-04-16 13:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:20:07] [INFO] Checking activity reminders 
[2026-04-16 13:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:20:10] [INFO] Checking activity reminders 
[2026-04-16 13:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:20:37] [INFO] Checking activity reminders 
[2026-04-16 13:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:20:40] [INFO] Checking activity reminders 
[2026-04-16 13:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:21:07] [INFO] Checking activity reminders 
[2026-04-16 13:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:21:10] [INFO] Checking activity reminders 
[2026-04-16 13:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:21:37] [INFO] Checking activity reminders 
[2026-04-16 13:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:21:40] [INFO] Checking activity reminders 
[2026-04-16 13:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:22:07] [INFO] Checking activity reminders 
[2026-04-16 13:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:22:10] [INFO] Checking activity reminders 
[2026-04-16 13:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:22:37] [INFO] Checking activity reminders 
[2026-04-16 13:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:22:40] [INFO] Checking activity reminders 
[2026-04-16 13:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:23:08] [INFO] Checking activity reminders 
[2026-04-16 13:23:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:23:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:23:10] [INFO] Checking activity reminders 
[2026-04-16 13:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:23:38] [INFO] Checking activity reminders 
[2026-04-16 13:23:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:23:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:23:40] [INFO] Checking activity reminders 
[2026-04-16 13:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:24:08] [INFO] Checking activity reminders 
[2026-04-16 13:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:24:10] [INFO] Checking activity reminders 
[2026-04-16 13:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:24:38] [INFO] Checking activity reminders 
[2026-04-16 13:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:25:08] [INFO] Checking activity reminders 
[2026-04-16 13:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:25:33] [INFO] Checking activity reminders 
[2026-04-16 13:25:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:25:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:25:38] [INFO] Checking activity reminders 
[2026-04-16 13:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:25:47] [INFO] Checking activity reminders 
[2026-04-16 13:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:25:53] [INFO] Checking activity reminders 
[2026-04-16 13:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:26:03] [INFO] Checking activity reminders 
[2026-04-16 13:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:26:08] [INFO] Checking activity reminders 
[2026-04-16 13:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:26:10] [INFO] Checking activity reminders 
[2026-04-16 13:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:26:19] [INFO] Checking activity reminders 
[2026-04-16 13:26:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:26:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:26:38] [INFO] Checking activity reminders 
[2026-04-16 13:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:27:08] [INFO] Checking activity reminders 
[2026-04-16 13:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:27:23] [INFO] Checking activity reminders 
[2026-04-16 13:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:27:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-16 13:27:38] [INFO] Activity save request {"post_data":{"contact_id":"20312","deal_id":"local_69e09f76817b30.56640218","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"سراب \r\n17 گرم طلا فیزیکی \r\n200-300 جنس مغازه برای کار پروفیل \r\nنمیدونست در بله فعالیت میکنیم \/ البته بله نداره \r\nپرزنت 6 ماهه کانال بدون پشتیبانی 27\r\nارسال پیامک \r\n","activity_duration":"7","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 13:27:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20312","note_was_empty":true}
[2026-04-16 13:27:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"20312","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Updating virtual stage {"contact_id":"20312","stage_name":"deal_registered","force":false}
[2026-04-16 13:27:38] [INFO] Virtual stage successfully saved {"contact_id":"20312","stage_name":"deal_registered"}
[2026-04-16 13:27:38] [INFO] Virtual stage updated after activity save {"contact_id":"20312"}
[2026-04-16 13:27:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e09f76817b30.56640218","stage":"تماس پیگیری","status_change":null}
[2026-04-16 13:27:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0b292619578.83772939","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0b292619578.83772939"}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Updating virtual stage {"contact_id":"20312","stage_name":"deal_registered","force":false}
[2026-04-16 13:27:38] [INFO] Virtual stage successfully saved {"contact_id":"20312","stage_name":"deal_registered"}
[2026-04-16 13:27:38] [INFO] Virtual stage updated after activity save {"contact_id":"20312"}
[2026-04-16 13:27:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20312","person_id":"7111"}
[2026-04-16 13:27:38] [INFO] Checking activity reminders 
[2026-04-16 13:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:27:53] [INFO] Checking activity reminders 
[2026-04-16 13:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:28:08] [INFO] Checking activity reminders 
[2026-04-16 13:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:28:23] [INFO] Checking activity reminders 
[2026-04-16 13:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:28:39] [INFO] Checking activity reminders 
[2026-04-16 13:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:29:09] [INFO] Checking activity reminders 
[2026-04-16 13:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:31:05] [INFO] Checking activity reminders 
[2026-04-16 13:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:31:35] [INFO] Checking activity reminders 
[2026-04-16 13:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:31:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3043","deal_id":"local_69e0a880c40787.00938141","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 13:31:59","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:31:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3043","is_new_deal":false}
[2026-04-16 13:31:59] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 13:31:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 13:31:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 13:31:59] [INFO] getContactPrimaryPhone called {"contact_id":"3043"}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:31:59] [INFO] getContactPrimaryPhone result {"contact_id":"3043","person_found":true,"primary_phone":"9148967454"}
[2026-04-16 13:31:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9148967454"}
[2026-04-16 13:31:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9148967454","contact_id":"3043","deal_id":"local_69e0a880c40787.00938141","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:31:59"}
[2026-04-16 13:31:59] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a880c40787.00938141","contact_id":"3043","existing_deal_found":true,"existing_contact_id":"3043","existing_title":"معامله چهارم 9148967454 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:31:59"}
[2026-04-16 13:31:59] [INFO] DealController.save validated payments {"deal_id":"local_69e0a880c40787.00938141","contact_id":"3043","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 13:31:59] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3043","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 13:31:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a880c40787.00938141","contact_didar_id":"3043","title":"معامله چهارم 9148967454 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9148967454","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علیاری","existing_deal":"YES","existing_deal_id":"local_69e0a880c40787.00938141","existing_deal_status":"Pending","server_time":"2026-04-16 13:31:59","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:31:59] [INFO] Deal success processed {"contact_id":"3043","person_name":"علیاری","products_count":1}
[2026-04-16 13:31:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a880c40787.00938141","contact_id":"3043","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9148967454 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 13:31:59","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:31:59] [INFO] Updating virtual stage {"contact_id":"3043","stage_name":"with_purchase","force":true}
[2026-04-16 13:31:59] [INFO] Virtual stage successfully saved {"contact_id":"3043","stage_name":"with_purchase"}
[2026-04-16 13:31:59] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3043","deal_id":"local_69e0a880c40787.00938141","target_stage":"with_purchase"}
[2026-04-16 13:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 13:32:38] [INFO] Checking activity reminders 
[2026-04-16 13:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:32:40] [INFO] Checking activity reminders 
[2026-04-16 13:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:33:10] [INFO] Checking activity reminders 
[2026-04-16 13:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:33:40] [INFO] Checking activity reminders 
[2026-04-16 13:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:34:10] [INFO] Checking activity reminders 
[2026-04-16 13:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:34:40] [INFO] Checking activity reminders 
[2026-04-16 13:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:35:10] [INFO] Checking activity reminders 
[2026-04-16 13:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:35:40] [INFO] Checking activity reminders 
[2026-04-16 13:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:36:10] [INFO] Checking activity reminders 
[2026-04-16 13:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:36:41] [INFO] Checking activity reminders 
[2026-04-16 13:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:37:11] [INFO] Checking activity reminders 
[2026-04-16 13:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:37:41] [INFO] Checking activity reminders 
[2026-04-16 13:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:38:11] [INFO] Checking activity reminders 
[2026-04-16 13:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:38:42] [INFO] Checking activity reminders 
[2026-04-16 13:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:39:12] [INFO] Checking activity reminders 
[2026-04-16 13:39:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:39:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:39:42] [INFO] Checking activity reminders 
[2026-04-16 13:39:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:39:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:39:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"6662","deal_id":"local_69e0a7ef632e25.73471656","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 13:39:58","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 13:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:39:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"6662","is_new_deal":false}
[2026-04-16 13:39:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:39:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:39:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 13:39:58] [INFO] getContactPrimaryPhone called {"contact_id":"6662"}
[2026-04-16 13:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:39:58] [INFO] getContactPrimaryPhone result {"contact_id":"6662","person_found":true,"primary_phone":"9933542595"}
[2026-04-16 13:39:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9933542595"}
[2026-04-16 13:39:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9933542595","contact_id":"6662","deal_id":"local_69e0a7ef632e25.73471656","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:39:58"}
[2026-04-16 13:39:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a7ef632e25.73471656","contact_id":"6662","existing_deal_found":true,"existing_contact_id":"6662","existing_title":"معامله سوم 9933542595 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 13:39:58"}
[2026-04-16 13:39:58] [INFO] DealController.save validated payments {"deal_id":"local_69e0a7ef632e25.73471656","contact_id":"6662","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-16 13:39:58] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6662","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 13:39:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a7ef632e25.73471656","contact_didar_id":"6662","title":"معامله سوم 9933542595 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9933542595","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"عرفان مرادی","existing_deal":"YES","existing_deal_id":"local_69e0a7ef632e25.73471656","existing_deal_status":"Pending","server_time":"2026-04-16 13:39:58","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 13:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:39:58] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a7ef632e25.73471656","contact_id":"6662","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9933542595 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 13:39:58","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 13:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:12] [INFO] Checking activity reminders 
[2026-04-16 13:40:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:40:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:40:25] [INFO] Activity save request {"post_data":{"contact_id":"6662","deal_id":"local_69e0a7ef632e25.73471656","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 13:40:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6662","note_was_empty":true}
[2026-04-16 13:40:25] [INFO] Didar write disabled; saving activity locally {"contact_id":"6662","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:25] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-16 13:40:25] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-16 13:40:25] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-16 13:40:25] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a7ef632e25.73471656","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-16 13:40:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0b591d30998.61007311","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0b591d30998.61007311"}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:25] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-16 13:40:25] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-16 13:40:25] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-16 13:40:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-16 13:40:42] [INFO] Checking activity reminders 
[2026-04-16 13:40:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:40:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 13:41:12] [INFO] Checking activity reminders 
[2026-04-16 13:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:41:42] [INFO] Checking activity reminders 
[2026-04-16 13:41:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:41:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:42:12] [INFO] Checking activity reminders 
[2026-04-16 13:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:42:35] [INFO] Checking activity reminders 
[2026-04-16 13:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:42:37] [INFO] Checking activity reminders 
[2026-04-16 13:42:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:42:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:42:41] [INFO] Checking activity reminders 
[2026-04-16 13:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:42:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 13:42:47] [INFO] Checking activity reminders 
[2026-04-16 13:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:43:17] [INFO] Checking activity reminders 
[2026-04-16 13:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:43:47] [INFO] Checking activity reminders 
[2026-04-16 13:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:44:18] [INFO] Checking activity reminders 
[2026-04-16 13:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:44:25] [INFO] Checking activity reminders 
[2026-04-16 13:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:44:55] [INFO] Checking activity reminders 
[2026-04-16 13:44:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:44:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:45:00] [INFO] Lead update received {"contact_id":"15055","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 13:45:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 13:45:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 13:45:00] [DEBUG] findByPhone: Found person {"phones":["9305342755"],"found_id":"2502","found_didar_id":"1738","found_name":"کامرانی کامرانی"}
[2026-04-16 13:45:00] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9305342755","found_didar_id":"1738","found_local_id":"2502","found_name":"کامرانی کامرانی"}
[2026-04-16 13:45:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1738","person_id":"2502"}
[2026-04-16 13:45:00] [INFO] checkForDuplicates: REAL duplicate found {"phone":"9305342755","found_id":"2502","found_didar_id":"1738","exclude_id":11810,"exclude_didar_id":"15055"}
[2026-04-16 13:45:00] [ERROR] API Error {"action":"update_lead","exception":{"message":"این شماره قبلاً برای کامرانی کامرانی (مسئول: خانم شکیبا) ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":777,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(977): App\\Services\\LeadService->checkForDuplicates()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(485): App\\Services\\LeadService->updateLead()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#3 {main}"}}
[2026-04-16 13:45:09] [INFO] Checking activity reminders 
[2026-04-16 13:45:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:45:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:45:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1738","person_id":"2502"}
[2026-04-16 13:45:40] [INFO] Checking activity reminders 
[2026-04-16 13:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:46:20] [INFO] Checking activity reminders 
[2026-04-16 13:46:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:46:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:46:56] [INFO] Checking activity reminders 
[2026-04-16 13:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:47:07] [INFO] Checking activity reminders 
[2026-04-16 13:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:47:43] [INFO] Checking activity reminders 
[2026-04-16 13:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:47:48] [INFO] Checking activity reminders 
[2026-04-16 13:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:47:55] [INFO] Lead update received {"contact_id":"15055","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 13:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 13:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 13:47:55] [DEBUG] findByPhone: Found person {"phones":["9305342755"],"found_id":"2502","found_didar_id":"1738","found_name":"کامرانی کامرانی"}
[2026-04-16 13:47:55] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9305342755","found_didar_id":"1738","found_local_id":"2502","found_name":"کامرانی کامرانی"}
[2026-04-16 13:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1738","person_id":"2502"}
[2026-04-16 13:47:55] [INFO] checkForDuplicates: REAL duplicate found {"phone":"9305342755","found_id":"2502","found_didar_id":"1738","exclude_id":11810,"exclude_didar_id":"15055"}
[2026-04-16 13:47:55] [ERROR] API Error {"action":"update_lead","exception":{"message":"این شماره قبلاً برای کامرانی کامرانی (مسئول: خانم شکیبا) ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":777,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(977): App\\Services\\LeadService->checkForDuplicates()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(485): App\\Services\\LeadService->updateLead()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#3 {main}"}}
[2026-04-16 13:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:48:18] [INFO] Checking activity reminders 
[2026-04-16 13:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:48:48] [INFO] Checking activity reminders 
[2026-04-16 13:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:49:18] [INFO] Checking activity reminders 
[2026-04-16 13:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:49:48] [INFO] Checking activity reminders 
[2026-04-16 13:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:50:19] [INFO] Checking activity reminders 
[2026-04-16 13:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:50:49] [INFO] Checking activity reminders 
[2026-04-16 13:50:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:50:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:51:19] [INFO] Checking activity reminders 
[2026-04-16 13:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:51:49] [INFO] Checking activity reminders 
[2026-04-16 13:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:52:19] [INFO] Checking activity reminders 
[2026-04-16 13:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:52:49] [INFO] Checking activity reminders 
[2026-04-16 13:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:53:19] [INFO] Checking activity reminders 
[2026-04-16 13:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:53:50] [INFO] Checking activity reminders 
[2026-04-16 13:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:54:20] [INFO] Checking activity reminders 
[2026-04-16 13:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:54:50] [INFO] Checking activity reminders 
[2026-04-16 13:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:55:20] [INFO] Checking activity reminders 
[2026-04-16 13:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:55:50] [INFO] Checking activity reminders 
[2026-04-16 13:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:56:20] [INFO] Checking activity reminders 
[2026-04-16 13:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:56:51] [INFO] Checking activity reminders 
[2026-04-16 13:56:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:56:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:57:21] [INFO] Checking activity reminders 
[2026-04-16 13:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:57:51] [INFO] Checking activity reminders 
[2026-04-16 13:57:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:57:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:58:21] [INFO] Checking activity reminders 
[2026-04-16 13:58:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:58:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:58:51] [INFO] Checking activity reminders 
[2026-04-16 13:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:59:21] [INFO] Checking activity reminders 
[2026-04-16 13:59:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:59:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:59:32] [INFO] Activity save request {"post_data":{"contact_id":"20566","deal_id":"local_69e0a0f77c12e1.08781300","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خانه نفروخته و کلا منصرف شده از فروش \/ مصرف شخصی \r\nفقط داره نوسان گیری و ترید میکنه \r\nبرای هزینه های جاری از نوسان گیری کمک میگیره \r\nخودش اطلاعات سیگنال ها رو داره \/خیلی وقته داره کر انجام یده \r\nدر کانال عمومی پیگیری میکنه \r\n","activity_duration":"6","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"no_financial_ability","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 13:59:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20566","note_was_empty":true}
[2026-04-16 13:59:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"20566","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Updating virtual stage {"contact_id":"20566","stage_name":"deal_registered","force":false}
[2026-04-16 13:59:32] [INFO] Virtual stage successfully saved {"contact_id":"20566","stage_name":"deal_registered"}
[2026-04-16 13:59:32] [INFO] Virtual stage updated after activity save {"contact_id":"20566"}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0f77c12e1.08781300","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-16 13:59:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0ba0cc446d7.76367583","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0ba0cc446d7.76367583"}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:32] [INFO] Updating virtual stage {"contact_id":"20566","stage_name":"deal_registered","force":false}
[2026-04-16 13:59:32] [INFO] Virtual stage successfully saved {"contact_id":"20566","stage_name":"deal_registered"}
[2026-04-16 13:59:32] [INFO] Virtual stage updated after activity save {"contact_id":"20566"}
[2026-04-16 13:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20566","person_id":"8544"}
[2026-04-16 13:59:51] [INFO] Checking activity reminders 
[2026-04-16 13:59:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 13:59:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 13:59:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:00:21] [INFO] Checking activity reminders 
[2026-04-16 14:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:00:51] [INFO] Checking activity reminders 
[2026-04-16 14:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:01:22] [INFO] Checking activity reminders 
[2026-04-16 14:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:01:52] [INFO] Checking activity reminders 
[2026-04-16 14:01:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:01:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:02:22] [INFO] Checking activity reminders 
[2026-04-16 14:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"check_reminders"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"get_products"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"get_leads"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"get_leads"}
[2026-04-16 14:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"get_leads"}
[2026-04-16 14:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:02:52] [INFO] Checking activity reminders 
[2026-04-16 14:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:03:03] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-16 14:03:03] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-16 14:03:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 14:03:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 14:03:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 14:03:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 14:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 14:03:22] [INFO] Checking activity reminders 
[2026-04-16 14:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:03:52] [INFO] Checking activity reminders 
[2026-04-16 14:03:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:03:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:04:08] [INFO] Checking activity reminders 
[2026-04-16 14:04:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:04:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:04:22] [INFO] Checking activity reminders 
[2026-04-16 14:04:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:04:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:04:52] [INFO] Checking activity reminders 
[2026-04-16 14:04:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:04:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:05:05] [INFO] Checking activity reminders 
[2026-04-16 14:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-16 14:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 14:05:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16182","person_id":"15055"}
[2026-04-16 14:05:22] [INFO] Checking activity reminders 
[2026-04-16 14:05:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:05:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:05:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 14:05:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 14:05:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15055","person_id":"11810"}
[2026-04-16 14:05:52] [INFO] Checking activity reminders 
[2026-04-16 14:05:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:05:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:06:22] [INFO] Checking activity reminders 
[2026-04-16 14:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:06:53] [INFO] Checking activity reminders 
[2026-04-16 14:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:07:23] [INFO] Checking activity reminders 
[2026-04-16 14:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:07:53] [INFO] Checking activity reminders 
[2026-04-16 14:07:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:07:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:08:23] [INFO] Checking activity reminders 
[2026-04-16 14:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:08:53] [INFO] Checking activity reminders 
[2026-04-16 14:08:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:08:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:09:23] [INFO] Checking activity reminders 
[2026-04-16 14:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:09:53] [INFO] Checking activity reminders 
[2026-04-16 14:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:10:23] [INFO] Checking activity reminders 
[2026-04-16 14:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:10:53] [INFO] Checking activity reminders 
[2026-04-16 14:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:11:23] [INFO] Checking activity reminders 
[2026-04-16 14:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:11:54] [INFO] Checking activity reminders 
[2026-04-16 14:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:12:24] [INFO] Checking activity reminders 
[2026-04-16 14:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:12:54] [INFO] Checking activity reminders 
[2026-04-16 14:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:13:24] [INFO] Checking activity reminders 
[2026-04-16 14:13:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:13:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:13:54] [INFO] Checking activity reminders 
[2026-04-16 14:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:14:14] [INFO] Lead update received {"contact_id":"20850","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 14:14:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:14:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:14:14] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20850"}
[2026-04-16 14:14:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:14:25] [INFO] Checking activity reminders 
[2026-04-16 14:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:14:55] [INFO] Checking activity reminders 
[2026-04-16 14:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:15:25] [INFO] Checking activity reminders 
[2026-04-16 14:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:15:55] [INFO] Checking activity reminders 
[2026-04-16 14:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:16:25] [INFO] Checking activity reminders 
[2026-04-16 14:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:16:55] [INFO] Checking activity reminders 
[2026-04-16 14:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:17:19] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20850","deal_id":"local_69e0a0830c8aa3.45349999","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 14:17:19","session_id":"jkt3kpmhacvba0odkmvmstee7g"}
[2026-04-16 14:17:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:17:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20850","is_new_deal":false}
[2026-04-16 14:17:19] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 14:17:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 14:17:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 14:17:19] [INFO] getContactPrimaryPhone called {"contact_id":"20850"}
[2026-04-16 14:17:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:17:19] [INFO] getContactPrimaryPhone result {"contact_id":"20850","person_found":true,"primary_phone":"9364784645"}
[2026-04-16 14:17:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9364784645"}
[2026-04-16 14:17:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9364784645","contact_id":"20850","deal_id":"local_69e0a0830c8aa3.45349999","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 14:17:19"}
[2026-04-16 14:17:19] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a0830c8aa3.45349999","contact_id":"20850","existing_deal_found":true,"existing_contact_id":"20850","existing_title":"معامله دوم 9364784645 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-16 14:17:19"}
[2026-04-16 14:17:19] [INFO] DealController.save validated payments {"deal_id":"local_69e0a0830c8aa3.45349999","contact_id":"20850","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 14:17:19] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20850","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-16 14:17:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a0830c8aa3.45349999","contact_didar_id":"20850","title":"معامله دوم 9364784645 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9364784645","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امین پارسا","existing_deal":"YES","existing_deal_id":"local_69e0a0830c8aa3.45349999","existing_deal_status":"Pending","server_time":"2026-04-16 14:17:19","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-16 14:17:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:17:19] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a0830c8aa3.45349999","contact_id":"20850","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9364784645 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-16 14:17:19","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 14:17:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:17:25] [INFO] Checking activity reminders 
[2026-04-16 14:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:17:55] [INFO] Checking activity reminders 
[2026-04-16 14:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:18:25] [INFO] Checking activity reminders 
[2026-04-16 14:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:18:54] [INFO] Activity save request {"post_data":{"contact_id":"20850","deal_id":"local_69e0a0830c8aa3.45349999","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خوی \r\nعینک سازی \r\nفقط خودرو برای علاقه ی خودش خرید داشته \r\nدر طلا و دلار هیچی سرمایه گذاری نکرده \r\nپرزنت کانال 405 \r\nاگاه سازی از شرایط کشور و بحران و امنیت در سرمایه گذار ی\r\nارسال لینک کانال در بله ","activity_duration":"12","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 14:18:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20850","note_was_empty":true}
[2026-04-16 14:18:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"20850","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:54] [INFO] Updating virtual stage {"contact_id":"20850","stage_name":"deal_registered","force":false}
[2026-04-16 14:18:54] [INFO] Virtual stage successfully saved {"contact_id":"20850","stage_name":"deal_registered"}
[2026-04-16 14:18:54] [INFO] Virtual stage updated after activity save {"contact_id":"20850"}
[2026-04-16 14:18:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0830c8aa3.45349999","stage":"تماس پیگیری","status_change":null}
[2026-04-16 14:18:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0be960ed805.94584757","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0be960ed805.94584757"}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:54] [INFO] Updating virtual stage {"contact_id":"20850","stage_name":"deal_registered","force":false}
[2026-04-16 14:18:54] [INFO] Virtual stage successfully saved {"contact_id":"20850","stage_name":"deal_registered"}
[2026-04-16 14:18:54] [INFO] Virtual stage updated after activity save {"contact_id":"20850"}
[2026-04-16 14:18:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20850","person_id":"10009"}
[2026-04-16 14:18:55] [INFO] Checking activity reminders 
[2026-04-16 14:18:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:18:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:19:26] [INFO] Checking activity reminders 
[2026-04-16 14:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:20:28] [INFO] Checking activity reminders 
[2026-04-16 14:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:20:58] [INFO] Checking activity reminders 
[2026-04-16 14:20:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:20:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:21:28] [INFO] Checking activity reminders 
[2026-04-16 14:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:21:58] [INFO] Checking activity reminders 
[2026-04-16 14:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:22:28] [INFO] Checking activity reminders 
[2026-04-16 14:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:22:58] [INFO] Checking activity reminders 
[2026-04-16 14:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:23:29] [INFO] Checking activity reminders 
[2026-04-16 14:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:25:54] [INFO] Checking activity reminders 
[2026-04-16 14:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:25:57] [INFO] Checking activity reminders 
[2026-04-16 14:25:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:25:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:26:01] [INFO] Checking activity reminders 
[2026-04-16 14:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:26:03] [INFO] Checking activity reminders 
[2026-04-16 14:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:26:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-16 14:26:33] [INFO] Checking activity reminders 
[2026-04-16 14:26:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:26:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:27:03] [INFO] Checking activity reminders 
[2026-04-16 14:27:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:27:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:27:34] [INFO] Checking activity reminders 
[2026-04-16 14:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:28:04] [INFO] Checking activity reminders 
[2026-04-16 14:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:28:34] [INFO] Checking activity reminders 
[2026-04-16 14:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:29:04] [INFO] Checking activity reminders 
[2026-04-16 14:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:29:30] [INFO] Checking activity reminders 
[2026-04-16 14:29:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:29:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:30:00] [INFO] Checking activity reminders 
[2026-04-16 14:30:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:30:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:30:30] [INFO] Checking activity reminders 
[2026-04-16 14:30:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:30:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:31:01] [INFO] Checking activity reminders 
[2026-04-16 14:31:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:31:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:31:31] [INFO] Checking activity reminders 
[2026-04-16 14:31:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:31:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:32:01] [INFO] Checking activity reminders 
[2026-04-16 14:32:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:32:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:32:31] [INFO] Checking activity reminders 
[2026-04-16 14:32:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:32:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:33:01] [INFO] Checking activity reminders 
[2026-04-16 14:33:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:33:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:33:31] [INFO] Checking activity reminders 
[2026-04-16 14:33:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:33:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:34:01] [INFO] Checking activity reminders 
[2026-04-16 14:34:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:34:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:34:32] [INFO] Checking activity reminders 
[2026-04-16 14:34:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:34:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:35:02] [INFO] Checking activity reminders 
[2026-04-16 14:35:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:35:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:35:32] [INFO] Checking activity reminders 
[2026-04-16 14:35:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:35:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:36:02] [INFO] Checking activity reminders 
[2026-04-16 14:36:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:36:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:36:32] [INFO] Checking activity reminders 
[2026-04-16 14:36:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:36:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:37:02] [INFO] Checking activity reminders 
[2026-04-16 14:37:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:37:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:37:32] [INFO] Checking activity reminders 
[2026-04-16 14:37:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:37:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:38:02] [INFO] Checking activity reminders 
[2026-04-16 14:38:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:38:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:38:32] [INFO] Checking activity reminders 
[2026-04-16 14:38:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:38:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:38:51] [INFO] Checking activity reminders 
[2026-04-16 14:38:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:38:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:38:55] [INFO] Checking activity reminders 
[2026-04-16 14:38:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:38:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:39:25] [INFO] Checking activity reminders 
[2026-04-16 14:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:39:55] [INFO] Checking activity reminders 
[2026-04-16 14:39:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:39:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:40:25] [INFO] Checking activity reminders 
[2026-04-16 14:40:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:40:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:40:55] [INFO] Checking activity reminders 
[2026-04-16 14:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:41:25] [INFO] Checking activity reminders 
[2026-04-16 14:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:41:55] [INFO] Checking activity reminders 
[2026-04-16 14:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:42:25] [INFO] Checking activity reminders 
[2026-04-16 14:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:42:55] [INFO] Checking activity reminders 
[2026-04-16 14:42:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:42:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:43:26] [INFO] Checking activity reminders 
[2026-04-16 14:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:43:56] [INFO] Checking activity reminders 
[2026-04-16 14:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:44:26] [INFO] Checking activity reminders 
[2026-04-16 14:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:44:56] [INFO] Checking activity reminders 
[2026-04-16 14:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:45:26] [INFO] Checking activity reminders 
[2026-04-16 14:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:45:56] [INFO] Checking activity reminders 
[2026-04-16 14:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:46:26] [INFO] Checking activity reminders 
[2026-04-16 14:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:46:56] [INFO] Checking activity reminders 
[2026-04-16 14:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:47:26] [INFO] Checking activity reminders 
[2026-04-16 14:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:47:56] [INFO] Checking activity reminders 
[2026-04-16 14:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:48:27] [INFO] Checking activity reminders 
[2026-04-16 14:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:49:08] [INFO] Checking activity reminders 
[2026-04-16 14:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:49:10] [INFO] Checking activity reminders 
[2026-04-16 14:49:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:49:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:49:17] [INFO] Checking activity reminders 
[2026-04-16 14:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:49:18] [INFO] Checking activity reminders 
[2026-04-16 14:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:49:49] [INFO] Checking activity reminders 
[2026-04-16 14:49:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:49:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:50:19] [INFO] Checking activity reminders 
[2026-04-16 14:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:54:25] [INFO] Checking activity reminders 
[2026-04-16 14:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:54:25] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:54:25] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:54:25] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"get_notifications"}
[2026-04-16 14:54:33] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:54:34] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-16 14:54:39] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:54:40] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-16 14:54:44] [WARNING] Auth check failed - not authenticated {"session_id":"mf7be34edavrl8t54tng4omqed","session_keys":[],"action":"log_client_event"}
[2026-04-16 14:54:45] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-16 14:54:45] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-16 14:54:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 14:54:45] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 14:54:45] [INFO] [DEBUG] getDidarUsers - Found users {"count":14,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1715","didar_user_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":"1"},{"id":"1716","didar_user_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":"1"}]}
[2026-04-16 14:54:45] [INFO] [DEBUG] getDidarUsers - Returning users {"count":14,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1715","owner_id":"local_04f5a5e34e341b7e","display_name":"test","email":"test@test.com","is_active":1},{"id":"1716","owner_id":"local_3534c8d92b81789f","display_name":"test2","email":"test2@test.com","is_active":1}]}
[2026-04-16 14:54:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:54:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:55:06] [INFO] Checking activity reminders 
[2026-04-16 14:55:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:55:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:55:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:55:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a18127fac5.10138531","person_id":"22175"}
[2026-04-16 14:55:53] [INFO] Checking activity reminders 
[2026-04-16 14:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:56:07] [INFO] Checking activity reminders 
[2026-04-16 14:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:56:35] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"17294","deal_id":"local_695d064a500c28.01554295","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 14:56:35","session_id":"mf7be34edavrl8t54tng4omqed"}
[2026-04-16 14:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:56:35] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"17294","is_new_deal":false}
[2026-04-16 14:56:35] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 14:56:35] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 14:56:35] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 14:56:35] [INFO] getContactPrimaryPhone called {"contact_id":"17294"}
[2026-04-16 14:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:56:35] [INFO] getContactPrimaryPhone result {"contact_id":"17294","person_found":true,"primary_phone":"9126893407"}
[2026-04-16 14:56:35] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126893407"}
[2026-04-16 14:56:35] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126893407","contact_id":"17294","deal_id":"local_695d064a500c28.01554295","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 14:56:35"}
[2026-04-16 14:56:35] [INFO] DealController.save existing deal lookup {"deal_id":"local_695d064a500c28.01554295","contact_id":"17294","existing_deal_found":true,"existing_contact_id":"17294","existing_title":"معامله دوم 9126893407 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 14:56:35"}
[2026-04-16 14:56:35] [INFO] DealController.save validated payments {"deal_id":"local_695d064a500c28.01554295","contact_id":"17294","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-16 14:56:35] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"17294","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 14:56:35] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695d064a500c28.01554295","contact_didar_id":"17294","title":"معامله دوم 9126893407 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9126893407","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":25000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"علیرضا خاجی","existing_deal":"YES","existing_deal_id":"local_695d064a500c28.01554295","existing_deal_status":"Pending","server_time":"2026-04-16 14:56:35","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 14:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:56:35] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695d064a500c28.01554295","contact_id":"17294","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9126893407 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":25000000,"server_time":"2026-04-16 14:56:35","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 14:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:56:39] [INFO] Checking activity reminders 
[2026-04-16 14:56:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:56:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:57:02] [INFO] Checking activity reminders 
[2026-04-16 14:57:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:57:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:57:20] [INFO] Checking activity reminders 
[2026-04-16 14:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:57:26] [INFO] Lead update received {"contact_id":"17294","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 14:57:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:57:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:57:26] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"17294"}
[2026-04-16 14:57:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-16 14:58:20] [INFO] Checking activity reminders 
[2026-04-16 14:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:58:26] [INFO] Checking activity reminders 
[2026-04-16 14:58:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:58:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 14:59:30] [INFO] Checking activity reminders 
[2026-04-16 14:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 14:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:00:00] [INFO] Checking activity reminders 
[2026-04-16 15:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:00:30] [INFO] Checking activity reminders 
[2026-04-16 15:00:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:00:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:01:00] [INFO] Checking activity reminders 
[2026-04-16 15:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:01:30] [INFO] Checking activity reminders 
[2026-04-16 15:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:02:00] [INFO] Checking activity reminders 
[2026-04-16 15:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:02:15] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 15:02:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:02:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"14","didar_user_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:02:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"14","owner_id":"ad481029-e5ae-4ec5-b0f3-d8c3bf205f26","display_name":"خانم اسلامی","email":"hanaficarrs9@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:02:46] [INFO] Checking activity reminders 
[2026-04-16 15:02:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:02:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:03:16] [INFO] Checking activity reminders 
[2026-04-16 15:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:03:47] [INFO] Checking activity reminders 
[2026-04-16 15:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:03:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e05689599.13254731","person_id":"21523"}
[2026-04-16 15:04:19] [INFO] Checking activity reminders 
[2026-04-16 15:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:04:49] [INFO] Checking activity reminders 
[2026-04-16 15:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:04:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e05689599.13254731","person_id":"21523"}
[2026-04-16 15:05:19] [INFO] Checking activity reminders 
[2026-04-16 15:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:05:49] [INFO] Checking activity reminders 
[2026-04-16 15:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:06:19] [INFO] Checking activity reminders 
[2026-04-16 15:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:06:49] [INFO] Checking activity reminders 
[2026-04-16 15:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:07:19] [INFO] Checking activity reminders 
[2026-04-16 15:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:51:43] [WARNING] Auth check failed - not authenticated {"session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9","session_keys":[],"action":"log_client_event"}
[2026-04-16 15:51:43] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-16 15:51:43] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-16 15:51:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 15:51:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:51:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"4","didar_user_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:51:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"4","owner_id":"be60addc-d481-4cb5-bd7b-716622147ae5","display_name":"خانم تاج‌الدین","email":"hanaficars.khodro4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:52:13] [INFO] Checking activity reminders 
[2026-04-16 15:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:52:43] [INFO] Checking activity reminders 
[2026-04-16 15:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:53:14] [INFO] Checking activity reminders 
[2026-04-16 15:53:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:53:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:53:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 15:53:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:53:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:53:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:54:30] [INFO] Checking activity reminders 
[2026-04-16 15:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:54:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_697897aaa47eb0.87826667","person_id":"21564"}
[2026-04-16 15:54:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_697897aaa47eb0.87826667","person_id":"21564"}
[2026-04-16 15:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_697897aaa47eb0.87826667","person_id":"21564"}
[2026-04-16 15:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_697897aaa47eb0.87826667","person_id":"21564"}
[2026-04-16 15:55:00] [INFO] Checking activity reminders 
[2026-04-16 15:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:55:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5440c9de2.23953312","person_id":"22004"}
[2026-04-16 15:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5440c9de2.23953312","person_id":"22004"}
[2026-04-16 15:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5440c9de2.23953312","person_id":"22004"}
[2026-04-16 15:55:30] [INFO] Checking activity reminders 
[2026-04-16 15:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:55:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 15:55:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:55:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:55:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:56:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:56:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:56:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:56:15] [INFO] Checking activity reminders 
[2026-04-16 15:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53ca6a1b9a3.18868862","person_id":"21834"}
[2026-04-16 15:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53ca6a1b9a3.18868862","person_id":"21834"}
[2026-04-16 15:56:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53ca6a1b9a3.18868862","person_id":"21834"}
[2026-04-16 15:56:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53ca6a1b9a3.18868862","person_id":"21834"}
[2026-04-16 15:56:45] [INFO] Checking activity reminders 
[2026-04-16 15:56:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:56:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:57:16] [INFO] Checking activity reminders 
[2026-04-16 15:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:57:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 15:57:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 15:57:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 15:57:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 15:58:03] [INFO] Checking activity reminders 
[2026-04-16 15:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:58:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e05689599.13254731","person_id":"21523"}
[2026-04-16 15:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e05689599.13254731","person_id":"21523"}
[2026-04-16 15:58:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0cbfc9c487.80685665","person_id":"21502"}
[2026-04-16 15:58:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0cbfc9c487.80685665","person_id":"21502"}
[2026-04-16 15:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c2fe06547.41566394","person_id":"21499"}
[2026-04-16 15:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c2fe06547.41566394","person_id":"21499"}
[2026-04-16 15:58:33] [INFO] Checking activity reminders 
[2026-04-16 15:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:58:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c0dcf4b66.05900566","person_id":"21498"}
[2026-04-16 15:58:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c0dcf4b66.05900566","person_id":"21498"}
[2026-04-16 15:58:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bd4b53661.59993253","person_id":"21496"}
[2026-04-16 15:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bd4b53661.59993253","person_id":"21496"}
[2026-04-16 15:59:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c9af13ba1.58410497","person_id":"21414"}
[2026-04-16 15:59:03] [INFO] Checking activity reminders 
[2026-04-16 15:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:59:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c9af13ba1.58410497","person_id":"21414"}
[2026-04-16 15:59:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ea5094714.92404461","person_id":"21421"}
[2026-04-16 15:59:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ea5094714.92404461","person_id":"21421"}
[2026-04-16 15:59:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f1184bd27.61986136","person_id":"21425"}
[2026-04-16 15:59:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f1184bd27.61986136","person_id":"21425"}
[2026-04-16 15:59:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f5c3222c2.23608819","person_id":"21427"}
[2026-04-16 15:59:34] [INFO] Checking activity reminders 
[2026-04-16 15:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 15:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 15:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f5c3222c2.23608819","person_id":"21427"}
[2026-04-16 15:59:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f889cf773.22489863","person_id":"21428"}
[2026-04-16 15:59:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f889cf773.22489863","person_id":"21428"}
[2026-04-16 15:59:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525fe5e4a284.73616870","person_id":"21431"}
[2026-04-16 15:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525fe5e4a284.73616870","person_id":"21431"}
[2026-04-16 16:00:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695260016652a5.72383732","person_id":"21432"}
[2026-04-16 16:00:04] [INFO] Checking activity reminders 
[2026-04-16 16:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:00:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695260016652a5.72383732","person_id":"21432"}
[2026-04-16 16:00:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6952604d1924f4.75576418","person_id":"21433"}
[2026-04-16 16:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6952604d1924f4.75576418","person_id":"21433"}
[2026-04-16 16:00:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526195e64e19.25686684","person_id":"21436"}
[2026-04-16 16:00:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526195e64e19.25686684","person_id":"21436"}
[2026-04-16 16:00:34] [INFO] Checking activity reminders 
[2026-04-16 16:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:00:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695261b5e43068.99016562","person_id":"21437"}
[2026-04-16 16:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695261b5e43068.99016562","person_id":"21437"}
[2026-04-16 16:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262c99868e3.64893193","person_id":"21439"}
[2026-04-16 16:00:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262c99868e3.64893193","person_id":"21439"}
[2026-04-16 16:00:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526303678818.61928662","person_id":"21442"}
[2026-04-16 16:01:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526303678818.61928662","person_id":"21442"}
[2026-04-16 16:01:04] [INFO] Checking activity reminders 
[2026-04-16 16:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:01:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6952632803b5d1.32793110","person_id":"21443"}
[2026-04-16 16:01:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6952632803b5d1.32793110","person_id":"21443"}
[2026-04-16 16:01:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695263631abaa2.38423449","person_id":"21445"}
[2026-04-16 16:01:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695263631abaa2.38423449","person_id":"21445"}
[2026-04-16 16:01:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526393aeda02.53083036","person_id":"21446"}
[2026-04-16 16:01:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526393aeda02.53083036","person_id":"21446"}
[2026-04-16 16:01:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528cd2273700.74362035","person_id":"21459"}
[2026-04-16 16:01:34] [INFO] Checking activity reminders 
[2026-04-16 16:01:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:01:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:01:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528cd2273700.74362035","person_id":"21459"}
[2026-04-16 16:01:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528cefc85d53.38619269","person_id":"21460"}
[2026-04-16 16:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528cefc85d53.38619269","person_id":"21460"}
[2026-04-16 16:01:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09dc4c4104.93534560","person_id":"21491"}
[2026-04-16 16:01:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09dc4c4104.93534560","person_id":"21491"}
[2026-04-16 16:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bb2ac8d17.93971673","person_id":"21495"}
[2026-04-16 16:02:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bb2ac8d17.93971673","person_id":"21495"}
[2026-04-16 16:02:04] [INFO] Checking activity reminders 
[2026-04-16 16:02:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:02:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953e5d0c24845.64938711","person_id":"21481"}
[2026-04-16 16:02:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09f88c2b57.01533736","person_id":"21492"}
[2026-04-16 16:02:35] [INFO] Checking activity reminders 
[2026-04-16 16:02:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:02:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:02:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c731c60e2.63392641","person_id":"21412"}
[2026-04-16 16:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c731c60e2.63392641","person_id":"21412"}
[2026-04-16 16:03:05] [INFO] Checking activity reminders 
[2026-04-16 16:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-16 16:03:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-16 16:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e7f53cd94.82059751","person_id":"21524"}
[2026-04-16 16:03:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695b9e7f53cd94.82059751","person_id":"21524"}
[2026-04-16 16:03:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a20613a4465.72039107","person_id":"21507"}
[2026-04-16 16:03:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a20613a4465.72039107","person_id":"21507"}
[2026-04-16 16:03:35] [INFO] Checking activity reminders 
[2026-04-16 16:03:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:03:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0ce4e80392.62446226","person_id":"21503"}
[2026-04-16 16:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0ce4e80392.62446226","person_id":"21503"}
[2026-04-16 16:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c6a15b359.13634761","person_id":"21501"}
[2026-04-16 16:03:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c6a15b359.13634761","person_id":"21501"}
[2026-04-16 16:03:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c52644d88.77034633","person_id":"21500"}
[2026-04-16 16:04:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0c52644d88.77034633","person_id":"21500"}
[2026-04-16 16:04:05] [INFO] Checking activity reminders 
[2026-04-16 16:04:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:04:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:04:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bf5bc0f85.24914512","person_id":"21497"}
[2026-04-16 16:04:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0bf5bc0f85.24914512","person_id":"21497"}
[2026-04-16 16:04:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09ba210004.84994599","person_id":"21490"}
[2026-04-16 16:04:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09ba210004.84994599","person_id":"21490"}
[2026-04-16 16:04:35] [INFO] Checking activity reminders 
[2026-04-16 16:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:05:05] [INFO] Checking activity reminders 
[2026-04-16 16:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:05:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c89575c95.39184072","person_id":"21413"}
[2026-04-16 16:05:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524c89575c95.39184072","person_id":"21413"}
[2026-04-16 16:05:35] [INFO] Checking activity reminders 
[2026-04-16 16:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-16 16:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-16 16:06:05] [INFO] Checking activity reminders 
[2026-04-16 16:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:06:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69527baea607b4.47048532","person_id":"21455"}
[2026-04-16 16:06:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69527baea607b4.47048532","person_id":"21455"}
[2026-04-16 16:06:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526347255604.98800880","person_id":"21444"}
[2026-04-16 16:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69526347255604.98800880","person_id":"21444"}
[2026-04-16 16:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262e5e9d5a0.52327148","person_id":"21441"}
[2026-04-16 16:06:36] [INFO] Checking activity reminders 
[2026-04-16 16:06:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:06:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:06:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262e5e9d5a0.52327148","person_id":"21441"}
[2026-04-16 16:06:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262a4139eb2.34217895","person_id":"21438"}
[2026-04-16 16:06:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695262a4139eb2.34217895","person_id":"21438"}
[2026-04-16 16:06:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695261310808c4.22093327","person_id":"21435"}
[2026-04-16 16:06:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695261310808c4.22093327","person_id":"21435"}
[2026-04-16 16:06:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695260db969506.11575691","person_id":"21434"}
[2026-04-16 16:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695260db969506.11575691","person_id":"21434"}
[2026-04-16 16:07:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525fa49a65f1.73637990","person_id":"21429"}
[2026-04-16 16:07:06] [INFO] Checking activity reminders 
[2026-04-16 16:07:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:07:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:07:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525fa49a65f1.73637990","person_id":"21429"}
[2026-04-16 16:07:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f3ef08b37.44832011","person_id":"21426"}
[2026-04-16 16:07:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f3ef08b37.44832011","person_id":"21426"}
[2026-04-16 16:07:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ed5103176.42874583","person_id":"21423"}
[2026-04-16 16:07:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ed5103176.42874583","person_id":"21423"}
[2026-04-16 16:09:08] [INFO] Checking activity reminders 
[2026-04-16 16:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:09:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ebd29b457.73907943","person_id":"21422"}
[2026-04-16 16:09:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525ebd29b457.73907943","person_id":"21422"}
[2026-04-16 16:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e8e2809a2.47329242","person_id":"21419"}
[2026-04-16 16:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e8e2809a2.47329242","person_id":"21419"}
[2026-04-16 16:09:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e77b9eec5.09392157","person_id":"21418"}
[2026-04-16 16:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e77b9eec5.09392157","person_id":"21418"}
[2026-04-16 16:09:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e62b13fa4.27019374","person_id":"21417"}
[2026-04-16 16:09:38] [INFO] Checking activity reminders 
[2026-04-16 16:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:09:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525e62b13fa4.27019374","person_id":"21417"}
[2026-04-16 16:09:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524cb3c9f115.14846166","person_id":"21415"}
[2026-04-16 16:09:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69524cb3c9f115.14846166","person_id":"21415"}
[2026-04-16 16:10:08] [INFO] Checking activity reminders 
[2026-04-16 16:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:10:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dd06416e7018.91427898","person_id":"22153"}
[2026-04-16 16:10:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dd06416e7018.91427898","person_id":"22153"}
[2026-04-16 16:10:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dd06416e7018.91427898","person_id":"22153"}
[2026-04-16 16:10:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69788862ab3508.52703220","person_id":"21563"}
[2026-04-16 16:10:39] [INFO] Checking activity reminders 
[2026-04-16 16:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69788862ab3508.52703220","person_id":"21563"}
[2026-04-16 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69788862ab3508.52703220","person_id":"21563"}
[2026-04-16 16:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69777deb053738.61188289","person_id":"21562"}
[2026-04-16 16:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69777deb053738.61188289","person_id":"21562"}
[2026-04-16 16:11:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69777deb053738.61188289","person_id":"21562"}
[2026-04-16 16:11:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69777deb053738.61188289","person_id":"21562"}
[2026-04-16 16:11:09] [INFO] Checking activity reminders 
[2026-04-16 16:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:11:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6977167c073401.47873331","person_id":"21561"}
[2026-04-16 16:11:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6977167c073401.47873331","person_id":"21561"}
[2026-04-16 16:11:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6977167c073401.47873331","person_id":"21561"}
[2026-04-16 16:11:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6977167c073401.47873331","person_id":"21561"}
[2026-04-16 16:11:39] [INFO] Checking activity reminders 
[2026-04-16 16:11:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:11:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:13:21] [INFO] Checking activity reminders 
[2026-04-16 16:13:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:13:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:30:32] [INFO] Checking activity reminders 
[2026-04-16 16:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:31:03] [INFO] Checking activity reminders 
[2026-04-16 16:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:31:33] [INFO] Checking activity reminders 
[2026-04-16 16:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:32:03] [INFO] Checking activity reminders 
[2026-04-16 16:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:32:49] [INFO] Checking activity reminders 
[2026-04-16 16:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:33:19] [INFO] Checking activity reminders 
[2026-04-16 16:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:34:02] [INFO] Checking activity reminders 
[2026-04-16 16:34:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:34:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:34:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:34:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:34:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:34:33] [INFO] Checking activity reminders 
[2026-04-16 16:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:34:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:34:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:34:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:35:03] [INFO] Checking activity reminders 
[2026-04-16 16:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:35:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21137","person_id":"18313"}
[2026-04-16 16:35:29] [INFO] Checking activity reminders 
[2026-04-16 16:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:35:44] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["2545656457"]}
[2026-04-16 16:35:44] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["2545656457"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-16 16:35:44] [INFO] Didar write disabled; creating local lead only {"owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","mobile":"2545656457","full_name":"لید جدید"}
[2026-04-16 16:35:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:35:44] [INFO] Notification created {"notification_id":"661","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","type":"lead_assigned","show_popup":true}
[2026-04-16 16:36:00] [WARNING] Auth check failed - not authenticated {"session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9","session_keys":[],"action":"log_client_event"}
[2026-04-16 16:36:01] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-16 16:36:01] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-16 16:36:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 16:36:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:36:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:36:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:36:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:36:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:36:31] [INFO] Checking activity reminders 
[2026-04-16 16:36:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:36:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:36:39] [INFO] Lead update received {"contact_id":"local_69e0dea8299194.75698416","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-16 16:36:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:36:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:36:39] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e0dea8299194.75698416"}
[2026-04-16 16:36:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:36:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:37:01] [INFO] Checking activity reminders 
[2026-04-16 16:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:38:34] [INFO] Checking activity reminders 
[2026-04-16 16:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:39:04] [INFO] Checking activity reminders 
[2026-04-16 16:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:39:34] [INFO] Checking activity reminders 
[2026-04-16 16:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:39:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_69e0dea8299194.75698416","deal_id":"local_69e0dea82b4c7","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 16:39:38","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 16:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:39:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_69e0dea8299194.75698416","is_new_deal":false}
[2026-04-16 16:39:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 16:39:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 16:39:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 16:39:38] [INFO] getContactPrimaryPhone called {"contact_id":"local_69e0dea8299194.75698416"}
[2026-04-16 16:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:39:38] [INFO] getContactPrimaryPhone result {"contact_id":"local_69e0dea8299194.75698416","person_found":true,"primary_phone":"2545656457"}
[2026-04-16 16:39:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"2545656457"}
[2026-04-16 16:39:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"2545656457","contact_id":"local_69e0dea8299194.75698416","deal_id":"local_69e0dea82b4c7","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 16:39:38"}
[2026-04-16 16:39:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0dea82b4c7","contact_id":"local_69e0dea8299194.75698416","existing_deal_found":true,"existing_contact_id":"local_69e0dea8299194.75698416","existing_title":"معامله اول 2545656457","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 16:39:38"}
[2026-04-16 16:39:38] [INFO] DealController.save validated payments {"deal_id":"local_69e0dea82b4c7","contact_id":"local_69e0dea8299194.75698416","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-16 16:39:38] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_id":"local_69e0dea8299194.75698416","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 16:39:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0dea82b4c7","contact_didar_id":"local_69e0dea8299194.75698416","title":"معامله اول 2545656457 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 2545656457","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":2000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_name":"امیر سهرابی","existing_deal":"YES","existing_deal_id":"local_69e0dea82b4c7","existing_deal_status":"Pending","server_time":"2026-04-16 16:39:38","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 16:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:39:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0dea82b4c7","contact_id":"local_69e0dea8299194.75698416","contact_owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 2545656457 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":2000000,"server_time":"2026-04-16 16:39:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 16:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:04] [INFO] Checking activity reminders 
[2026-04-16 16:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:40:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:34] [INFO] Checking activity reminders 
[2026-04-16 16:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:40:53] [INFO] Activity save request {"post_data":{"contact_id":"local_69e0dea8299194.75698416","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"لذبتالاتلتا","activity_duration":"12","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-16 16:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-16 16:40:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","database_didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_email":"hanaficarscoo@gmail.com","user_name":"امیر سهرابی ","ids_match":"yes","found_by":"didar_id"}
[2026-04-16 16:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"امیر سهرابی","contact_id":"local_69e0dea8299194.75698416","note_was_empty":true}
[2026-04-16 16:40:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e0dfddbc0753.30500318","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-16 16:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e0dfddbc0753.30500318"}
[2026-04-16 16:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:40:53] [INFO] Updating virtual stage {"contact_id":"local_69e0dea8299194.75698416","stage_name":"deal_registered","force":false}
[2026-04-16 16:40:53] [INFO] Virtual stage successfully saved {"contact_id":"local_69e0dea8299194.75698416","stage_name":"deal_registered"}
[2026-04-16 16:40:53] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e0dea8299194.75698416"}
[2026-04-16 16:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:41:05] [INFO] Checking activity reminders 
[2026-04-16 16:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:41:35] [INFO] Checking activity reminders 
[2026-04-16 16:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:42:05] [INFO] Checking activity reminders 
[2026-04-16 16:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:42:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:42:35] [INFO] Checking activity reminders 
[2026-04-16 16:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:43:05] [INFO] Checking activity reminders 
[2026-04-16 16:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:43:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-16 16:45:20] [INFO] Checking activity reminders 
[2026-04-16 16:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:45:25] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:45:25] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:45:25] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:45:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:45:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:45:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:45:52] [INFO] Checking activity reminders 
[2026-04-16 16:45:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:45:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:46:24] [INFO] Checking activity reminders 
[2026-04-16 16:46:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:46:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:46:54] [INFO] Checking activity reminders 
[2026-04-16 16:46:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:46:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:47:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:47:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:48:06] [INFO] Checking activity reminders 
[2026-04-16 16:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:48:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:48:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:48:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:48:36] [INFO] Checking activity reminders 
[2026-04-16 16:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:52:54] [INFO] Checking activity reminders 
[2026-04-16 16:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:53:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 16:53:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 16:53:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 16:53:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-16 16:53:25] [INFO] Checking activity reminders 
[2026-04-16 16:53:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:53:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:53:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-16 16:53:55] [INFO] Checking activity reminders 
[2026-04-16 16:53:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:53:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:54:25] [INFO] Checking activity reminders 
[2026-04-16 16:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:54:55] [INFO] Checking activity reminders 
[2026-04-16 16:54:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:54:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:55:25] [INFO] Checking activity reminders 
[2026-04-16 16:55:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:55:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:55:55] [INFO] Checking activity reminders 
[2026-04-16 16:55:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:55:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:56:25] [INFO] Checking activity reminders 
[2026-04-16 16:56:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:56:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:56:55] [INFO] Checking activity reminders 
[2026-04-16 16:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:57:26] [INFO] Checking activity reminders 
[2026-04-16 16:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:57:56] [INFO] Checking activity reminders 
[2026-04-16 16:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:58:26] [INFO] Checking activity reminders 
[2026-04-16 16:58:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:58:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:58:56] [INFO] Checking activity reminders 
[2026-04-16 16:58:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:58:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:59:26] [INFO] Checking activity reminders 
[2026-04-16 16:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 16:59:45] [INFO] Checking activity reminders 
[2026-04-16 16:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 16:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:00:15] [INFO] Checking activity reminders 
[2026-04-16 17:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:00:46] [INFO] Checking activity reminders 
[2026-04-16 17:00:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:00:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:01:16] [INFO] Checking activity reminders 
[2026-04-16 17:01:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:01:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:01:46] [INFO] Checking activity reminders 
[2026-04-16 17:01:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:01:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:02:16] [INFO] Checking activity reminders 
[2026-04-16 17:02:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:02:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:02:46] [INFO] Checking activity reminders 
[2026-04-16 17:02:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:02:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:03:16] [INFO] Checking activity reminders 
[2026-04-16 17:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:03:46] [INFO] Checking activity reminders 
[2026-04-16 17:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:04:16] [INFO] Checking activity reminders 
[2026-04-16 17:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:04:46] [INFO] Checking activity reminders 
[2026-04-16 17:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:05:16] [INFO] Checking activity reminders 
[2026-04-16 17:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:05:46] [INFO] Checking activity reminders 
[2026-04-16 17:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:06:16] [INFO] Checking activity reminders 
[2026-04-16 17:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:06:46] [INFO] Checking activity reminders 
[2026-04-16 17:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:07:17] [INFO] Checking activity reminders 
[2026-04-16 17:07:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:07:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:07:47] [INFO] Checking activity reminders 
[2026-04-16 17:07:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:07:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:08:17] [INFO] Checking activity reminders 
[2026-04-16 17:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:08:47] [INFO] Checking activity reminders 
[2026-04-16 17:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:09:17] [INFO] Checking activity reminders 
[2026-04-16 17:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:09:47] [INFO] Checking activity reminders 
[2026-04-16 17:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:10:17] [INFO] Checking activity reminders 
[2026-04-16 17:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:20:52] [INFO] Checking activity reminders 
[2026-04-16 17:20:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:20:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:20:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:20:54] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:20:54] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:20:54] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:21:05] [WARNING] Auth check failed - not authenticated {"session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9","session_keys":[],"action":"log_client_event"}
[2026-04-16 17:21:05] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-16 17:21:05] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-16 17:21:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:21:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:21:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:21:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:21:23] [INFO] Checking activity reminders 
[2026-04-16 17:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:23:02] [INFO] Checking activity reminders 
[2026-04-16 17:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:24:30] [INFO] Checking activity reminders 
[2026-04-16 17:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:25:00] [INFO] Checking activity reminders 
[2026-04-16 17:25:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:25:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:25:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7009","person_id":"16249"}
[2026-04-16 17:25:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7009","person_id":"16249"}
[2026-04-16 17:25:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20862","person_id":"17485"}
[2026-04-16 17:25:30] [INFO] Checking activity reminders 
[2026-04-16 17:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:25:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c9453d6d2d8.62956936","person_id":"21785"}
[2026-04-16 17:26:00] [INFO] Checking activity reminders 
[2026-04-16 17:26:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:26:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:26:30] [INFO] Checking activity reminders 
[2026-04-16 17:26:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:26:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:26:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_699c9453d6d2d8.62956936","deal_id":"local_695b90719bafb3.14687512","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:26:52","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c9453d6d2d8.62956936","person_id":"21785"}
[2026-04-16 17:26:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_699c9453d6d2d8.62956936","is_new_deal":false}
[2026-04-16 17:26:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:26:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:26:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:26:52] [INFO] getContactPrimaryPhone called {"contact_id":"local_699c9453d6d2d8.62956936"}
[2026-04-16 17:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c9453d6d2d8.62956936","person_id":"21785"}
[2026-04-16 17:26:52] [INFO] getContactPrimaryPhone result {"contact_id":"local_699c9453d6d2d8.62956936","person_found":true,"primary_phone":"9163433655"}
[2026-04-16 17:26:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9163433655"}
[2026-04-16 17:26:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9163433655","contact_id":"local_699c9453d6d2d8.62956936","deal_id":"local_695b90719bafb3.14687512","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:26:52"}
[2026-04-16 17:26:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b90719bafb3.14687512","contact_id":"local_699c9453d6d2d8.62956936","existing_deal_found":true,"existing_contact_id":"10252","existing_title":"معامله دوم 9132945938 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:26:52"}
[2026-04-16 17:26:52] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_695b90719bafb3.14687512","incoming_contact_id":"local_699c9453d6d2d8.62956936","existing_contact_id":"10252","incoming_title":"کانال VIP با پشتیبانی","requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:26:52"}
[2026-04-16 17:27:00] [INFO] Checking activity reminders 
[2026-04-16 17:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:27:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:27:07] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:27:07] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:27:07] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:27:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:27:37] [INFO] Checking activity reminders 
[2026-04-16 17:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:28:07] [INFO] Checking activity reminders 
[2026-04-16 17:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:28:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:28:37] [INFO] Checking activity reminders 
[2026-04-16 17:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:28:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"10252","deal_id":"local_695b90719bafb3.14687512","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:28:50","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:28:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:28:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"10252","is_new_deal":false}
[2026-04-16 17:28:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:28:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:28:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:28:50] [INFO] getContactPrimaryPhone called {"contact_id":"10252"}
[2026-04-16 17:28:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:28:50] [INFO] getContactPrimaryPhone result {"contact_id":"10252","person_found":true,"primary_phone":"9132945938"}
[2026-04-16 17:28:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132945938"}
[2026-04-16 17:28:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132945938","contact_id":"10252","deal_id":"local_695b90719bafb3.14687512","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:28:50"}
[2026-04-16 17:28:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","existing_deal_found":true,"existing_contact_id":"10252","existing_title":"معامله دوم 9132945938 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:28:50"}
[2026-04-16 17:28:50] [INFO] DealController.save validated payments {"deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:28:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"10252","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:28:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b90719bafb3.14687512","contact_didar_id":"10252","title":"معامله دوم 9132945938 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9132945938","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"پوریا صلصالی","existing_deal":"YES","existing_deal_id":"local_695b90719bafb3.14687512","existing_deal_status":"Pending","server_time":"2026-04-16 17:28:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:28:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:28:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9132945938 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:28:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:28:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:08] [INFO] Checking activity reminders 
[2026-04-16 17:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:29:38] [INFO] Checking activity reminders 
[2026-04-16 17:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:29:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"10252","deal_id":"local_695b90719bafb3.14687512","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:29:46","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"10252","is_new_deal":false}
[2026-04-16 17:29:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:29:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:29:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:29:46] [INFO] getContactPrimaryPhone called {"contact_id":"10252"}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:46] [INFO] getContactPrimaryPhone result {"contact_id":"10252","person_found":true,"primary_phone":"9132945938"}
[2026-04-16 17:29:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132945938"}
[2026-04-16 17:29:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132945938","contact_id":"10252","deal_id":"local_695b90719bafb3.14687512","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:29:46"}
[2026-04-16 17:29:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","existing_deal_found":true,"existing_contact_id":"10252","existing_title":"معامله دوم 9132945938 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:29:46"}
[2026-04-16 17:29:46] [INFO] DealController.save validated payments {"deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:29:46] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"10252","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:29:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b90719bafb3.14687512","contact_didar_id":"10252","title":"معامله دوم 9132945938 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9132945938","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"پوریا صلصالی","existing_deal":"YES","existing_deal_id":"local_695b90719bafb3.14687512","existing_deal_status":"Pending","server_time":"2026-04-16 17:29:46","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:46] [INFO] Deal success processed {"contact_id":"10252","person_name":"پوریا صلصالی","products_count":1}
[2026-04-16 17:29:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b90719bafb3.14687512","contact_id":"10252","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9132945938 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:29:46","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:29:46] [INFO] Updating virtual stage {"contact_id":"10252","stage_name":"with_purchase","force":true}
[2026-04-16 17:29:46] [INFO] Virtual stage successfully saved {"contact_id":"10252","stage_name":"with_purchase"}
[2026-04-16 17:29:46] [INFO] Moved contact out of kariz after successful deal {"contact_id":"10252","deal_id":"local_695b90719bafb3.14687512","target_stage":"with_purchase"}
[2026-04-16 17:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10252","person_id":"14006"}
[2026-04-16 17:30:08] [INFO] Checking activity reminders 
[2026-04-16 17:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:30:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:30:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:30:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:30:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:31:03] [INFO] Checking activity reminders 
[2026-04-16 17:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:31:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1151","person_id":"17627"}
[2026-04-16 17:31:33] [INFO] Checking activity reminders 
[2026-04-16 17:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1151","person_id":"17627"}
[2026-04-16 17:32:03] [INFO] Checking activity reminders 
[2026-04-16 17:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:32:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-16 17:32:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-16 17:32:27] [INFO] Updating virtual stage {"contact_id":"12467","stage_name":"with_purchase","force":true}
[2026-04-16 17:32:27] [INFO] Virtual stage successfully saved {"contact_id":"12467","stage_name":"with_purchase"}
[2026-04-16 17:32:27] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12467","deal_id":"local_69cccd09f38858.40869710","target_stage":"with_purchase"}
[2026-04-16 17:32:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-16 17:32:34] [INFO] Checking activity reminders 
[2026-04-16 17:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:32:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:33:04] [INFO] Checking activity reminders 
[2026-04-16 17:33:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:33:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:33:20] [INFO] Updating virtual stage {"contact_id":"7910","stage_name":"with_purchase","force":true}
[2026-04-16 17:33:20] [INFO] Virtual stage successfully saved {"contact_id":"7910","stage_name":"with_purchase"}
[2026-04-16 17:33:20] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7910","deal_id":"local_69d64de19866a6.12340319","target_stage":"with_purchase"}
[2026-04-16 17:33:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:33:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:33:34] [INFO] Checking activity reminders 
[2026-04-16 17:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:33:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:33:54] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:33:54] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:33:54] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:34:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:24] [INFO] Checking activity reminders 
[2026-04-16 17:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:34:26] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"5962","deal_id":"local_6950f897990d45.08412936","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:34:26","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"5962","is_new_deal":false}
[2026-04-16 17:34:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:34:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:34:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:34:26] [INFO] getContactPrimaryPhone called {"contact_id":"5962"}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:26] [INFO] getContactPrimaryPhone result {"contact_id":"5962","person_found":true,"primary_phone":"9151502270"}
[2026-04-16 17:34:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9151502270"}
[2026-04-16 17:34:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9151502270","contact_id":"5962","deal_id":"local_6950f897990d45.08412936","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:34:26"}
[2026-04-16 17:34:26] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f897990d45.08412936","contact_id":"5962","existing_deal_found":true,"existing_contact_id":"5962","existing_title":"معامله اول 9151502270 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:34:26"}
[2026-04-16 17:34:26] [INFO] DealController.save validated payments {"deal_id":"local_6950f897990d45.08412936","contact_id":"5962","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:34:26] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"local_3e2fc1c5b672c4f3","contact_id":"5962","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:34:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f897990d45.08412936","contact_didar_id":"5962","title":"معامله اول 9151502270 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9151502270","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"local_3e2fc1c5b672c4f3","contact_name":"دهنوی دهنوی","existing_deal":"YES","existing_deal_id":"local_6950f897990d45.08412936","existing_deal_status":"Pending","server_time":"2026-04-16 17:34:26","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:26] [INFO] Deal success processed {"contact_id":"5962","person_name":"دهنوی دهنوی","products_count":1}
[2026-04-16 17:34:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f897990d45.08412936","contact_id":"5962","contact_owner_id":"local_3e2fc1c5b672c4f3","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9151502270 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-16 17:34:26","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:26] [INFO] Updating virtual stage {"contact_id":"5962","stage_name":"with_purchase","force":true}
[2026-04-16 17:34:26] [INFO] Virtual stage successfully saved {"contact_id":"5962","stage_name":"with_purchase"}
[2026-04-16 17:34:26] [INFO] Moved contact out of kariz after successful deal {"contact_id":"5962","deal_id":"local_6950f897990d45.08412936","target_stage":"with_purchase"}
[2026-04-16 17:34:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-16 17:34:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:34:55] [INFO] Checking activity reminders 
[2026-04-16 17:34:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:34:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:35:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7910","deal_id":"local_6950f6aecb7c24.95743672","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:35:07","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:35:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7910","is_new_deal":false}
[2026-04-16 17:35:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:35:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:35:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:35:07] [INFO] getContactPrimaryPhone called {"contact_id":"7910"}
[2026-04-16 17:35:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:07] [INFO] getContactPrimaryPhone result {"contact_id":"7910","person_found":true,"primary_phone":"9122376799"}
[2026-04-16 17:35:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122376799"}
[2026-04-16 17:35:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122376799","contact_id":"7910","deal_id":"local_6950f6aecb7c24.95743672","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:35:07"}
[2026-04-16 17:35:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f6aecb7c24.95743672","contact_id":"7910","existing_deal_found":true,"existing_contact_id":"7910","existing_title":"معامله اول 9122376799 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:35:07"}
[2026-04-16 17:35:07] [INFO] DealController.save validated payments {"deal_id":"local_6950f6aecb7c24.95743672","contact_id":"7910","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:35:07] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"local_3e2fc1c5b672c4f3","contact_id":"7910","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:35:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f6aecb7c24.95743672","contact_didar_id":"7910","title":"معامله اول 9122376799 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9122376799","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"local_3e2fc1c5b672c4f3","contact_name":"اقای فرزاد نیا","existing_deal":"YES","existing_deal_id":"local_6950f6aecb7c24.95743672","existing_deal_status":"Pending","server_time":"2026-04-16 17:35:07","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:35:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:07] [INFO] Deal success processed {"contact_id":"7910","person_name":"اقای فرزاد نیا","products_count":1}
[2026-04-16 17:35:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f6aecb7c24.95743672","contact_id":"7910","contact_owner_id":"local_3e2fc1c5b672c4f3","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9122376799 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:35:07","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:35:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:07] [INFO] Updating virtual stage {"contact_id":"7910","stage_name":"with_purchase","force":true}
[2026-04-16 17:35:07] [INFO] Virtual stage successfully saved {"contact_id":"7910","stage_name":"with_purchase"}
[2026-04-16 17:35:07] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7910","deal_id":"local_6950f6aecb7c24.95743672","target_stage":"with_purchase"}
[2026-04-16 17:35:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-16 17:35:26] [INFO] Checking activity reminders 
[2026-04-16 17:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:35:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:35:56] [INFO] Checking activity reminders 
[2026-04-16 17:35:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:35:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:36:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"local_699c947020ec48.45521689","deal_id":"local_69b6b40f925515.29274086","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:36:01","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:36:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_699c947020ec48.45521689","is_new_deal":false}
[2026-04-16 17:36:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-16 17:36:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-16 17:36:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-16 17:36:01] [INFO] getContactPrimaryPhone called {"contact_id":"local_699c947020ec48.45521689"}
[2026-04-16 17:36:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:01] [INFO] getContactPrimaryPhone result {"contact_id":"local_699c947020ec48.45521689","person_found":true,"primary_phone":"9372282006"}
[2026-04-16 17:36:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9372282006"}
[2026-04-16 17:36:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9372282006","contact_id":"local_699c947020ec48.45521689","deal_id":"local_69b6b40f925515.29274086","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:36:01"}
[2026-04-16 17:36:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6b40f925515.29274086","contact_id":"local_699c947020ec48.45521689","existing_deal_found":true,"existing_contact_id":"local_699c947020ec48.45521689","existing_title":"معامله سوم 9372282006 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:36:01"}
[2026-04-16 17:36:01] [INFO] DealController.save validated payments {"deal_id":"local_69b6b40f925515.29274086","contact_id":"local_699c947020ec48.45521689","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:36:01] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_699c947020ec48.45521689","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:36:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6b40f925515.29274086","contact_didar_id":"local_699c947020ec48.45521689","title":"معامله سوم 9372282006 | کارشناسی حضوری","base_title_used":"معامله سوم 9372282006","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فتحی فتحی","existing_deal":"YES","existing_deal_id":"local_69b6b40f925515.29274086","existing_deal_status":"Pending","server_time":"2026-04-16 17:36:01","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:36:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:01] [INFO] Deal success processed {"contact_id":"local_699c947020ec48.45521689","person_name":"فتحی فتحی","products_count":1}
[2026-04-16 17:36:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6b40f925515.29274086","contact_id":"local_699c947020ec48.45521689","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9372282006 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 17:36:01","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:36:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:01] [INFO] Updating virtual stage {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase","force":true}
[2026-04-16 17:36:01] [INFO] Virtual stage successfully saved {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase"}
[2026-04-16 17:36:01] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_699c947020ec48.45521689","deal_id":"local_69b6b40f925515.29274086","target_stage":"with_purchase"}
[2026-04-16 17:36:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-16 17:36:14] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:36:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:36:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:36:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:36:44] [INFO] Checking activity reminders 
[2026-04-16 17:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:37:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4968","deal_id":"local_694ff6f4b3d178.25775626","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:37:00","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:37:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4968","is_new_deal":false}
[2026-04-16 17:37:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:00] [INFO] getContactPrimaryPhone called {"contact_id":"4968"}
[2026-04-16 17:37:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:00] [INFO] getContactPrimaryPhone result {"contact_id":"4968","person_found":true,"primary_phone":"9111329084"}
[2026-04-16 17:37:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111329084"}
[2026-04-16 17:37:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111329084","contact_id":"4968","deal_id":"local_694ff6f4b3d178.25775626","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:37:00"}
[2026-04-16 17:37:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","existing_deal_found":true,"existing_contact_id":"4968","existing_title":"معامله اول 9111329084 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:37:00"}
[2026-04-16 17:37:00] [INFO] DealController.save validated payments {"deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","payments_count":1,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-16 17:37:00] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"4968","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:37:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694ff6f4b3d178.25775626","contact_didar_id":"4968","title":"معامله اول 9111329084 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9111329084","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زیباکناری زیباکناری","existing_deal":"YES","existing_deal_id":"local_694ff6f4b3d178.25775626","existing_deal_status":"Pending","server_time":"2026-04-16 17:37:00","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:37:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9111329084 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:37:00","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:37:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:14] [INFO] Checking activity reminders 
[2026-04-16 17:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:37:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4968","deal_id":"local_694ff6f4b3d178.25775626","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:37:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4968","is_new_deal":false}
[2026-04-16 17:37:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:37:18] [INFO] getContactPrimaryPhone called {"contact_id":"4968"}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:18] [INFO] getContactPrimaryPhone result {"contact_id":"4968","person_found":true,"primary_phone":"9111329084"}
[2026-04-16 17:37:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111329084"}
[2026-04-16 17:37:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111329084","contact_id":"4968","deal_id":"local_694ff6f4b3d178.25775626","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:37:18"}
[2026-04-16 17:37:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","existing_deal_found":true,"existing_contact_id":"4968","existing_title":"معامله اول 9111329084 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:37:18"}
[2026-04-16 17:37:18] [INFO] DealController.save validated payments {"deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:37:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"4968","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:37:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694ff6f4b3d178.25775626","contact_didar_id":"4968","title":"معامله اول 9111329084 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9111329084","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زیباکناری زیباکناری","existing_deal":"YES","existing_deal_id":"local_694ff6f4b3d178.25775626","existing_deal_status":"Pending","server_time":"2026-04-16 17:37:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:18] [INFO] Deal success processed {"contact_id":"4968","person_name":"زیباکناری زیباکناری","products_count":1}
[2026-04-16 17:37:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694ff6f4b3d178.25775626","contact_id":"4968","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9111329084 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:37:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:18] [INFO] Updating virtual stage {"contact_id":"4968","stage_name":"with_purchase","force":true}
[2026-04-16 17:37:18] [INFO] Virtual stage successfully saved {"contact_id":"4968","stage_name":"with_purchase"}
[2026-04-16 17:37:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4968","deal_id":"local_694ff6f4b3d178.25775626","target_stage":"with_purchase"}
[2026-04-16 17:37:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4968","person_id":"11325"}
[2026-04-16 17:37:44] [INFO] Checking activity reminders 
[2026-04-16 17:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:38:15] [INFO] Checking activity reminders 
[2026-04-16 17:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:38:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9892","person_id":"4690"}
[2026-04-16 17:38:45] [INFO] Checking activity reminders 
[2026-04-16 17:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:39:15] [INFO] Checking activity reminders 
[2026-04-16 17:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:39:45] [INFO] Checking activity reminders 
[2026-04-16 17:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:39:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"15230","deal_id":"local_6942a32d4a54d6.44356908","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:40:10","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:40:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"15230","is_new_deal":false}
[2026-04-16 17:40:10] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:40:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:40:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:40:10] [INFO] getContactPrimaryPhone called {"contact_id":"15230"}
[2026-04-16 17:40:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:10] [INFO] getContactPrimaryPhone result {"contact_id":"15230","person_found":true,"primary_phone":"9128818859"}
[2026-04-16 17:40:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128818859"}
[2026-04-16 17:40:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128818859","contact_id":"15230","deal_id":"local_6942a32d4a54d6.44356908","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:10"}
[2026-04-16 17:40:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","existing_deal_found":true,"existing_contact_id":"15230","existing_title":"معامله اول 9128818859 | CIP، کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:10"}
[2026-04-16 17:40:10] [INFO] DealController.save validated payments {"deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","payments_count":1,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-16 17:40:10] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15230","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:40:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942a32d4a54d6.44356908","contact_didar_id":"15230","title":"معامله اول 9128818859 | CIP","base_title_used":"معامله اول 9128818859","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی جهانگیری","existing_deal":"YES","existing_deal_id":"local_6942a32d4a54d6.44356908","existing_deal_status":"Pending","server_time":"2026-04-16 17:40:10","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:40:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128818859 | CIP","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:40:10","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:40:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:15] [INFO] Checking activity reminders 
[2026-04-16 17:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:40:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"15230","deal_id":"local_6942a32d4a54d6.44356908","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:40:22","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"15230","is_new_deal":false}
[2026-04-16 17:40:22] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:40:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:40:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:40:22] [INFO] getContactPrimaryPhone called {"contact_id":"15230"}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:22] [INFO] getContactPrimaryPhone result {"contact_id":"15230","person_found":true,"primary_phone":"9128818859"}
[2026-04-16 17:40:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128818859"}
[2026-04-16 17:40:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128818859","contact_id":"15230","deal_id":"local_6942a32d4a54d6.44356908","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:22"}
[2026-04-16 17:40:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","existing_deal_found":true,"existing_contact_id":"15230","existing_title":"معامله اول 9128818859 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:22"}
[2026-04-16 17:40:22] [INFO] DealController.save validated payments {"deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:40:22] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15230","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:40:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942a32d4a54d6.44356908","contact_didar_id":"15230","title":"معامله اول 9128818859 | CIP","base_title_used":"معامله اول 9128818859","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی جهانگیری","existing_deal":"YES","existing_deal_id":"local_6942a32d4a54d6.44356908","existing_deal_status":"Pending","server_time":"2026-04-16 17:40:22","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:22] [INFO] Deal success processed {"contact_id":"15230","person_name":"مهدی جهانگیری","products_count":1}
[2026-04-16 17:40:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942a32d4a54d6.44356908","contact_id":"15230","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128818859 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:40:22","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:22] [INFO] Updating virtual stage {"contact_id":"15230","stage_name":"with_purchase","force":true}
[2026-04-16 17:40:22] [INFO] Virtual stage successfully saved {"contact_id":"15230","stage_name":"with_purchase"}
[2026-04-16 17:40:22] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15230","deal_id":"local_6942a32d4a54d6.44356908","target_stage":"with_purchase"}
[2026-04-16 17:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15230","deal_id":"local_69b7d4561ea9c6.29292052","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:40:44","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15230","is_new_deal":false}
[2026-04-16 17:40:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:40:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:40:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:40:44] [INFO] getContactPrimaryPhone called {"contact_id":"15230"}
[2026-04-16 17:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:44] [INFO] getContactPrimaryPhone result {"contact_id":"15230","person_found":true,"primary_phone":"9128818859"}
[2026-04-16 17:40:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128818859"}
[2026-04-16 17:40:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128818859","contact_id":"15230","deal_id":"local_69b7d4561ea9c6.29292052","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:44"}
[2026-04-16 17:40:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b7d4561ea9c6.29292052","contact_id":"15230","existing_deal_found":true,"existing_contact_id":"15230","existing_title":"معامله سوم 9128818859 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:40:44"}
[2026-04-16 17:40:44] [INFO] DealController.save validated payments {"deal_id":"local_69b7d4561ea9c6.29292052","contact_id":"15230","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:40:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15230","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:40:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b7d4561ea9c6.29292052","contact_didar_id":"15230","title":"معامله سوم 9128818859 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9128818859","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی جهانگیری","existing_deal":"YES","existing_deal_id":"local_69b7d4561ea9c6.29292052","existing_deal_status":"Pending","server_time":"2026-04-16 17:40:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:45] [INFO] Deal success processed {"contact_id":"15230","person_name":"مهدی جهانگیری","products_count":1}
[2026-04-16 17:40:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b7d4561ea9c6.29292052","contact_id":"15230","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9128818859 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:40:45","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:40:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:45] [INFO] Updating virtual stage {"contact_id":"15230","stage_name":"with_purchase","force":true}
[2026-04-16 17:40:45] [INFO] Virtual stage successfully saved {"contact_id":"15230","stage_name":"with_purchase"}
[2026-04-16 17:40:45] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15230","deal_id":"local_69b7d4561ea9c6.29292052","target_stage":"with_purchase"}
[2026-04-16 17:40:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15230","person_id":"19956"}
[2026-04-16 17:40:45] [INFO] Checking activity reminders 
[2026-04-16 17:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:40:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-16 17:41:15] [INFO] Checking activity reminders 
[2026-04-16 17:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:41:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:41:46] [INFO] Checking activity reminders 
[2026-04-16 17:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:42:16] [INFO] Checking activity reminders 
[2026-04-16 17:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:42:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"12500","deal_id":"local_6989b6e069c901.03661658","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:42:30","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:42:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:42:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"12500","is_new_deal":false}
[2026-04-16 17:42:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:30] [INFO] getContactPrimaryPhone called {"contact_id":"12500"}
[2026-04-16 17:42:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:42:30] [INFO] getContactPrimaryPhone result {"contact_id":"12500","person_found":true,"primary_phone":"9195601387"}
[2026-04-16 17:42:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9195601387"}
[2026-04-16 17:42:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9195601387","contact_id":"12500","deal_id":"local_6989b6e069c901.03661658","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:42:30"}
[2026-04-16 17:42:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_6989b6e069c901.03661658","contact_id":"12500","existing_deal_found":true,"existing_contact_id":"12500","existing_title":"معامله سوم 9195601387","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:42:30"}
[2026-04-16 17:42:30] [INFO] DealController.save validated payments {"deal_id":"local_6989b6e069c901.03661658","contact_id":"12500","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 17:42:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"12500","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:42:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6989b6e069c901.03661658","contact_didar_id":"12500","title":"معامله سوم 9195601387 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9195601387","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی موسی بیگ","existing_deal":"YES","existing_deal_id":"local_6989b6e069c901.03661658","existing_deal_status":"Pending","server_time":"2026-04-16 17:42:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:42:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:42:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6989b6e069c901.03661658","contact_id":"12500","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9195601387 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-16 17:42:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:42:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12500","person_id":"1309"}
[2026-04-16 17:42:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699402d9e4bcd0.87084152","person_id":"21710"}
[2026-04-16 17:42:46] [INFO] Checking activity reminders 
[2026-04-16 17:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:42:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_699402d9e4bcd0.87084152","deal_id":"local_699402d9e8e93","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:42:55","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699402d9e4bcd0.87084152","person_id":"21710"}
[2026-04-16 17:42:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_699402d9e4bcd0.87084152","is_new_deal":false}
[2026-04-16 17:42:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:42:55] [INFO] getContactPrimaryPhone called {"contact_id":"local_699402d9e4bcd0.87084152"}
[2026-04-16 17:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699402d9e4bcd0.87084152","person_id":"21710"}
[2026-04-16 17:42:55] [INFO] getContactPrimaryPhone result {"contact_id":"local_699402d9e4bcd0.87084152","person_found":true,"primary_phone":"9301304363"}
[2026-04-16 17:42:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9301304363"}
[2026-04-16 17:42:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9301304363","contact_id":"local_699402d9e4bcd0.87084152","deal_id":"local_699402d9e8e93","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:42:55"}
[2026-04-16 17:42:55] [INFO] DealController.save existing deal lookup {"deal_id":"local_699402d9e8e93","contact_id":"local_699402d9e4bcd0.87084152","existing_deal_found":true,"existing_contact_id":"local_699402d9e4bcd0.87084152","existing_title":"معامله اول 9301304363","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:42:55"}
[2026-04-16 17:42:55] [INFO] DealController.save validated payments {"deal_id":"local_699402d9e8e93","contact_id":"local_699402d9e4bcd0.87084152","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-16 17:42:55] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_699402d9e4bcd0.87084152","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:42:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699402d9e8e93","contact_didar_id":"local_699402d9e4bcd0.87084152","title":"معامله اول 9301304363 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9301304363","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"تولایی تولایی","existing_deal":"YES","existing_deal_id":"local_699402d9e8e93","existing_deal_status":"Pending","server_time":"2026-04-16 17:42:55","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699402d9e4bcd0.87084152","person_id":"21710"}
[2026-04-16 17:42:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699402d9e8e93","contact_id":"local_699402d9e4bcd0.87084152","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9301304363 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-16 17:42:55","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699402d9e4bcd0.87084152","person_id":"21710"}
[2026-04-16 17:42:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"21527","deal_id":"local_6943b6d8e0dcc0.53648562","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:43:12","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"21527","is_new_deal":false}
[2026-04-16 17:43:12] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:43:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:43:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:43:12] [INFO] getContactPrimaryPhone called {"contact_id":"21527"}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [INFO] getContactPrimaryPhone result {"contact_id":"21527","person_found":true,"primary_phone":"9161129298"}
[2026-04-16 17:43:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9161129298"}
[2026-04-16 17:43:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9161129298","contact_id":"21527","deal_id":"local_6943b6d8e0dcc0.53648562","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:43:12"}
[2026-04-16 17:43:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943b6d8e0dcc0.53648562","contact_id":"21527","existing_deal_found":true,"existing_contact_id":"21527","existing_title":"معامله اول 9161129298 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:43:12"}
[2026-04-16 17:43:12] [INFO] DealController.save validated payments {"deal_id":"local_6943b6d8e0dcc0.53648562","contact_id":"21527","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:43:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21527","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:43:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943b6d8e0dcc0.53648562","contact_didar_id":"21527","title":"معامله اول 9161129298 | CIP","base_title_used":"معامله اول 9161129298","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مسعود امامی","existing_deal":"YES","existing_deal_id":"local_6943b6d8e0dcc0.53648562","existing_deal_status":"Pending","server_time":"2026-04-16 17:43:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [INFO] Deal success processed {"contact_id":"21527","person_name":"مسعود امامی","products_count":1}
[2026-04-16 17:43:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943b6d8e0dcc0.53648562","contact_id":"21527","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9161129298 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:43:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:12] [INFO] Updating virtual stage {"contact_id":"21527","stage_name":"with_purchase","force":true}
[2026-04-16 17:43:12] [INFO] Virtual stage successfully saved {"contact_id":"21527","stage_name":"with_purchase"}
[2026-04-16 17:43:12] [INFO] Moved contact out of kariz after successful deal {"contact_id":"21527","deal_id":"local_6943b6d8e0dcc0.53648562","target_stage":"with_purchase"}
[2026-04-16 17:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:16] [INFO] Checking activity reminders 
[2026-04-16 17:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:43:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-16 17:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:46] [INFO] Checking activity reminders 
[2026-04-16 17:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:43:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3907","deal_id":"local_69da84e21cbd44.03023468","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:43:51","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3907","is_new_deal":false}
[2026-04-16 17:43:51] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:43:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:43:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:43:51] [INFO] getContactPrimaryPhone called {"contact_id":"3907"}
[2026-04-16 17:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:51] [INFO] getContactPrimaryPhone result {"contact_id":"3907","person_found":true,"primary_phone":"9129159131"}
[2026-04-16 17:43:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129159131"}
[2026-04-16 17:43:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129159131","contact_id":"3907","deal_id":"local_69da84e21cbd44.03023468","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:43:51"}
[2026-04-16 17:43:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_69da84e21cbd44.03023468","contact_id":"3907","existing_deal_found":true,"existing_contact_id":"3907","existing_title":"معامله دوم 9129159131 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:43:51"}
[2026-04-16 17:43:51] [INFO] DealController.save validated payments {"deal_id":"local_69da84e21cbd44.03023468","contact_id":"3907","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:43:51] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3907","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:43:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69da84e21cbd44.03023468","contact_didar_id":"3907","title":"معامله دوم 9129159131 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9129159131","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سجاد سیرجانی","existing_deal":"YES","existing_deal_id":"local_69da84e21cbd44.03023468","existing_deal_status":"Pending","server_time":"2026-04-16 17:43:51","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:51] [INFO] Deal success processed {"contact_id":"3907","person_name":"سجاد سیرجانی","products_count":1}
[2026-04-16 17:43:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69da84e21cbd44.03023468","contact_id":"3907","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9129159131 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:43:51","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:43:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:51] [INFO] Updating virtual stage {"contact_id":"3907","stage_name":"with_purchase","force":true}
[2026-04-16 17:43:51] [INFO] Virtual stage successfully saved {"contact_id":"3907","stage_name":"with_purchase"}
[2026-04-16 17:43:51] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3907","deal_id":"local_69da84e21cbd44.03023468","target_stage":"with_purchase"}
[2026-04-16 17:43:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-16 17:43:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:16] [INFO] Checking activity reminders 
[2026-04-16 17:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:44:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1584","deal_id":"local_69b72fa0d9ec89.35266337","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:44:30","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1584","is_new_deal":false}
[2026-04-16 17:44:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:44:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:44:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:44:30] [INFO] getContactPrimaryPhone called {"contact_id":"1584"}
[2026-04-16 17:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:30] [INFO] getContactPrimaryPhone result {"contact_id":"1584","person_found":true,"primary_phone":"9102429707"}
[2026-04-16 17:44:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102429707"}
[2026-04-16 17:44:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102429707","contact_id":"1584","deal_id":"local_69b72fa0d9ec89.35266337","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:44:30"}
[2026-04-16 17:44:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b72fa0d9ec89.35266337","contact_id":"1584","existing_deal_found":true,"existing_contact_id":"1584","existing_title":"معامله سوم 9102429707 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:44:30"}
[2026-04-16 17:44:30] [INFO] DealController.save validated payments {"deal_id":"local_69b72fa0d9ec89.35266337","contact_id":"1584","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:44:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1584","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:44:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b72fa0d9ec89.35266337","contact_didar_id":"1584","title":"معامله سوم 9102429707 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9102429707","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رحیم آقا زاده","existing_deal":"YES","existing_deal_id":"local_69b72fa0d9ec89.35266337","existing_deal_status":"Pending","server_time":"2026-04-16 17:44:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:30] [INFO] Deal success processed {"contact_id":"1584","person_name":"رحیم آقا زاده","products_count":1}
[2026-04-16 17:44:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b72fa0d9ec89.35266337","contact_id":"1584","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9102429707 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:44:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:30] [INFO] Updating virtual stage {"contact_id":"1584","stage_name":"with_purchase","force":true}
[2026-04-16 17:44:30] [INFO] Virtual stage successfully saved {"contact_id":"1584","stage_name":"with_purchase"}
[2026-04-16 17:44:30] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1584","deal_id":"local_69b72fa0d9ec89.35266337","target_stage":"with_purchase"}
[2026-04-16 17:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-16 17:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:44:47] [INFO] Checking activity reminders 
[2026-04-16 17:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:45:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8967","deal_id":"local_694a942326c3b2.34659195","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:45:04","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8967","is_new_deal":false}
[2026-04-16 17:45:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:45:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:45:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:45:04] [INFO] getContactPrimaryPhone called {"contact_id":"8967"}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:04] [INFO] getContactPrimaryPhone result {"contact_id":"8967","person_found":true,"primary_phone":"9129156300"}
[2026-04-16 17:45:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129156300"}
[2026-04-16 17:45:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129156300","contact_id":"8967","deal_id":"local_694a942326c3b2.34659195","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:04"}
[2026-04-16 17:45:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a942326c3b2.34659195","contact_id":"8967","existing_deal_found":true,"existing_contact_id":"8967","existing_title":"معامله اول 9129156300 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:04"}
[2026-04-16 17:45:04] [INFO] DealController.save validated payments {"deal_id":"local_694a942326c3b2.34659195","contact_id":"8967","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:45:04] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"8967","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:45:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a942326c3b2.34659195","contact_didar_id":"8967","title":"معامله اول 9129156300 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9129156300","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مجتبی کریمی","existing_deal":"YES","existing_deal_id":"local_694a942326c3b2.34659195","existing_deal_status":"Pending","server_time":"2026-04-16 17:45:04","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:04] [INFO] Deal success processed {"contact_id":"8967","person_name":"مجتبی کریمی","products_count":1}
[2026-04-16 17:45:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a942326c3b2.34659195","contact_id":"8967","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9129156300 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:45:04","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:04] [INFO] Updating virtual stage {"contact_id":"8967","stage_name":"with_purchase","force":true}
[2026-04-16 17:45:04] [INFO] Virtual stage successfully saved {"contact_id":"8967","stage_name":"with_purchase"}
[2026-04-16 17:45:04] [INFO] Moved contact out of kariz after successful deal {"contact_id":"8967","deal_id":"local_694a942326c3b2.34659195","target_stage":"with_purchase"}
[2026-04-16 17:45:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-16 17:45:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:17] [INFO] Checking activity reminders 
[2026-04-16 17:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:45:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5334","deal_id":"local_69b1745d5f25f6.43254270","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:45:38","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:45:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5334","is_new_deal":false}
[2026-04-16 17:45:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:38] [INFO] getContactPrimaryPhone called {"contact_id":"5334"}
[2026-04-16 17:45:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:38] [INFO] getContactPrimaryPhone result {"contact_id":"5334","person_found":true,"primary_phone":"9033577801"}
[2026-04-16 17:45:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9033577801"}
[2026-04-16 17:45:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9033577801","contact_id":"5334","deal_id":"local_69b1745d5f25f6.43254270","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:38"}
[2026-04-16 17:45:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","existing_deal_found":true,"existing_contact_id":"5334","existing_title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی، کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:38"}
[2026-04-16 17:45:38] [INFO] DealController.save validated payments {"deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","payments_count":3,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:45:38] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5334","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:45:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b1745d5f25f6.43254270","contact_didar_id":"5334","title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9033577801","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فرشید کیهانی","existing_deal":"YES","existing_deal_id":"local_69b1745d5f25f6.43254270","existing_deal_status":"Pending","server_time":"2026-04-16 17:45:38","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:45:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-16 17:45:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:45:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:47] [INFO] Checking activity reminders 
[2026-04-16 17:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:45:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5334","deal_id":"local_69b1745d5f25f6.43254270","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:45:50","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5334","is_new_deal":false}
[2026-04-16 17:45:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:45:50] [INFO] getContactPrimaryPhone called {"contact_id":"5334"}
[2026-04-16 17:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:50] [INFO] getContactPrimaryPhone result {"contact_id":"5334","person_found":true,"primary_phone":"9033577801"}
[2026-04-16 17:45:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9033577801"}
[2026-04-16 17:45:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9033577801","contact_id":"5334","deal_id":"local_69b1745d5f25f6.43254270","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:50"}
[2026-04-16 17:45:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","existing_deal_found":true,"existing_contact_id":"5334","existing_title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:45:50"}
[2026-04-16 17:45:50] [INFO] DealController.save validated payments {"deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:45:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5334","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:45:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b1745d5f25f6.43254270","contact_didar_id":"5334","title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9033577801","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فرشید کیهانی","existing_deal":"YES","existing_deal_id":"local_69b1745d5f25f6.43254270","existing_deal_status":"Pending","server_time":"2026-04-16 17:45:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:50] [INFO] Deal success processed {"contact_id":"5334","person_name":"فرشید کیهانی","products_count":1}
[2026-04-16 17:45:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b1745d5f25f6.43254270","contact_id":"5334","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9033577801 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-16 17:45:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:45:50] [INFO] Updating virtual stage {"contact_id":"5334","stage_name":"with_purchase","force":true}
[2026-04-16 17:45:50] [INFO] Virtual stage successfully saved {"contact_id":"5334","stage_name":"with_purchase"}
[2026-04-16 17:45:50] [INFO] Moved contact out of kariz after successful deal {"contact_id":"5334","deal_id":"local_69b1745d5f25f6.43254270","target_stage":"with_purchase"}
[2026-04-16 17:45:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-16 17:46:41] [INFO] Checking activity reminders 
[2026-04-16 17:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:46:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"11341","deal_id":"local_69cd2209ba6816.83241099","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:47:06","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"11341","is_new_deal":false}
[2026-04-16 17:47:06] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:47:06] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:47:06] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:47:06] [INFO] getContactPrimaryPhone called {"contact_id":"11341"}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [INFO] getContactPrimaryPhone result {"contact_id":"11341","person_found":true,"primary_phone":"9122483474"}
[2026-04-16 17:47:06] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122483474"}
[2026-04-16 17:47:06] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122483474","contact_id":"11341","deal_id":"local_69cd2209ba6816.83241099","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:06"}
[2026-04-16 17:47:06] [INFO] DealController.save existing deal lookup {"deal_id":"local_69cd2209ba6816.83241099","contact_id":"11341","existing_deal_found":true,"existing_contact_id":"11341","existing_title":"معامله دوم 9122483474 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:06"}
[2026-04-16 17:47:06] [INFO] DealController.save validated payments {"deal_id":"local_69cd2209ba6816.83241099","contact_id":"11341","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:47:06] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11341","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:47:06] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69cd2209ba6816.83241099","contact_didar_id":"11341","title":"معامله دوم 9122483474 | CIP","base_title_used":"معامله دوم 9122483474","services_text":"CIP","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اکبری","existing_deal":"YES","existing_deal_id":"local_69cd2209ba6816.83241099","existing_deal_status":"Pending","server_time":"2026-04-16 17:47:06","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [INFO] Deal success processed {"contact_id":"11341","person_name":"اکبری","products_count":1}
[2026-04-16 17:47:06] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69cd2209ba6816.83241099","contact_id":"11341","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9122483474 | CIP","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:47:06","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:06] [INFO] Updating virtual stage {"contact_id":"11341","stage_name":"with_purchase","force":true}
[2026-04-16 17:47:06] [INFO] Virtual stage successfully saved {"contact_id":"11341","stage_name":"with_purchase"}
[2026-04-16 17:47:06] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11341","deal_id":"local_69cd2209ba6816.83241099","target_stage":"with_purchase"}
[2026-04-16 17:47:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-16 17:47:11] [INFO] Checking activity reminders 
[2026-04-16 17:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:47:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11284","deal_id":"local_69cd21105df615.24317335","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:47:37","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11284","is_new_deal":false}
[2026-04-16 17:47:37] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:47:37] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:47:37] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:47:37] [INFO] getContactPrimaryPhone called {"contact_id":"11284"}
[2026-04-16 17:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [INFO] getContactPrimaryPhone result {"contact_id":"11284","person_found":true,"primary_phone":"9112741753"}
[2026-04-16 17:47:37] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9112741753"}
[2026-04-16 17:47:37] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9112741753","contact_id":"11284","deal_id":"local_69cd21105df615.24317335","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:37"}
[2026-04-16 17:47:37] [INFO] DealController.save existing deal lookup {"deal_id":"local_69cd21105df615.24317335","contact_id":"11284","existing_deal_found":true,"existing_contact_id":"11284","existing_title":"معامله دوم 9112741753 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:37"}
[2026-04-16 17:47:37] [INFO] DealController.save validated payments {"deal_id":"local_69cd21105df615.24317335","contact_id":"11284","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:47:37] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11284","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:47:37] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69cd21105df615.24317335","contact_didar_id":"11284","title":"معامله دوم 9112741753 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9112741753","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سارلی","existing_deal":"YES","existing_deal_id":"local_69cd21105df615.24317335","existing_deal_status":"Pending","server_time":"2026-04-16 17:47:37","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [INFO] Deal success processed {"contact_id":"11284","person_name":"سارلی","products_count":1}
[2026-04-16 17:47:37] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69cd21105df615.24317335","contact_id":"11284","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9112741753 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:47:37","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:37] [INFO] Updating virtual stage {"contact_id":"11284","stage_name":"with_purchase","force":true}
[2026-04-16 17:47:37] [INFO] Virtual stage successfully saved {"contact_id":"11284","stage_name":"with_purchase"}
[2026-04-16 17:47:37] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11284","deal_id":"local_69cd21105df615.24317335","target_stage":"with_purchase"}
[2026-04-16 17:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:41] [INFO] Checking activity reminders 
[2026-04-16 17:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:47:53] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"11284","deal_id":"local_69cd218a8b7e13.37613878","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:47:53","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:53] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"11284","is_new_deal":false}
[2026-04-16 17:47:53] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:47:53] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:47:53] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:47:53] [INFO] getContactPrimaryPhone called {"contact_id":"11284"}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:53] [INFO] getContactPrimaryPhone result {"contact_id":"11284","person_found":true,"primary_phone":"9112741753"}
[2026-04-16 17:47:53] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9112741753"}
[2026-04-16 17:47:53] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9112741753","contact_id":"11284","deal_id":"local_69cd218a8b7e13.37613878","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:53"}
[2026-04-16 17:47:53] [INFO] DealController.save existing deal lookup {"deal_id":"local_69cd218a8b7e13.37613878","contact_id":"11284","existing_deal_found":true,"existing_contact_id":"11284","existing_title":"معامله سوم 9112741753 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:47:53"}
[2026-04-16 17:47:53] [INFO] DealController.save validated payments {"deal_id":"local_69cd218a8b7e13.37613878","contact_id":"11284","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:47:53] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11284","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:47:53] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69cd218a8b7e13.37613878","contact_didar_id":"11284","title":"معامله سوم 9112741753 | CIP","base_title_used":"معامله سوم 9112741753","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سارلی","existing_deal":"YES","existing_deal_id":"local_69cd218a8b7e13.37613878","existing_deal_status":"Pending","server_time":"2026-04-16 17:47:53","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:53] [INFO] Deal success processed {"contact_id":"11284","person_name":"سارلی","products_count":1}
[2026-04-16 17:47:53] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69cd218a8b7e13.37613878","contact_id":"11284","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9112741753 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:47:53","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:47:53] [INFO] Updating virtual stage {"contact_id":"11284","stage_name":"with_purchase","force":true}
[2026-04-16 17:47:53] [INFO] Virtual stage successfully saved {"contact_id":"11284","stage_name":"with_purchase"}
[2026-04-16 17:47:53] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11284","deal_id":"local_69cd218a8b7e13.37613878","target_stage":"with_purchase"}
[2026-04-16 17:47:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-16 17:48:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:12] [INFO] Checking activity reminders 
[2026-04-16 17:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:48:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20546","deal_id":"local_694a9bf3a9a3b0.14870802","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:48:14","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20546","is_new_deal":false}
[2026-04-16 17:48:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:48:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:48:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-16 17:48:14] [INFO] getContactPrimaryPhone called {"contact_id":"20546"}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:14] [INFO] getContactPrimaryPhone result {"contact_id":"20546","person_found":true,"primary_phone":"9122718955"}
[2026-04-16 17:48:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122718955"}
[2026-04-16 17:48:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122718955","contact_id":"20546","deal_id":"local_694a9bf3a9a3b0.14870802","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:48:14"}
[2026-04-16 17:48:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a9bf3a9a3b0.14870802","contact_id":"20546","existing_deal_found":true,"existing_contact_id":"20546","existing_title":"معامله اول 9122718955 | کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:48:14"}
[2026-04-16 17:48:14] [INFO] DealController.save validated payments {"deal_id":"local_694a9bf3a9a3b0.14870802","contact_id":"20546","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:48:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20546","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:48:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a9bf3a9a3b0.14870802","contact_didar_id":"20546","title":"معامله اول 9122718955 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9122718955","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"آزاد","existing_deal":"YES","existing_deal_id":"local_694a9bf3a9a3b0.14870802","existing_deal_status":"Pending","server_time":"2026-04-16 17:48:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:14] [INFO] Deal success processed {"contact_id":"20546","person_name":"آزاد","products_count":1}
[2026-04-16 17:48:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a9bf3a9a3b0.14870802","contact_id":"20546","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9122718955 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-16 17:48:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:14] [INFO] Updating virtual stage {"contact_id":"20546","stage_name":"with_purchase","force":true}
[2026-04-16 17:48:14] [INFO] Virtual stage successfully saved {"contact_id":"20546","stage_name":"with_purchase"}
[2026-04-16 17:48:14] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20546","deal_id":"local_694a9bf3a9a3b0.14870802","target_stage":"with_purchase"}
[2026-04-16 17:48:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20546","deal_id":"local_695b90432886d8.15744586","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:48:33","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:48:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20546","is_new_deal":false}
[2026-04-16 17:48:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:48:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:48:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:48:33] [INFO] getContactPrimaryPhone called {"contact_id":"20546"}
[2026-04-16 17:48:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-16 17:48:33] [INFO] getContactPrimaryPhone result {"contact_id":"20546","person_found":true,"primary_phone":"9122718955"}
[2026-04-16 17:48:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122718955"}
[2026-04-16 17:48:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122718955","contact_id":"20546","deal_id":"local_695b90432886d8.15744586","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:48:33"}
[2026-04-16 17:48:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b90432886d8.15744586","contact_id":"20546","existing_deal_found":true,"existing_contact_id":"11242","existing_title":"معامله دوم 9134628582 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:48:33"}
[2026-04-16 17:48:33] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_695b90432886d8.15744586","incoming_contact_id":"20546","existing_contact_id":"11242","incoming_title":"کانال VIP با پشتیبانی","requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:48:33"}
[2026-04-16 17:48:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:48:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:48:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:48:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:49:13] [INFO] Checking activity reminders 
[2026-04-16 17:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:49:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11242","deal_id":"local_695b90432886d8.15744586","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:49:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:49:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-16 17:49:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11242","is_new_deal":false}
[2026-04-16 17:49:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:18] [INFO] getContactPrimaryPhone called {"contact_id":"11242"}
[2026-04-16 17:49:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-16 17:49:18] [INFO] getContactPrimaryPhone result {"contact_id":"11242","person_found":true,"primary_phone":"9134628582"}
[2026-04-16 17:49:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134628582"}
[2026-04-16 17:49:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134628582","contact_id":"11242","deal_id":"local_695b90432886d8.15744586","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:49:18"}
[2026-04-16 17:49:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b90432886d8.15744586","contact_id":"11242","existing_deal_found":true,"existing_contact_id":"11242","existing_title":"معامله دوم 9134628582 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:49:18"}
[2026-04-16 17:49:18] [INFO] DealController.save validated payments {"deal_id":"local_695b90432886d8.15744586","contact_id":"11242","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:49:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11242","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:49:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b90432886d8.15744586","contact_didar_id":"11242","title":"معامله دوم 9134628582 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9134628582","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پیمان بخشی","existing_deal":"YES","existing_deal_id":"local_695b90432886d8.15744586","existing_deal_status":"Pending","server_time":"2026-04-16 17:49:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:49:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-16 17:49:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-16 17:49:18] [INFO] Deal success processed {"contact_id":"11242","person_name":"پیمان بخشی","products_count":1}
[2026-04-16 17:49:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b90432886d8.15744586","contact_id":"11242","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9134628582 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:49:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:49:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-16 17:49:18] [INFO] Updating virtual stage {"contact_id":"11242","stage_name":"with_purchase","force":true}
[2026-04-16 17:49:18] [INFO] Virtual stage successfully saved {"contact_id":"11242","stage_name":"with_purchase"}
[2026-04-16 17:49:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11242","deal_id":"local_695b90432886d8.15744586","target_stage":"with_purchase"}
[2026-04-16 17:49:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"21012","deal_id":"local_69c87281c9fa60.19067518","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:49:36","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"21012","is_new_deal":false}
[2026-04-16 17:49:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:49:36] [INFO] getContactPrimaryPhone called {"contact_id":"21012"}
[2026-04-16 17:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [INFO] getContactPrimaryPhone result {"contact_id":"21012","person_found":true,"primary_phone":"9122315682"}
[2026-04-16 17:49:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122315682"}
[2026-04-16 17:49:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122315682","contact_id":"21012","deal_id":"local_69c87281c9fa60.19067518","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:49:36"}
[2026-04-16 17:49:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c87281c9fa60.19067518","contact_id":"21012","existing_deal_found":true,"existing_contact_id":"21012","existing_title":"معامله دوم 9122315682 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:49:36"}
[2026-04-16 17:49:36] [INFO] DealController.save validated payments {"deal_id":"local_69c87281c9fa60.19067518","contact_id":"21012","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:49:36] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21012","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:49:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c87281c9fa60.19067518","contact_didar_id":"21012","title":"معامله دوم 9122315682 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9122315682","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای گل خانی","existing_deal":"YES","existing_deal_id":"local_69c87281c9fa60.19067518","existing_deal_status":"Pending","server_time":"2026-04-16 17:49:36","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [INFO] Deal success processed {"contact_id":"21012","person_name":"اقای گل خانی","products_count":1}
[2026-04-16 17:49:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c87281c9fa60.19067518","contact_id":"21012","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9122315682 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:49:36","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:36] [INFO] Updating virtual stage {"contact_id":"21012","stage_name":"with_purchase","force":true}
[2026-04-16 17:49:36] [INFO] Virtual stage successfully saved {"contact_id":"21012","stage_name":"with_purchase"}
[2026-04-16 17:49:36] [INFO] Moved contact out of kariz after successful deal {"contact_id":"21012","deal_id":"local_69c87281c9fa60.19067518","target_stage":"with_purchase"}
[2026-04-16 17:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-16 17:49:43] [INFO] Checking activity reminders 
[2026-04-16 17:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:49:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:50:05","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9650","is_new_deal":false}
[2026-04-16 17:50:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:05] [INFO] getContactPrimaryPhone called {"contact_id":"9650"}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [INFO] getContactPrimaryPhone result {"contact_id":"9650","person_found":true,"primary_phone":"9309207679"}
[2026-04-16 17:50:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9309207679"}
[2026-04-16 17:50:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9309207679","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:05"}
[2026-04-16 17:50:05] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","existing_deal_found":true,"existing_contact_id":"9650","existing_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:05"}
[2026-04-16 17:50:05] [INFO] DealController.save validated payments {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:50:05] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9650","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:50:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d92591ca001.49338768","contact_didar_id":"9650","title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9309207679","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عبیداوی عبیداوی","existing_deal":"YES","existing_deal_id":"local_699d92591ca001.49338768","existing_deal_status":"Pending","server_time":"2026-04-16 17:50:05","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [INFO] Deal success processed {"contact_id":"9650","person_name":"عبیداوی عبیداوی","products_count":1}
[2026-04-16 17:50:05] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d92591ca001.49338768","contact_id":"9650","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:50:05","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:05] [INFO] Updating virtual stage {"contact_id":"9650","stage_name":"with_purchase","force":true}
[2026-04-16 17:50:05] [INFO] Virtual stage successfully saved {"contact_id":"9650","stage_name":"with_purchase"}
[2026-04-16 17:50:05] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9650","deal_id":"local_699d92591ca001.49338768","target_stage":"with_purchase"}
[2026-04-16 17:50:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:13] [INFO] Checking activity reminders 
[2026-04-16 17:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:50:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9650","deal_id":"local_69c27537dcc4f5.34976398","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:50:21","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9650","is_new_deal":false}
[2026-04-16 17:50:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:21] [INFO] getContactPrimaryPhone called {"contact_id":"9650"}
[2026-04-16 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-16 17:50:21] [INFO] getContactPrimaryPhone result {"contact_id":"9650","person_found":true,"primary_phone":"9309207679"}
[2026-04-16 17:50:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9309207679"}
[2026-04-16 17:50:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9309207679","contact_id":"9650","deal_id":"local_69c27537dcc4f5.34976398","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:21"}
[2026-04-16 17:50:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c27537dcc4f5.34976398","contact_id":"9650","existing_deal_found":true,"existing_contact_id":"14195","existing_title":"معامله سوم 9190331926 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:21"}
[2026-04-16 17:50:21] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_69c27537dcc4f5.34976398","incoming_contact_id":"9650","existing_contact_id":"14195","incoming_title":"کانال VIP با پشتیبانی","requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:21"}
[2026-04-16 17:50:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-16 17:50:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-16 17:50:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-16 17:50:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-16 17:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"14195","deal_id":"local_69c27537dcc4f5.34976398","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:50:54","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"14195","is_new_deal":false}
[2026-04-16 17:50:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:50:54] [INFO] getContactPrimaryPhone called {"contact_id":"14195"}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [INFO] getContactPrimaryPhone result {"contact_id":"14195","person_found":true,"primary_phone":"9190331926"}
[2026-04-16 17:50:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9190331926"}
[2026-04-16 17:50:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9190331926","contact_id":"14195","deal_id":"local_69c27537dcc4f5.34976398","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:54"}
[2026-04-16 17:50:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c27537dcc4f5.34976398","contact_id":"14195","existing_deal_found":true,"existing_contact_id":"14195","existing_title":"معامله سوم 9190331926 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:50:54"}
[2026-04-16 17:50:54] [INFO] DealController.save validated payments {"deal_id":"local_69c27537dcc4f5.34976398","contact_id":"14195","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:50:54] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14195","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:50:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c27537dcc4f5.34976398","contact_didar_id":"14195","title":"معامله سوم 9190331926 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9190331926","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمدامین محمدی","existing_deal":"YES","existing_deal_id":"local_69c27537dcc4f5.34976398","existing_deal_status":"Pending","server_time":"2026-04-16 17:50:54","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [INFO] Deal success processed {"contact_id":"14195","person_name":"محمدامین محمدی","products_count":1}
[2026-04-16 17:50:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c27537dcc4f5.34976398","contact_id":"14195","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9190331926 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:50:54","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:54] [INFO] Updating virtual stage {"contact_id":"14195","stage_name":"with_purchase","force":true}
[2026-04-16 17:50:54] [INFO] Virtual stage successfully saved {"contact_id":"14195","stage_name":"with_purchase"}
[2026-04-16 17:50:54] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14195","deal_id":"local_69c27537dcc4f5.34976398","target_stage":"with_purchase"}
[2026-04-16 17:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-16 17:50:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:00] [INFO] Checking activity reminders 
[2026-04-16 17:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:51:15] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"16058","deal_id":"local_69a00ad7955ae4.47769512","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:51:15","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"16058","is_new_deal":false}
[2026-04-16 17:51:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:15] [INFO] getContactPrimaryPhone called {"contact_id":"16058"}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:15] [INFO] getContactPrimaryPhone result {"contact_id":"16058","person_found":true,"primary_phone":"9147318626"}
[2026-04-16 17:51:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9147318626"}
[2026-04-16 17:51:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9147318626","contact_id":"16058","deal_id":"local_69a00ad7955ae4.47769512","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:15"}
[2026-04-16 17:51:15] [INFO] DealController.save existing deal lookup {"deal_id":"local_69a00ad7955ae4.47769512","contact_id":"16058","existing_deal_found":true,"existing_contact_id":"16058","existing_title":"معامله اول 9147318626 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:15"}
[2026-04-16 17:51:15] [INFO] DealController.save validated payments {"deal_id":"local_69a00ad7955ae4.47769512","contact_id":"16058","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:51:15] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"16058","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:51:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69a00ad7955ae4.47769512","contact_didar_id":"16058","title":"معامله اول 9147318626 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9147318626","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین شریفی","existing_deal":"YES","existing_deal_id":"local_69a00ad7955ae4.47769512","existing_deal_status":"Pending","server_time":"2026-04-16 17:51:15","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:15] [INFO] Deal success processed {"contact_id":"16058","person_name":"حسین شریفی","products_count":1}
[2026-04-16 17:51:15] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69a00ad7955ae4.47769512","contact_id":"16058","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9147318626 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:51:15","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:15] [INFO] Updating virtual stage {"contact_id":"16058","stage_name":"with_purchase","force":true}
[2026-04-16 17:51:15] [INFO] Virtual stage successfully saved {"contact_id":"16058","stage_name":"with_purchase"}
[2026-04-16 17:51:15] [INFO] Moved contact out of kariz after successful deal {"contact_id":"16058","deal_id":"local_69a00ad7955ae4.47769512","target_stage":"with_purchase"}
[2026-04-16 17:51:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16058","person_id":"13775"}
[2026-04-16 17:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:31] [INFO] Checking activity reminders 
[2026-04-16 17:51:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:51:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:51:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7748","deal_id":"local_699db178f1d182.19423265","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:51:33","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7748","is_new_deal":false}
[2026-04-16 17:51:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:33] [INFO] getContactPrimaryPhone called {"contact_id":"7748"}
[2026-04-16 17:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:33] [INFO] getContactPrimaryPhone result {"contact_id":"7748","person_found":true,"primary_phone":"9163228263"}
[2026-04-16 17:51:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9163228263"}
[2026-04-16 17:51:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9163228263","contact_id":"7748","deal_id":"local_699db178f1d182.19423265","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:33"}
[2026-04-16 17:51:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_699db178f1d182.19423265","contact_id":"7748","existing_deal_found":true,"existing_contact_id":"7748","existing_title":"معامله دوم 9163228263 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:33"}
[2026-04-16 17:51:33] [INFO] DealController.save validated payments {"deal_id":"local_699db178f1d182.19423265","contact_id":"7748","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:51:33] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7748","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:51:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699db178f1d182.19423265","contact_didar_id":"7748","title":"معامله دوم 9163228263 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9163228263","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سعدی","existing_deal":"YES","existing_deal_id":"local_699db178f1d182.19423265","existing_deal_status":"Pending","server_time":"2026-04-16 17:51:33","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:33] [INFO] Deal success processed {"contact_id":"7748","person_name":"سعدی","products_count":1}
[2026-04-16 17:51:33] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699db178f1d182.19423265","contact_id":"7748","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9163228263 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:51:33","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:33] [INFO] Updating virtual stage {"contact_id":"7748","stage_name":"with_purchase","force":true}
[2026-04-16 17:51:33] [INFO] Virtual stage successfully saved {"contact_id":"7748","stage_name":"with_purchase"}
[2026-04-16 17:51:33] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7748","deal_id":"local_699db178f1d182.19423265","target_stage":"with_purchase"}
[2026-04-16 17:51:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7748","person_id":"3689"}
[2026-04-16 17:51:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3068","deal_id":"local_699982392b0572.34485161","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:51:52","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3068","is_new_deal":false}
[2026-04-16 17:51:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:51:52] [INFO] getContactPrimaryPhone called {"contact_id":"3068"}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [INFO] getContactPrimaryPhone result {"contact_id":"3068","person_found":true,"primary_phone":"9304120786"}
[2026-04-16 17:51:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9304120786"}
[2026-04-16 17:51:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9304120786","contact_id":"3068","deal_id":"local_699982392b0572.34485161","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:52"}
[2026-04-16 17:51:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_699982392b0572.34485161","contact_id":"3068","existing_deal_found":true,"existing_contact_id":"3068","existing_title":"معامله دوم 9304120786 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:51:52"}
[2026-04-16 17:51:52] [INFO] DealController.save validated payments {"deal_id":"local_699982392b0572.34485161","contact_id":"3068","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:51:52] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3068","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:51:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699982392b0572.34485161","contact_didar_id":"3068","title":"معامله دوم 9304120786 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9304120786","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پویا حیدری","existing_deal":"YES","existing_deal_id":"local_699982392b0572.34485161","existing_deal_status":"Pending","server_time":"2026-04-16 17:51:52","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [INFO] Deal success processed {"contact_id":"3068","person_name":"پویا حیدری","products_count":1}
[2026-04-16 17:51:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699982392b0572.34485161","contact_id":"3068","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9304120786 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:51:52","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:52] [INFO] Updating virtual stage {"contact_id":"3068","stage_name":"with_purchase","force":true}
[2026-04-16 17:51:52] [INFO] Virtual stage successfully saved {"contact_id":"3068","stage_name":"with_purchase"}
[2026-04-16 17:51:52] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3068","deal_id":"local_699982392b0572.34485161","target_stage":"with_purchase"}
[2026-04-16 17:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:51:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-16 17:52:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:01] [INFO] Checking activity reminders 
[2026-04-16 17:52:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:52:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:52:26] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"20238","deal_id":"local_694a989c07a066.35830103","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:52:26","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:52:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"20238","is_new_deal":false}
[2026-04-16 17:52:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:26] [INFO] getContactPrimaryPhone called {"contact_id":"20238"}
[2026-04-16 17:52:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:26] [INFO] getContactPrimaryPhone result {"contact_id":"20238","person_found":true,"primary_phone":"9391534547"}
[2026-04-16 17:52:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9391534547"}
[2026-04-16 17:52:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9391534547","contact_id":"20238","deal_id":"local_694a989c07a066.35830103","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:52:26"}
[2026-04-16 17:52:26] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a989c07a066.35830103","contact_id":"20238","existing_deal_found":true,"existing_contact_id":"20238","existing_title":"معامله اول 9391534547 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:52:26"}
[2026-04-16 17:52:26] [INFO] DealController.save validated payments {"deal_id":"local_694a989c07a066.35830103","contact_id":"20238","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:52:26] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20238","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:52:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a989c07a066.35830103","contact_didar_id":"20238","title":"معامله اول 9391534547 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9391534547","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سیدمحمدرضا حسینی","existing_deal":"YES","existing_deal_id":"local_694a989c07a066.35830103","existing_deal_status":"Pending","server_time":"2026-04-16 17:52:26","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:52:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a989c07a066.35830103","contact_id":"20238","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9391534547 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-16 17:52:26","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:52:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:31] [INFO] Checking activity reminders 
[2026-04-16 17:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:52:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"20238","deal_id":"local_694a989c07a066.35830103","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:52:46","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"20238","is_new_deal":false}
[2026-04-16 17:52:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:52:46] [INFO] getContactPrimaryPhone called {"contact_id":"20238"}
[2026-04-16 17:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:46] [INFO] getContactPrimaryPhone result {"contact_id":"20238","person_found":true,"primary_phone":"9391534547"}
[2026-04-16 17:52:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9391534547"}
[2026-04-16 17:52:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9391534547","contact_id":"20238","deal_id":"local_694a989c07a066.35830103","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:52:46"}
[2026-04-16 17:52:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a989c07a066.35830103","contact_id":"20238","existing_deal_found":true,"existing_contact_id":"20238","existing_title":"معامله اول 9391534547 | کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:52:46"}
[2026-04-16 17:52:46] [INFO] DealController.save validated payments {"deal_id":"local_694a989c07a066.35830103","contact_id":"20238","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:52:46] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20238","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:52:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a989c07a066.35830103","contact_didar_id":"20238","title":"معامله اول 9391534547 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9391534547","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سیدمحمدرضا حسینی","existing_deal":"YES","existing_deal_id":"local_694a989c07a066.35830103","existing_deal_status":"Pending","server_time":"2026-04-16 17:52:46","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:46] [INFO] Deal success processed {"contact_id":"20238","person_name":"سیدمحمدرضا حسینی","products_count":1}
[2026-04-16 17:52:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a989c07a066.35830103","contact_id":"20238","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9391534547 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-16 17:52:46","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:46] [INFO] Updating virtual stage {"contact_id":"20238","stage_name":"with_purchase","force":true}
[2026-04-16 17:52:46] [INFO] Virtual stage successfully saved {"contact_id":"20238","stage_name":"with_purchase"}
[2026-04-16 17:52:46] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20238","deal_id":"local_694a989c07a066.35830103","target_stage":"with_purchase"}
[2026-04-16 17:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20238","person_id":"14294"}
[2026-04-16 17:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:01] [INFO] Checking activity reminders 
[2026-04-16 17:53:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:53:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:53:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15859","deal_id":"local_699d7b45746293.65715363","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:53:09","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:53:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15859","is_new_deal":false}
[2026-04-16 17:53:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:09] [INFO] getContactPrimaryPhone called {"contact_id":"15859"}
[2026-04-16 17:53:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:09] [INFO] getContactPrimaryPhone result {"contact_id":"15859","person_found":true,"primary_phone":"9368283102"}
[2026-04-16 17:53:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9368283102"}
[2026-04-16 17:53:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9368283102","contact_id":"15859","deal_id":"local_699d7b45746293.65715363","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:53:09"}
[2026-04-16 17:53:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d7b45746293.65715363","contact_id":"15859","existing_deal_found":true,"existing_contact_id":"15859","existing_title":"معامله دوم 9368283102 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:53:09"}
[2026-04-16 17:53:09] [INFO] DealController.save validated payments {"deal_id":"local_699d7b45746293.65715363","contact_id":"15859","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:53:09] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15859","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:53:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d7b45746293.65715363","contact_didar_id":"15859","title":"معامله دوم 9368283102 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9368283102","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فدایی","existing_deal":"YES","existing_deal_id":"local_699d7b45746293.65715363","existing_deal_status":"Pending","server_time":"2026-04-16 17:53:09","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:53:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:09] [INFO] Deal success processed {"contact_id":"15859","person_name":"فدایی","products_count":1}
[2026-04-16 17:53:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d7b45746293.65715363","contact_id":"15859","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9368283102 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:53:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:53:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:09] [INFO] Updating virtual stage {"contact_id":"15859","stage_name":"with_purchase","force":true}
[2026-04-16 17:53:09] [INFO] Virtual stage successfully saved {"contact_id":"15859","stage_name":"with_purchase"}
[2026-04-16 17:53:09] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15859","deal_id":"local_699d7b45746293.65715363","target_stage":"with_purchase"}
[2026-04-16 17:53:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-16 17:53:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:32] [INFO] Checking activity reminders 
[2026-04-16 17:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:53:37] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"14719","deal_id":"local_69998097075d70.26992683","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:53:37","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:37] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"14719","is_new_deal":false}
[2026-04-16 17:53:37] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:37] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:37] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:53:37] [INFO] getContactPrimaryPhone called {"contact_id":"14719"}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:37] [INFO] getContactPrimaryPhone result {"contact_id":"14719","person_found":true,"primary_phone":"9153614091"}
[2026-04-16 17:53:37] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9153614091"}
[2026-04-16 17:53:37] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9153614091","contact_id":"14719","deal_id":"local_69998097075d70.26992683","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:53:37"}
[2026-04-16 17:53:37] [INFO] DealController.save existing deal lookup {"deal_id":"local_69998097075d70.26992683","contact_id":"14719","existing_deal_found":true,"existing_contact_id":"14719","existing_title":"معامله دوم 9153614091 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:53:37"}
[2026-04-16 17:53:37] [INFO] DealController.save validated payments {"deal_id":"local_69998097075d70.26992683","contact_id":"14719","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:53:37] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14719","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:53:37] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69998097075d70.26992683","contact_didar_id":"14719","title":"معامله دوم 9153614091 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9153614091","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیرآبادی","existing_deal":"YES","existing_deal_id":"local_69998097075d70.26992683","existing_deal_status":"Pending","server_time":"2026-04-16 17:53:37","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:37] [INFO] Deal success processed {"contact_id":"14719","person_name":"امیرآبادی","products_count":1}
[2026-04-16 17:53:37] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69998097075d70.26992683","contact_id":"14719","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9153614091 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:53:37","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:37] [INFO] Updating virtual stage {"contact_id":"14719","stage_name":"with_purchase","force":true}
[2026-04-16 17:53:37] [INFO] Virtual stage successfully saved {"contact_id":"14719","stage_name":"with_purchase"}
[2026-04-16 17:53:37] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14719","deal_id":"local_69998097075d70.26992683","target_stage":"with_purchase"}
[2026-04-16 17:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14719","person_id":"7042"}
[2026-04-16 17:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [INFO] Checking activity reminders 
[2026-04-16 17:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:54:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3438","deal_id":"local_6950fd36929387.00126304","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:54:02","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3438","is_new_deal":false}
[2026-04-16 17:54:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:02] [INFO] getContactPrimaryPhone called {"contact_id":"3438"}
[2026-04-16 17:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [INFO] getContactPrimaryPhone result {"contact_id":"3438","person_found":true,"primary_phone":"9128886513"}
[2026-04-16 17:54:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128886513"}
[2026-04-16 17:54:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128886513","contact_id":"3438","deal_id":"local_6950fd36929387.00126304","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:02"}
[2026-04-16 17:54:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950fd36929387.00126304","contact_id":"3438","existing_deal_found":true,"existing_contact_id":"3438","existing_title":"معامله دوم 9128886513 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:02"}
[2026-04-16 17:54:02] [INFO] DealController.save validated payments {"deal_id":"local_6950fd36929387.00126304","contact_id":"3438","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:54:02] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3438","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:54:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950fd36929387.00126304","contact_didar_id":"3438","title":"معامله دوم 9128886513 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9128886513","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علیرضا ساویز","existing_deal":"YES","existing_deal_id":"local_6950fd36929387.00126304","existing_deal_status":"Pending","server_time":"2026-04-16 17:54:02","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [INFO] Deal success processed {"contact_id":"3438","person_name":"علیرضا ساویز","products_count":1}
[2026-04-16 17:54:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950fd36929387.00126304","contact_id":"3438","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128886513 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:54:02","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:02] [INFO] Updating virtual stage {"contact_id":"3438","stage_name":"with_purchase","force":true}
[2026-04-16 17:54:02] [INFO] Virtual stage successfully saved {"contact_id":"3438","stage_name":"with_purchase"}
[2026-04-16 17:54:02] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3438","deal_id":"local_6950fd36929387.00126304","target_stage":"with_purchase"}
[2026-04-16 17:54:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3438","person_id":"19928"}
[2026-04-16 17:54:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_1403_09_26_85","deal_id":"local_699aa86cec7831.53202266","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:54:30","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_1403_09_26_85","is_new_deal":false}
[2026-04-16 17:54:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:54:30] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_85"}
[2026-04-16 17:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_85","person_found":true,"primary_phone":"9160669232"}
[2026-04-16 17:54:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9160669232"}
[2026-04-16 17:54:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9160669232","contact_id":"local_1403_09_26_85","deal_id":"local_699aa86cec7831.53202266","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:30"}
[2026-04-16 17:54:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aa86cec7831.53202266","contact_id":"local_1403_09_26_85","existing_deal_found":true,"existing_contact_id":"local_1403_09_26_85","existing_title":"معامله اول 9160669232 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:30"}
[2026-04-16 17:54:30] [INFO] DealController.save validated payments {"deal_id":"local_699aa86cec7831.53202266","contact_id":"local_1403_09_26_85","payments_count":4,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:54:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_1403_09_26_85","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:54:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aa86cec7831.53202266","contact_didar_id":"local_1403_09_26_85","title":"معامله اول 9160669232 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9160669232","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"صادق وفایی","existing_deal":"YES","existing_deal_id":"local_699aa86cec7831.53202266","existing_deal_status":"Pending","server_time":"2026-04-16 17:54:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [INFO] Deal success processed {"contact_id":"local_1403_09_26_85","person_name":"صادق وفایی","products_count":1}
[2026-04-16 17:54:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aa86cec7831.53202266","contact_id":"local_1403_09_26_85","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9160669232 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:54:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:30] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_85","stage_name":"with_purchase","force":true}
[2026-04-16 17:54:30] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_85","stage_name":"with_purchase"}
[2026-04-16 17:54:30] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_1403_09_26_85","deal_id":"local_699aa86cec7831.53202266","target_stage":"with_purchase"}
[2026-04-16 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_85","person_id":"21162"}
[2026-04-16 17:54:33] [INFO] Checking activity reminders 
[2026-04-16 17:54:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:54:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"14845","deal_id":"local_69b50b7f845b31.94736595","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:54:48","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"14845","is_new_deal":false}
[2026-04-16 17:54:48] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:54:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:54:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:54:48] [INFO] getContactPrimaryPhone called {"contact_id":"14845"}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [INFO] getContactPrimaryPhone result {"contact_id":"14845","person_found":true,"primary_phone":"9170273021"}
[2026-04-16 17:54:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9170273021"}
[2026-04-16 17:54:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9170273021","contact_id":"14845","deal_id":"local_69b50b7f845b31.94736595","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:48"}
[2026-04-16 17:54:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b50b7f845b31.94736595","contact_id":"14845","existing_deal_found":true,"existing_contact_id":"14845","existing_title":"معامله دوم 9170273021 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:54:48"}
[2026-04-16 17:54:48] [INFO] DealController.save validated payments {"deal_id":"local_69b50b7f845b31.94736595","contact_id":"14845","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:54:48] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14845","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:54:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b50b7f845b31.94736595","contact_didar_id":"14845","title":"معامله دوم 9170273021 | CIP","base_title_used":"معامله دوم 9170273021","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی پور","existing_deal":"YES","existing_deal_id":"local_69b50b7f845b31.94736595","existing_deal_status":"Pending","server_time":"2026-04-16 17:54:48","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [INFO] Deal success processed {"contact_id":"14845","person_name":"مهدی پور","products_count":1}
[2026-04-16 17:54:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b50b7f845b31.94736595","contact_id":"14845","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9170273021 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:54:48","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:48] [INFO] Updating virtual stage {"contact_id":"14845","stage_name":"with_purchase","force":true}
[2026-04-16 17:54:48] [INFO] Virtual stage successfully saved {"contact_id":"14845","stage_name":"with_purchase"}
[2026-04-16 17:54:48] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14845","deal_id":"local_69b50b7f845b31.94736595","target_stage":"with_purchase"}
[2026-04-16 17:54:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14845","person_id":"2703"}
[2026-04-16 17:54:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:03] [INFO] Checking activity reminders 
[2026-04-16 17:55:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:55:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:55:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"20553","deal_id":"local_699ed883bc6589.31674747","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:55:27","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"20553","is_new_deal":false}
[2026-04-16 17:55:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:55:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:55:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 17:55:27] [INFO] getContactPrimaryPhone called {"contact_id":"20553"}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:27] [INFO] getContactPrimaryPhone result {"contact_id":"20553","person_found":true,"primary_phone":"9397087808"}
[2026-04-16 17:55:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9397087808"}
[2026-04-16 17:55:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9397087808","contact_id":"20553","deal_id":"local_699ed883bc6589.31674747","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:55:27"}
[2026-04-16 17:55:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ed883bc6589.31674747","contact_id":"20553","existing_deal_found":true,"existing_contact_id":"20553","existing_title":"معامله دوم 9397087808 | کانال VIP بدون پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:55:27"}
[2026-04-16 17:55:27] [INFO] DealController.save validated payments {"deal_id":"local_699ed883bc6589.31674747","contact_id":"20553","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:55:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20553","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:55:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ed883bc6589.31674747","contact_didar_id":"20553","title":"معامله دوم 9397087808 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9397087808","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"نیری","existing_deal":"YES","existing_deal_id":"local_699ed883bc6589.31674747","existing_deal_status":"Pending","server_time":"2026-04-16 17:55:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:27] [INFO] Deal success processed {"contact_id":"20553","person_name":"نیری","products_count":1}
[2026-04-16 17:55:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ed883bc6589.31674747","contact_id":"20553","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9397087808 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-16 17:55:27","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:27] [INFO] Updating virtual stage {"contact_id":"20553","stage_name":"with_purchase","force":true}
[2026-04-16 17:55:27] [INFO] Virtual stage successfully saved {"contact_id":"20553","stage_name":"with_purchase"}
[2026-04-16 17:55:27] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20553","deal_id":"local_699ed883bc6589.31674747","target_stage":"with_purchase"}
[2026-04-16 17:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20553","person_id":"5902"}
[2026-04-16 17:55:33] [INFO] Checking activity reminders 
[2026-04-16 17:55:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:55:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:55:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7353","deal_id":"local_69b42ce3d9b9a8.21211394","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:55:50","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:55:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7353","is_new_deal":false}
[2026-04-16 17:55:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:55:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:55:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:55:50] [INFO] getContactPrimaryPhone called {"contact_id":"7353"}
[2026-04-16 17:55:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [INFO] getContactPrimaryPhone result {"contact_id":"7353","person_found":true,"primary_phone":"9152341161"}
[2026-04-16 17:55:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152341161"}
[2026-04-16 17:55:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152341161","contact_id":"7353","deal_id":"local_69b42ce3d9b9a8.21211394","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:55:50"}
[2026-04-16 17:55:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b42ce3d9b9a8.21211394","contact_id":"7353","existing_deal_found":true,"existing_contact_id":"7353","existing_title":"معامله سوم 9152341161 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:55:50"}
[2026-04-16 17:55:50] [INFO] DealController.save validated payments {"deal_id":"local_69b42ce3d9b9a8.21211394","contact_id":"7353","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:55:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7353","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:55:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b42ce3d9b9a8.21211394","contact_didar_id":"7353","title":"معامله سوم 9152341161 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9152341161","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علی نیستانی","existing_deal":"YES","existing_deal_id":"local_69b42ce3d9b9a8.21211394","existing_deal_status":"Pending","server_time":"2026-04-16 17:55:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:55:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [INFO] Deal success processed {"contact_id":"7353","person_name":"علی نیستانی","products_count":1}
[2026-04-16 17:55:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b42ce3d9b9a8.21211394","contact_id":"7353","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9152341161 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:55:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:55:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:50] [INFO] Updating virtual stage {"contact_id":"7353","stage_name":"with_purchase","force":true}
[2026-04-16 17:55:50] [INFO] Virtual stage successfully saved {"contact_id":"7353","stage_name":"with_purchase"}
[2026-04-16 17:55:50] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7353","deal_id":"local_69b42ce3d9b9a8.21211394","target_stage":"with_purchase"}
[2026-04-16 17:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:03] [INFO] Checking activity reminders 
[2026-04-16 17:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:56:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"7353","deal_id":"local_69b42c2e244b88.30388032","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:56:16","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"7353","is_new_deal":false}
[2026-04-16 17:56:16] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:56:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:56:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:56:16] [INFO] getContactPrimaryPhone called {"contact_id":"7353"}
[2026-04-16 17:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:16] [INFO] getContactPrimaryPhone result {"contact_id":"7353","person_found":true,"primary_phone":"9152341161"}
[2026-04-16 17:56:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152341161"}
[2026-04-16 17:56:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152341161","contact_id":"7353","deal_id":"local_69b42c2e244b88.30388032","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:56:16"}
[2026-04-16 17:56:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b42c2e244b88.30388032","contact_id":"7353","existing_deal_found":true,"existing_contact_id":"7353","existing_title":"معامله دوم 9152341161 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:56:16"}
[2026-04-16 17:56:16] [INFO] DealController.save validated payments {"deal_id":"local_69b42c2e244b88.30388032","contact_id":"7353","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:56:16] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7353","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:56:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b42c2e244b88.30388032","contact_didar_id":"7353","title":"معامله دوم 9152341161 | CIP","base_title_used":"معامله دوم 9152341161","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علی نیستانی","existing_deal":"YES","existing_deal_id":"local_69b42c2e244b88.30388032","existing_deal_status":"Pending","server_time":"2026-04-16 17:56:16","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:16] [INFO] Deal success processed {"contact_id":"7353","person_name":"علی نیستانی","products_count":1}
[2026-04-16 17:56:16] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b42c2e244b88.30388032","contact_id":"7353","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9152341161 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:56:16","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:16] [INFO] Updating virtual stage {"contact_id":"7353","stage_name":"with_purchase","force":true}
[2026-04-16 17:56:16] [INFO] Virtual stage successfully saved {"contact_id":"7353","stage_name":"with_purchase"}
[2026-04-16 17:56:16] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7353","deal_id":"local_69b42c2e244b88.30388032","target_stage":"with_purchase"}
[2026-04-16 17:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7353","person_id":"17645"}
[2026-04-16 17:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:33] [INFO] Checking activity reminders 
[2026-04-16 17:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:56:35] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_695cb9a7325153.22369790","deal_id":"local_69b42ba07438d6.51014601","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:56:35","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:35] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_695cb9a7325153.22369790","is_new_deal":false}
[2026-04-16 17:56:35] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 17:56:35] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:56:35] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 17:56:35] [INFO] getContactPrimaryPhone called {"contact_id":"local_695cb9a7325153.22369790"}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:35] [INFO] getContactPrimaryPhone result {"contact_id":"local_695cb9a7325153.22369790","person_found":true,"primary_phone":"9128590709"}
[2026-04-16 17:56:35] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128590709"}
[2026-04-16 17:56:35] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128590709","contact_id":"local_695cb9a7325153.22369790","deal_id":"local_69b42ba07438d6.51014601","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:56:35"}
[2026-04-16 17:56:35] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b42ba07438d6.51014601","contact_id":"local_695cb9a7325153.22369790","existing_deal_found":true,"existing_contact_id":"local_695cb9a7325153.22369790","existing_title":"معامله دوم 9128590709 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:56:35"}
[2026-04-16 17:56:35] [INFO] DealController.save validated payments {"deal_id":"local_69b42ba07438d6.51014601","contact_id":"local_695cb9a7325153.22369790","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:56:35] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695cb9a7325153.22369790","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:56:35] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b42ba07438d6.51014601","contact_didar_id":"local_695cb9a7325153.22369790","title":"معامله دوم 9128590709 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9128590709","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"معدنی معدنی","existing_deal":"YES","existing_deal_id":"local_69b42ba07438d6.51014601","existing_deal_status":"Pending","server_time":"2026-04-16 17:56:35","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:35] [INFO] Deal success processed {"contact_id":"local_695cb9a7325153.22369790","person_name":"معدنی معدنی","products_count":1}
[2026-04-16 17:56:35] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b42ba07438d6.51014601","contact_id":"local_695cb9a7325153.22369790","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128590709 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 17:56:35","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:56:35] [INFO] Updating virtual stage {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase","force":true}
[2026-04-16 17:56:35] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase"}
[2026-04-16 17:56:35] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695cb9a7325153.22369790","deal_id":"local_69b42ba07438d6.51014601","target_stage":"with_purchase"}
[2026-04-16 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:57:03] [INFO] Checking activity reminders 
[2026-04-16 17:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:57:47] [INFO] Checking activity reminders 
[2026-04-16 17:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:58:17] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695cb9a7325153.22369790","deal_id":"local_695cb9a733803","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:58:17","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695cb9a7325153.22369790","is_new_deal":false}
[2026-04-16 17:58:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:58:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:58:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 17:58:17] [INFO] getContactPrimaryPhone called {"contact_id":"local_695cb9a7325153.22369790"}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [INFO] getContactPrimaryPhone result {"contact_id":"local_695cb9a7325153.22369790","person_found":true,"primary_phone":"9128590709"}
[2026-04-16 17:58:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128590709"}
[2026-04-16 17:58:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128590709","contact_id":"local_695cb9a7325153.22369790","deal_id":"local_695cb9a733803","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:17"}
[2026-04-16 17:58:17] [INFO] DealController.save existing deal lookup {"deal_id":"local_695cb9a733803","contact_id":"local_695cb9a7325153.22369790","existing_deal_found":true,"existing_contact_id":"local_695cb9a7325153.22369790","existing_title":"معامله اول 9128590709 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:17"}
[2026-04-16 17:58:17] [INFO] DealController.save validated payments {"deal_id":"local_695cb9a733803","contact_id":"local_695cb9a7325153.22369790","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 17:58:17] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695cb9a7325153.22369790","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:58:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695cb9a733803","contact_didar_id":"local_695cb9a7325153.22369790","title":"معامله اول 9128590709 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9128590709","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"معدنی معدنی","existing_deal":"YES","existing_deal_id":"local_695cb9a733803","existing_deal_status":"Pending","server_time":"2026-04-16 17:58:17","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [INFO] Deal success processed {"contact_id":"local_695cb9a7325153.22369790","person_name":"معدنی معدنی","products_count":1}
[2026-04-16 17:58:17] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695cb9a733803","contact_id":"local_695cb9a7325153.22369790","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128590709 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 17:58:17","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [INFO] Updating virtual stage {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase","force":true}
[2026-04-16 17:58:17] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase"}
[2026-04-16 17:58:17] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695cb9a7325153.22369790","deal_id":"local_695cb9a733803","target_stage":"with_purchase"}
[2026-04-16 17:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-16 17:58:17] [INFO] Checking activity reminders 
[2026-04-16 17:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:58:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d56d7149139.42321741","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:58:41","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:58:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_6999bb457cd140.72890768","is_new_deal":false}
[2026-04-16 17:58:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-16 17:58:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-16 17:58:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-16 17:58:41] [INFO] getContactPrimaryPhone called {"contact_id":"local_6999bb457cd140.72890768"}
[2026-04-16 17:58:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [INFO] getContactPrimaryPhone result {"contact_id":"local_6999bb457cd140.72890768","person_found":true,"primary_phone":"9198613091"}
[2026-04-16 17:58:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9198613091"}
[2026-04-16 17:58:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9198613091","contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d56d7149139.42321741","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:41"}
[2026-04-16 17:58:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d56d7149139.42321741","contact_id":"local_6999bb457cd140.72890768","existing_deal_found":true,"existing_contact_id":"local_6999bb457cd140.72890768","existing_title":"معامله سوم 9198613091 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:41"}
[2026-04-16 17:58:41] [INFO] DealController.save validated payments {"deal_id":"local_699d56d7149139.42321741","contact_id":"local_6999bb457cd140.72890768","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:58:41] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_6999bb457cd140.72890768","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:58:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d56d7149139.42321741","contact_didar_id":"local_6999bb457cd140.72890768","title":"معامله سوم 9198613091 | کارشناسی حضوری","base_title_used":"معامله سوم 9198613091","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیر جنگجو","existing_deal":"YES","existing_deal_id":"local_699d56d7149139.42321741","existing_deal_status":"Pending","server_time":"2026-04-16 17:58:41","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:58:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [INFO] Deal success processed {"contact_id":"local_6999bb457cd140.72890768","person_name":"امیر جنگجو","products_count":1}
[2026-04-16 17:58:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d56d7149139.42321741","contact_id":"local_6999bb457cd140.72890768","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9198613091 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 17:58:41","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:58:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:41] [INFO] Updating virtual stage {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase","force":true}
[2026-04-16 17:58:41] [INFO] Virtual stage successfully saved {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase"}
[2026-04-16 17:58:41] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d56d7149139.42321741","target_stage":"with_purchase"}
[2026-04-16 17:58:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:49] [INFO] Checking activity reminders 
[2026-04-16 17:58:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:58:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:58:56] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d517980a026.52316096","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:58:56","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_6999bb457cd140.72890768","is_new_deal":false}
[2026-04-16 17:58:56] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-16 17:58:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-16 17:58:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-16 17:58:56] [INFO] getContactPrimaryPhone called {"contact_id":"local_6999bb457cd140.72890768"}
[2026-04-16 17:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:56] [INFO] getContactPrimaryPhone result {"contact_id":"local_6999bb457cd140.72890768","person_found":true,"primary_phone":"9198613091"}
[2026-04-16 17:58:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9198613091"}
[2026-04-16 17:58:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9198613091","contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d517980a026.52316096","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:56"}
[2026-04-16 17:58:56] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d517980a026.52316096","contact_id":"local_6999bb457cd140.72890768","existing_deal_found":true,"existing_contact_id":"local_6999bb457cd140.72890768","existing_title":"معامله دوم 9198613091 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:58:56"}
[2026-04-16 17:58:56] [INFO] DealController.save validated payments {"deal_id":"local_699d517980a026.52316096","contact_id":"local_6999bb457cd140.72890768","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:58:56] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_6999bb457cd140.72890768","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:58:56] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d517980a026.52316096","contact_didar_id":"local_6999bb457cd140.72890768","title":"معامله دوم 9198613091 | هوش خودرو","base_title_used":"معامله دوم 9198613091","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیر جنگجو","existing_deal":"YES","existing_deal_id":"local_699d517980a026.52316096","existing_deal_status":"Pending","server_time":"2026-04-16 17:58:56","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:56] [INFO] Deal success processed {"contact_id":"local_6999bb457cd140.72890768","person_name":"امیر جنگجو","products_count":1}
[2026-04-16 17:58:56] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d517980a026.52316096","contact_id":"local_6999bb457cd140.72890768","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9198613091 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-16 17:58:56","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:58:56] [INFO] Updating virtual stage {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase","force":true}
[2026-04-16 17:58:56] [INFO] Virtual stage successfully saved {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase"}
[2026-04-16 17:58:56] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_6999bb457cd140.72890768","deal_id":"local_699d517980a026.52316096","target_stage":"with_purchase"}
[2026-04-16 17:58:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-16 17:59:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-16 17:59:20] [INFO] Checking activity reminders 
[2026-04-16 17:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:59:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:50] [INFO] Checking activity reminders 
[2026-04-16 17:59:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 17:59:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 17:59:53] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"6574","deal_id":"local_6999c87b601c02.25199052","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 17:59:53","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:53] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"6574","is_new_deal":false}
[2026-04-16 17:59:53] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 17:59:53] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 17:59:53] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 17:59:53] [INFO] getContactPrimaryPhone called {"contact_id":"6574"}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:53] [INFO] getContactPrimaryPhone result {"contact_id":"6574","person_found":true,"primary_phone":"9120595751"}
[2026-04-16 17:59:53] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120595751"}
[2026-04-16 17:59:53] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120595751","contact_id":"6574","deal_id":"local_6999c87b601c02.25199052","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:59:53"}
[2026-04-16 17:59:53] [INFO] DealController.save existing deal lookup {"deal_id":"local_6999c87b601c02.25199052","contact_id":"6574","existing_deal_found":true,"existing_contact_id":"6574","existing_title":"معامله دوم 9120595751 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 17:59:53"}
[2026-04-16 17:59:53] [INFO] DealController.save validated payments {"deal_id":"local_6999c87b601c02.25199052","contact_id":"6574","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 17:59:53] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6574","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 17:59:53] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6999c87b601c02.25199052","contact_didar_id":"6574","title":"معامله دوم 9120595751 | CIP","base_title_used":"معامله دوم 9120595751","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ایمان رهنما","existing_deal":"YES","existing_deal_id":"local_6999c87b601c02.25199052","existing_deal_status":"Pending","server_time":"2026-04-16 17:59:53","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:53] [INFO] Deal success processed {"contact_id":"6574","person_name":"ایمان رهنما","products_count":1}
[2026-04-16 17:59:53] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6999c87b601c02.25199052","contact_id":"6574","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9120595751 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 17:59:53","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:53] [INFO] Updating virtual stage {"contact_id":"6574","stage_name":"with_purchase","force":true}
[2026-04-16 17:59:53] [INFO] Virtual stage successfully saved {"contact_id":"6574","stage_name":"with_purchase"}
[2026-04-16 17:59:53] [INFO] Moved contact out of kariz after successful deal {"contact_id":"6574","deal_id":"local_6999c87b601c02.25199052","target_stage":"with_purchase"}
[2026-04-16 17:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6574","person_id":"10803"}
[2026-04-16 17:59:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4023","deal_id":"local_699aafe6aa4e63.94418314","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:00:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4023","is_new_deal":false}
[2026-04-16 18:00:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:00:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:00:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:00:18] [INFO] getContactPrimaryPhone called {"contact_id":"4023"}
[2026-04-16 18:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [INFO] getContactPrimaryPhone result {"contact_id":"4023","person_found":true,"primary_phone":"9169615951"}
[2026-04-16 18:00:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9169615951"}
[2026-04-16 18:00:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9169615951","contact_id":"4023","deal_id":"local_699aafe6aa4e63.94418314","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:00:18"}
[2026-04-16 18:00:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aafe6aa4e63.94418314","contact_id":"4023","existing_deal_found":true,"existing_contact_id":"4023","existing_title":"معامله سوم 9169615951 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:00:18"}
[2026-04-16 18:00:18] [INFO] DealController.save validated payments {"deal_id":"local_699aafe6aa4e63.94418314","contact_id":"4023","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:00:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"4023","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:00:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aafe6aa4e63.94418314","contact_didar_id":"4023","title":"معامله سوم 9169615951 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9169615951","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مصطفی رضایی","existing_deal":"YES","existing_deal_id":"local_699aafe6aa4e63.94418314","existing_deal_status":"Pending","server_time":"2026-04-16 18:00:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [INFO] Deal success processed {"contact_id":"4023","person_name":"مصطفی رضایی","products_count":1}
[2026-04-16 18:00:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aafe6aa4e63.94418314","contact_id":"4023","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9169615951 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:00:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:00:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:18] [INFO] Updating virtual stage {"contact_id":"4023","stage_name":"with_purchase","force":true}
[2026-04-16 18:00:18] [INFO] Virtual stage successfully saved {"contact_id":"4023","stage_name":"with_purchase"}
[2026-04-16 18:00:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4023","deal_id":"local_699aafe6aa4e63.94418314","target_stage":"with_purchase"}
[2026-04-16 18:00:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4023","person_id":"2745"}
[2026-04-16 18:00:21] [INFO] Checking activity reminders 
[2026-04-16 18:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:00:51] [INFO] Checking activity reminders 
[2026-04-16 18:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:01:05] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e32f42a2708.57781773","deal_id":"local_695e32f42bbc3","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:01:05","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:01:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e32f42a2708.57781773","is_new_deal":false}
[2026-04-16 18:01:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:05] [INFO] getContactPrimaryPhone called {"contact_id":"local_695e32f42a2708.57781773"}
[2026-04-16 18:01:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:05] [INFO] getContactPrimaryPhone result {"contact_id":"local_695e32f42a2708.57781773","person_found":true,"primary_phone":"9016233601"}
[2026-04-16 18:01:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9016233601"}
[2026-04-16 18:01:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9016233601","contact_id":"local_695e32f42a2708.57781773","deal_id":"local_695e32f42bbc3","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:01:05"}
[2026-04-16 18:01:05] [INFO] DealController.save existing deal lookup {"deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","existing_deal_found":true,"existing_contact_id":"local_695e32f42a2708.57781773","existing_title":"معامله اول 9016233601 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:01:05"}
[2026-04-16 18:01:05] [INFO] DealController.save validated payments {"deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:01:05] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695e32f42a2708.57781773","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:01:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695e32f42bbc3","contact_didar_id":"local_695e32f42a2708.57781773","title":"معامله اول 9016233601 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9016233601","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیررضا داوری","existing_deal":"YES","existing_deal_id":"local_695e32f42bbc3","existing_deal_status":"Pending","server_time":"2026-04-16 18:01:05","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:01:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:05] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9016233601 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:01:05","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:01:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:21] [INFO] Checking activity reminders 
[2026-04-16 18:01:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:01:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:01:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e32f42a2708.57781773","deal_id":"local_695e32f42bbc3","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:01:21","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:01:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e32f42a2708.57781773","is_new_deal":false}
[2026-04-16 18:01:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:01:21] [INFO] getContactPrimaryPhone called {"contact_id":"local_695e32f42a2708.57781773"}
[2026-04-16 18:01:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:21] [INFO] getContactPrimaryPhone result {"contact_id":"local_695e32f42a2708.57781773","person_found":true,"primary_phone":"9016233601"}
[2026-04-16 18:01:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9016233601"}
[2026-04-16 18:01:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9016233601","contact_id":"local_695e32f42a2708.57781773","deal_id":"local_695e32f42bbc3","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:01:21"}
[2026-04-16 18:01:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","existing_deal_found":true,"existing_contact_id":"local_695e32f42a2708.57781773","existing_title":"معامله اول 9016233601 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:01:21"}
[2026-04-16 18:01:21] [INFO] DealController.save validated payments {"deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:01:21] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695e32f42a2708.57781773","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:01:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695e32f42bbc3","contact_didar_id":"local_695e32f42a2708.57781773","title":"معامله اول 9016233601 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9016233601","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیررضا داوری","existing_deal":"YES","existing_deal_id":"local_695e32f42bbc3","existing_deal_status":"Pending","server_time":"2026-04-16 18:01:21","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:01:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:22] [INFO] Deal success processed {"contact_id":"local_695e32f42a2708.57781773","person_name":"امیررضا داوری","products_count":1}
[2026-04-16 18:01:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695e32f42bbc3","contact_id":"local_695e32f42a2708.57781773","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9016233601 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:01:22","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:01:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:22] [INFO] Updating virtual stage {"contact_id":"local_695e32f42a2708.57781773","stage_name":"with_purchase","force":true}
[2026-04-16 18:01:22] [INFO] Virtual stage successfully saved {"contact_id":"local_695e32f42a2708.57781773","stage_name":"with_purchase"}
[2026-04-16 18:01:22] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695e32f42a2708.57781773","deal_id":"local_695e32f42bbc3","target_stage":"with_purchase"}
[2026-04-16 18:01:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e32f42a2708.57781773","person_id":"21555"}
[2026-04-16 18:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:01:51] [INFO] Checking activity reminders 
[2026-04-16 18:01:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:01:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:02:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e330ae80739.10790072","deal_id":"local_695e330aeaa0c","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:02:12","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695e330ae80739.10790072","is_new_deal":false}
[2026-04-16 18:02:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:02:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:02:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:02:12] [INFO] getContactPrimaryPhone called {"contact_id":"local_695e330ae80739.10790072"}
[2026-04-16 18:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:12] [INFO] getContactPrimaryPhone result {"contact_id":"local_695e330ae80739.10790072","person_found":true,"primary_phone":"9123012204"}
[2026-04-16 18:02:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123012204"}
[2026-04-16 18:02:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123012204","contact_id":"local_695e330ae80739.10790072","deal_id":"local_695e330aeaa0c","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:02:12"}
[2026-04-16 18:02:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_695e330aeaa0c","contact_id":"local_695e330ae80739.10790072","existing_deal_found":true,"existing_contact_id":"local_695e330ae80739.10790072","existing_title":"معامله اول 9123012204 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:02:12"}
[2026-04-16 18:02:12] [INFO] DealController.save validated payments {"deal_id":"local_695e330aeaa0c","contact_id":"local_695e330ae80739.10790072","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:02:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695e330ae80739.10790072","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:02:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695e330aeaa0c","contact_didar_id":"local_695e330ae80739.10790072","title":"معامله اول 9123012204 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9123012204","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد جلالی فراهانی","existing_deal":"YES","existing_deal_id":"local_695e330aeaa0c","existing_deal_status":"Pending","server_time":"2026-04-16 18:02:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:12] [INFO] Deal success processed {"contact_id":"local_695e330ae80739.10790072","person_name":"محمد جلالی فراهانی","products_count":1}
[2026-04-16 18:02:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695e330aeaa0c","contact_id":"local_695e330ae80739.10790072","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9123012204 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:02:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:12] [INFO] Updating virtual stage {"contact_id":"local_695e330ae80739.10790072","stage_name":"with_purchase","force":true}
[2026-04-16 18:02:12] [INFO] Virtual stage successfully saved {"contact_id":"local_695e330ae80739.10790072","stage_name":"with_purchase"}
[2026-04-16 18:02:12] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695e330ae80739.10790072","deal_id":"local_695e330aeaa0c","target_stage":"with_purchase"}
[2026-04-16 18:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-16 18:02:21] [INFO] Checking activity reminders 
[2026-04-16 18:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:52] [INFO] Checking activity reminders 
[2026-04-16 18:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:02:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"5575","deal_id":"local_695d1cbc79bfa7.31768892","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:02:59","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:02:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"5575","is_new_deal":false}
[2026-04-16 18:02:59] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:02:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:02:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:02:59] [INFO] getContactPrimaryPhone called {"contact_id":"5575"}
[2026-04-16 18:02:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:59] [INFO] getContactPrimaryPhone result {"contact_id":"5575","person_found":true,"primary_phone":"9121033360"}
[2026-04-16 18:02:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121033360"}
[2026-04-16 18:02:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121033360","contact_id":"5575","deal_id":"local_695d1cbc79bfa7.31768892","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:02:59"}
[2026-04-16 18:02:59] [INFO] DealController.save existing deal lookup {"deal_id":"local_695d1cbc79bfa7.31768892","contact_id":"5575","existing_deal_found":true,"existing_contact_id":"5575","existing_title":"معامله دوم 9121033360 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:02:59"}
[2026-04-16 18:02:59] [INFO] DealController.save validated payments {"deal_id":"local_695d1cbc79bfa7.31768892","contact_id":"5575","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:02:59] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5575","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:02:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695d1cbc79bfa7.31768892","contact_didar_id":"5575","title":"معامله دوم 9121033360 | CIP","base_title_used":"معامله دوم 9121033360","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سیدعلی شهرکردی","existing_deal":"YES","existing_deal_id":"local_695d1cbc79bfa7.31768892","existing_deal_status":"Pending","server_time":"2026-04-16 18:02:59","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:02:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:59] [INFO] Deal success processed {"contact_id":"5575","person_name":"سیدعلی شهرکردی","products_count":1}
[2026-04-16 18:02:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695d1cbc79bfa7.31768892","contact_id":"5575","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9121033360 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:02:59","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:02:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:02:59] [INFO] Updating virtual stage {"contact_id":"5575","stage_name":"with_purchase","force":true}
[2026-04-16 18:02:59] [INFO] Virtual stage successfully saved {"contact_id":"5575","stage_name":"with_purchase"}
[2026-04-16 18:02:59] [INFO] Moved contact out of kariz after successful deal {"contact_id":"5575","deal_id":"local_695d1cbc79bfa7.31768892","target_stage":"with_purchase"}
[2026-04-16 18:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-16 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"11237","deal_id":"local_695d3343717998.45631411","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:03:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"11237","is_new_deal":false}
[2026-04-16 18:03:18] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:03:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:03:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:03:18] [INFO] getContactPrimaryPhone called {"contact_id":"11237"}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [INFO] getContactPrimaryPhone result {"contact_id":"11237","person_found":true,"primary_phone":"9179224006"}
[2026-04-16 18:03:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9179224006"}
[2026-04-16 18:03:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9179224006","contact_id":"11237","deal_id":"local_695d3343717998.45631411","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:03:18"}
[2026-04-16 18:03:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_695d3343717998.45631411","contact_id":"11237","existing_deal_found":true,"existing_contact_id":"11237","existing_title":"معامله سوم 9179224006 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:03:18"}
[2026-04-16 18:03:18] [INFO] DealController.save validated payments {"deal_id":"local_695d3343717998.45631411","contact_id":"11237","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:03:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11237","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:03:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695d3343717998.45631411","contact_didar_id":"11237","title":"معامله سوم 9179224006 | CIP","base_title_used":"معامله سوم 9179224006","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ساداتی","existing_deal":"YES","existing_deal_id":"local_695d3343717998.45631411","existing_deal_status":"Pending","server_time":"2026-04-16 18:03:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [INFO] Deal success processed {"contact_id":"11237","person_name":"ساداتی","products_count":1}
[2026-04-16 18:03:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695d3343717998.45631411","contact_id":"11237","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9179224006 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:03:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:18] [INFO] Updating virtual stage {"contact_id":"11237","stage_name":"with_purchase","force":true}
[2026-04-16 18:03:18] [INFO] Virtual stage successfully saved {"contact_id":"11237","stage_name":"with_purchase"}
[2026-04-16 18:03:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11237","deal_id":"local_695d3343717998.45631411","target_stage":"with_purchase"}
[2026-04-16 18:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-16 18:03:22] [INFO] Checking activity reminders 
[2026-04-16 18:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:03:52] [INFO] Checking activity reminders 
[2026-04-16 18:03:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:03:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:03:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"9815","deal_id":"local_695d336f565e63.30347104","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:04:10","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"9815","is_new_deal":false}
[2026-04-16 18:04:10] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:04:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:04:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:04:10] [INFO] getContactPrimaryPhone called {"contact_id":"9815"}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [INFO] getContactPrimaryPhone result {"contact_id":"9815","person_found":true,"primary_phone":"9153523532"}
[2026-04-16 18:04:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9153523532"}
[2026-04-16 18:04:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9153523532","contact_id":"9815","deal_id":"local_695d336f565e63.30347104","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:04:10"}
[2026-04-16 18:04:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_695d336f565e63.30347104","contact_id":"9815","existing_deal_found":true,"existing_contact_id":"9815","existing_title":"معامله سوم 9153523532 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:04:10"}
[2026-04-16 18:04:10] [INFO] DealController.save validated payments {"deal_id":"local_695d336f565e63.30347104","contact_id":"9815","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:04:10] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9815","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:04:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695d336f565e63.30347104","contact_didar_id":"9815","title":"معامله سوم 9153523532 | CIP","base_title_used":"معامله سوم 9153523532","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حداد","existing_deal":"YES","existing_deal_id":"local_695d336f565e63.30347104","existing_deal_status":"Pending","server_time":"2026-04-16 18:04:10","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [INFO] Deal success processed {"contact_id":"9815","person_name":"حداد","products_count":1}
[2026-04-16 18:04:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695d336f565e63.30347104","contact_id":"9815","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9153523532 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:04:10","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:10] [INFO] Updating virtual stage {"contact_id":"9815","stage_name":"with_purchase","force":true}
[2026-04-16 18:04:10] [INFO] Virtual stage successfully saved {"contact_id":"9815","stage_name":"with_purchase"}
[2026-04-16 18:04:10] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9815","deal_id":"local_695d336f565e63.30347104","target_stage":"with_purchase"}
[2026-04-16 18:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:04:23] [INFO] Checking activity reminders 
[2026-04-16 18:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:04:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:04:53] [INFO] Checking activity reminders 
[2026-04-16 18:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:05:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1356","deal_id":"local_695d28d7dbe864.83114731","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:05:12","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1356","is_new_deal":false}
[2026-04-16 18:05:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:05:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:05:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:05:12] [INFO] getContactPrimaryPhone called {"contact_id":"1356"}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:12] [INFO] getContactPrimaryPhone result {"contact_id":"1356","person_found":true,"primary_phone":"9330145084"}
[2026-04-16 18:05:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330145084"}
[2026-04-16 18:05:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330145084","contact_id":"1356","deal_id":"local_695d28d7dbe864.83114731","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:05:12"}
[2026-04-16 18:05:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_695d28d7dbe864.83114731","contact_id":"1356","existing_deal_found":true,"existing_contact_id":"1356","existing_title":"معامله دوم 9330145084 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:05:12"}
[2026-04-16 18:05:12] [INFO] DealController.save validated payments {"deal_id":"local_695d28d7dbe864.83114731","contact_id":"1356","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:05:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1356","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:05:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695d28d7dbe864.83114731","contact_didar_id":"1356","title":"معامله دوم 9330145084 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9330145084","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"منفرد منفرد","existing_deal":"YES","existing_deal_id":"local_695d28d7dbe864.83114731","existing_deal_status":"Pending","server_time":"2026-04-16 18:05:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:12] [INFO] Deal success processed {"contact_id":"1356","person_name":"منفرد منفرد","products_count":1}
[2026-04-16 18:05:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695d28d7dbe864.83114731","contact_id":"1356","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9330145084 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:05:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:12] [INFO] Updating virtual stage {"contact_id":"1356","stage_name":"with_purchase","force":true}
[2026-04-16 18:05:12] [INFO] Virtual stage successfully saved {"contact_id":"1356","stage_name":"with_purchase"}
[2026-04-16 18:05:12] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1356","deal_id":"local_695d28d7dbe864.83114731","target_stage":"with_purchase"}
[2026-04-16 18:05:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1356","person_id":"1400"}
[2026-04-16 18:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb97ac006d5.10026744","person_id":"21527"}
[2026-04-16 18:05:23] [INFO] Checking activity reminders 
[2026-04-16 18:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:05:53] [INFO] Checking activity reminders 
[2026-04-16 18:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:06:23] [INFO] Checking activity reminders 
[2026-04-16 18:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:06:54] [INFO] Checking activity reminders 
[2026-04-16 18:06:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:06:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:07:24] [INFO] Checking activity reminders 
[2026-04-16 18:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:07:54] [INFO] Checking activity reminders 
[2026-04-16 18:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:08:24] [INFO] Checking activity reminders 
[2026-04-16 18:08:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:08:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:08:54] [INFO] Checking activity reminders 
[2026-04-16 18:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:09:25] [INFO] Checking activity reminders 
[2026-04-16 18:09:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:09:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:09:55] [INFO] Checking activity reminders 
[2026-04-16 18:09:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:09:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:10:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:25] [INFO] Checking activity reminders 
[2026-04-16 18:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:10:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"15299","deal_id":"local_695a6ddcafaf08.89674826","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:10:51","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"15299","is_new_deal":false}
[2026-04-16 18:10:51] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:10:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:10:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:10:51] [INFO] getContactPrimaryPhone called {"contact_id":"15299"}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:51] [INFO] getContactPrimaryPhone result {"contact_id":"15299","person_found":true,"primary_phone":"9135802585"}
[2026-04-16 18:10:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9135802585"}
[2026-04-16 18:10:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9135802585","contact_id":"15299","deal_id":"local_695a6ddcafaf08.89674826","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:10:51"}
[2026-04-16 18:10:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a6ddcafaf08.89674826","contact_id":"15299","existing_deal_found":true,"existing_contact_id":"15299","existing_title":"معامله دوم 9135802585 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:10:51"}
[2026-04-16 18:10:51] [INFO] DealController.save validated payments {"deal_id":"local_695a6ddcafaf08.89674826","contact_id":"15299","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:10:51] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15299","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:10:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a6ddcafaf08.89674826","contact_didar_id":"15299","title":"معامله دوم 9135802585 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9135802585","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پوریا شعبانی","existing_deal":"YES","existing_deal_id":"local_695a6ddcafaf08.89674826","existing_deal_status":"Pending","server_time":"2026-04-16 18:10:51","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:51] [INFO] Deal success processed {"contact_id":"15299","person_name":"پوریا شعبانی","products_count":1}
[2026-04-16 18:10:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a6ddcafaf08.89674826","contact_id":"15299","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9135802585 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:10:51","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:51] [INFO] Updating virtual stage {"contact_id":"15299","stage_name":"with_purchase","force":true}
[2026-04-16 18:10:51] [INFO] Virtual stage successfully saved {"contact_id":"15299","stage_name":"with_purchase"}
[2026-04-16 18:10:51] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15299","deal_id":"local_695a6ddcafaf08.89674826","target_stage":"with_purchase"}
[2026-04-16 18:10:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-16 18:10:55] [INFO] Checking activity reminders 
[2026-04-16 18:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20835","deal_id":"local_695a5fd88b6cc0.74994108","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:11:13","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:11:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20835","is_new_deal":false}
[2026-04-16 18:11:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:11:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:11:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:11:13] [INFO] getContactPrimaryPhone called {"contact_id":"20835"}
[2026-04-16 18:11:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [INFO] getContactPrimaryPhone result {"contact_id":"20835","person_found":true,"primary_phone":"9134338842"}
[2026-04-16 18:11:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134338842"}
[2026-04-16 18:11:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134338842","contact_id":"20835","deal_id":"local_695a5fd88b6cc0.74994108","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:11:13"}
[2026-04-16 18:11:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a5fd88b6cc0.74994108","contact_id":"20835","existing_deal_found":true,"existing_contact_id":"20835","existing_title":"معامله سوم 9134338842 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:11:13"}
[2026-04-16 18:11:13] [INFO] DealController.save validated payments {"deal_id":"local_695a5fd88b6cc0.74994108","contact_id":"20835","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:11:13] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20835","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:11:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a5fd88b6cc0.74994108","contact_didar_id":"20835","title":"معامله سوم 9134338842 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9134338842","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زمانی زمانی","existing_deal":"YES","existing_deal_id":"local_695a5fd88b6cc0.74994108","existing_deal_status":"Pending","server_time":"2026-04-16 18:11:13","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:11:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [INFO] Deal success processed {"contact_id":"20835","person_name":"زمانی زمانی","products_count":1}
[2026-04-16 18:11:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a5fd88b6cc0.74994108","contact_id":"20835","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9134338842 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:11:13","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:11:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:13] [INFO] Updating virtual stage {"contact_id":"20835","stage_name":"with_purchase","force":true}
[2026-04-16 18:11:13] [INFO] Virtual stage successfully saved {"contact_id":"20835","stage_name":"with_purchase"}
[2026-04-16 18:11:13] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20835","deal_id":"local_695a5fd88b6cc0.74994108","target_stage":"with_purchase"}
[2026-04-16 18:11:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"20835","deal_id":"local_6943bd70b63c23.44441993","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:11:25","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"20835","is_new_deal":false}
[2026-04-16 18:11:25] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:11:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:11:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:11:25] [INFO] getContactPrimaryPhone called {"contact_id":"20835"}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] getContactPrimaryPhone result {"contact_id":"20835","person_found":true,"primary_phone":"9134338842"}
[2026-04-16 18:11:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134338842"}
[2026-04-16 18:11:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134338842","contact_id":"20835","deal_id":"local_6943bd70b63c23.44441993","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:11:25"}
[2026-04-16 18:11:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943bd70b63c23.44441993","contact_id":"20835","existing_deal_found":true,"existing_contact_id":"20835","existing_title":"معامله اول 9134338842 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:11:25"}
[2026-04-16 18:11:25] [INFO] DealController.save validated payments {"deal_id":"local_6943bd70b63c23.44441993","contact_id":"20835","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:11:25] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20835","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:11:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943bd70b63c23.44441993","contact_didar_id":"20835","title":"معامله اول 9134338842 | CIP","base_title_used":"معامله اول 9134338842","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زمانی زمانی","existing_deal":"YES","existing_deal_id":"local_6943bd70b63c23.44441993","existing_deal_status":"Pending","server_time":"2026-04-16 18:11:25","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] Deal success processed {"contact_id":"20835","person_name":"زمانی زمانی","products_count":1}
[2026-04-16 18:11:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943bd70b63c23.44441993","contact_id":"20835","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9134338842 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:11:25","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] Updating virtual stage {"contact_id":"20835","stage_name":"with_purchase","force":true}
[2026-04-16 18:11:25] [INFO] Virtual stage successfully saved {"contact_id":"20835","stage_name":"with_purchase"}
[2026-04-16 18:11:25] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20835","deal_id":"local_6943bd70b63c23.44441993","target_stage":"with_purchase"}
[2026-04-16 18:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20835","person_id":"16817"}
[2026-04-16 18:11:25] [INFO] Checking activity reminders 
[2026-04-16 18:11:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:11:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:11:56] [INFO] Checking activity reminders 
[2026-04-16 18:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:12:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:12:09","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15239","is_new_deal":false}
[2026-04-16 18:12:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:12:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:12:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:12:09] [INFO] getContactPrimaryPhone called {"contact_id":"15239"}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:09] [INFO] getContactPrimaryPhone result {"contact_id":"15239","person_found":true,"primary_phone":"9171755459"}
[2026-04-16 18:12:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9171755459"}
[2026-04-16 18:12:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9171755459","contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:12:09"}
[2026-04-16 18:12:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","existing_deal_found":true,"existing_contact_id":"15239","existing_title":"معامله اول 9171755459 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:12:09"}
[2026-04-16 18:12:09] [INFO] DealController.save validated payments {"deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:12:09] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15239","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:12:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694906ec4a8a33.10265829","contact_didar_id":"15239","title":"معامله اول 9171755459 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9171755459","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رهبریان","existing_deal":"YES","existing_deal_id":"local_694906ec4a8a33.10265829","existing_deal_status":"Pending","server_time":"2026-04-16 18:12:09","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:09] [INFO] Deal success processed {"contact_id":"15239","person_name":"رهبریان","products_count":1}
[2026-04-16 18:12:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9171755459 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":39000000,"server_time":"2026-04-16 18:12:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:09] [INFO] Updating virtual stage {"contact_id":"15239","stage_name":"with_purchase","force":true}
[2026-04-16 18:12:09] [INFO] Virtual stage successfully saved {"contact_id":"15239","stage_name":"with_purchase"}
[2026-04-16 18:12:09] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","target_stage":"with_purchase"}
[2026-04-16 18:12:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:27] [INFO] Checking activity reminders 
[2026-04-16 18:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:12:39] [INFO] Deal reactivation requested {"deal_id":"local_694906ec4a8a33.10265829","old_status":"Won","old_stage":"اتمام","new_stage":"پیگیری مانده حساب","reason":""}
[2026-04-16 18:12:39] [INFO] Deal successfully reactivated {"deal_id":"local_694906ec4a8a33.10265829","new_stage":"پیگیری مانده حساب","reason":""}
[2026-04-16 18:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-16 18:12:57] [INFO] Checking activity reminders 
[2026-04-16 18:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-16 18:13:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-16 18:13:27] [INFO] Checking activity reminders 
[2026-04-16 18:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:13:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"6581","deal_id":"local_69490152bf17f2.72285161","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:13:46","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:13:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-16 18:13:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"6581","is_new_deal":false}
[2026-04-16 18:13:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:13:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:13:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:13:46] [INFO] getContactPrimaryPhone called {"contact_id":"6581"}
[2026-04-16 18:13:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-16 18:13:46] [INFO] getContactPrimaryPhone result {"contact_id":"6581","person_found":true,"primary_phone":"9171502157"}
[2026-04-16 18:13:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9171502157"}
[2026-04-16 18:13:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9171502157","contact_id":"6581","deal_id":"local_69490152bf17f2.72285161","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:13:46"}
[2026-04-16 18:13:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_69490152bf17f2.72285161","contact_id":"6581","existing_deal_found":true,"existing_contact_id":"6581","existing_title":"معامله اول 9171502157 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:13:46"}
[2026-04-16 18:13:46] [INFO] DealController.save validated payments {"deal_id":"local_69490152bf17f2.72285161","contact_id":"6581","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:13:46] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6581","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:13:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69490152bf17f2.72285161","contact_didar_id":"6581","title":"معامله اول 9171502157 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9171502157","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":70000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"کریمی","existing_deal":"YES","existing_deal_id":"local_69490152bf17f2.72285161","existing_deal_status":"Pending","server_time":"2026-04-16 18:13:46","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:13:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-16 18:13:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69490152bf17f2.72285161","contact_id":"6581","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9171502157 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":70000000,"server_time":"2026-04-16 18:13:46","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-16 18:13:57] [INFO] Checking activity reminders 
[2026-04-16 18:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:14:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"9809","deal_id":"local_6942b14d19e285.60850838","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:14:19","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"9809","is_new_deal":false}
[2026-04-16 18:14:19] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:14:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:14:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:14:19] [INFO] getContactPrimaryPhone called {"contact_id":"9809"}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [INFO] getContactPrimaryPhone result {"contact_id":"9809","person_found":true,"primary_phone":"9198614231"}
[2026-04-16 18:14:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9198614231"}
[2026-04-16 18:14:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9198614231","contact_id":"9809","deal_id":"local_6942b14d19e285.60850838","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:19"}
[2026-04-16 18:14:19] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942b14d19e285.60850838","contact_id":"9809","existing_deal_found":true,"existing_contact_id":"9809","existing_title":"معامله اول 9198614231 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:19"}
[2026-04-16 18:14:19] [INFO] DealController.save validated payments {"deal_id":"local_6942b14d19e285.60850838","contact_id":"9809","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:14:19] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9809","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:14:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942b14d19e285.60850838","contact_didar_id":"9809","title":"معامله اول 9198614231 | CIP","base_title_used":"معامله اول 9198614231","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اکرمی اکرمی","existing_deal":"YES","existing_deal_id":"local_6942b14d19e285.60850838","existing_deal_status":"Pending","server_time":"2026-04-16 18:14:19","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [INFO] Deal success processed {"contact_id":"9809","person_name":"اکرمی اکرمی","products_count":1}
[2026-04-16 18:14:19] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942b14d19e285.60850838","contact_id":"9809","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9198614231 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:14:19","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:19] [INFO] Updating virtual stage {"contact_id":"9809","stage_name":"with_purchase","force":true}
[2026-04-16 18:14:19] [INFO] Virtual stage successfully saved {"contact_id":"9809","stage_name":"with_purchase"}
[2026-04-16 18:14:19] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9809","deal_id":"local_6942b14d19e285.60850838","target_stage":"with_purchase"}
[2026-04-16 18:14:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9809","person_id":"102"}
[2026-04-16 18:14:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:27] [INFO] Checking activity reminders 
[2026-04-16 18:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:14:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_6942b090749283.81789145","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:14:43","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","is_new_deal":false}
[2026-04-16 18:14:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-16 18:14:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:14:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:14:43] [INFO] getContactPrimaryPhone called {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6"}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:43] [INFO] getContactPrimaryPhone result {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_found":true,"primary_phone":"9127103488"}
[2026-04-16 18:14:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9127103488"}
[2026-04-16 18:14:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9127103488","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_6942b090749283.81789145","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:43"}
[2026-04-16 18:14:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942b090749283.81789145","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","existing_deal_found":true,"existing_contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","existing_title":"معامله دوم 9127103488 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:43"}
[2026-04-16 18:14:43] [INFO] DealController.save validated payments {"deal_id":"local_6942b090749283.81789145","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:14:43] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:14:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942b090749283.81789145","contact_didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","title":"معامله دوم 9127103488 | کارشناسی حضوری","base_title_used":"معامله دوم 9127103488","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سام اسدی","existing_deal":"YES","existing_deal_id":"local_6942b090749283.81789145","existing_deal_status":"Pending","server_time":"2026-04-16 18:14:43","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:43] [INFO] Deal success processed {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_name":"سام اسدی","products_count":3}
[2026-04-16 18:14:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942b090749283.81789145","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9127103488 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:14:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:43] [INFO] Updating virtual stage {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","stage_name":"with_purchase","force":true}
[2026-04-16 18:14:43] [INFO] Virtual stage successfully saved {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","stage_name":"with_purchase"}
[2026-04-16 18:14:43] [INFO] Moved contact out of kariz after successful deal {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_6942b090749283.81789145","target_stage":"with_purchase"}
[2026-04-16 18:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_69429e185bccf","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:14:57","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","is_new_deal":false}
[2026-04-16 18:14:57] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-16 18:14:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-16 18:14:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-16 18:14:57] [INFO] getContactPrimaryPhone called {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6"}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [INFO] getContactPrimaryPhone result {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_found":true,"primary_phone":"9127103488"}
[2026-04-16 18:14:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9127103488"}
[2026-04-16 18:14:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9127103488","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_69429e185bccf","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:57"}
[2026-04-16 18:14:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69429e185bccf","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","existing_deal_found":true,"existing_contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","existing_title":"معامله اول 9127103488 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:14:57"}
[2026-04-16 18:14:57] [INFO] DealController.save validated payments {"deal_id":"local_69429e185bccf","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:14:57] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:14:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69429e185bccf","contact_didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","title":"معامله اول 9127103488 | هوش خودرو","base_title_used":"معامله اول 9127103488","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سام اسدی","existing_deal":"YES","existing_deal_id":"local_69429e185bccf","existing_deal_status":"Pending","server_time":"2026-04-16 18:14:57","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [INFO] Deal success processed {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_name":"سام اسدی","products_count":1}
[2026-04-16 18:14:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69429e185bccf","contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9127103488 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-16 18:14:57","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:57] [INFO] Updating virtual stage {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","stage_name":"with_purchase","force":true}
[2026-04-16 18:14:57] [INFO] Virtual stage successfully saved {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","stage_name":"with_purchase"}
[2026-04-16 18:14:57] [INFO] Moved contact out of kariz after successful deal {"contact_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","deal_id":"local_69429e185bccf","target_stage":"with_purchase"}
[2026-04-16 18:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-16 18:14:58] [INFO] Checking activity reminders 
[2026-04-16 18:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:15:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"7308","deal_id":"local_694927b1bc8300.92279709","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:15:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"7308","is_new_deal":false}
[2026-04-16 18:15:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-16 18:15:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:15:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:15:18] [INFO] getContactPrimaryPhone called {"contact_id":"7308"}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [INFO] getContactPrimaryPhone result {"contact_id":"7308","person_found":true,"primary_phone":"9036369643"}
[2026-04-16 18:15:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9036369643"}
[2026-04-16 18:15:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9036369643","contact_id":"7308","deal_id":"local_694927b1bc8300.92279709","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:15:18"}
[2026-04-16 18:15:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_694927b1bc8300.92279709","contact_id":"7308","existing_deal_found":true,"existing_contact_id":"7308","existing_title":"معامله دوم 9036369643 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:15:18"}
[2026-04-16 18:15:18] [INFO] DealController.save validated payments {"deal_id":"local_694927b1bc8300.92279709","contact_id":"7308","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:15:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7308","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:15:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694927b1bc8300.92279709","contact_didar_id":"7308","title":"معامله دوم 9036369643 | کارشناسی حضوری","base_title_used":"معامله دوم 9036369643","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":8000000,"payment_amount":8000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد لطیفی","existing_deal":"YES","existing_deal_id":"local_694927b1bc8300.92279709","existing_deal_status":"Pending","server_time":"2026-04-16 18:15:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [INFO] Deal success processed {"contact_id":"7308","person_name":"محمد لطیفی","products_count":3}
[2026-04-16 18:15:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694927b1bc8300.92279709","contact_id":"7308","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9036369643 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":8000000,"payment_amount":8000000,"server_time":"2026-04-16 18:15:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:18] [INFO] Updating virtual stage {"contact_id":"7308","stage_name":"with_purchase","force":true}
[2026-04-16 18:15:18] [INFO] Virtual stage successfully saved {"contact_id":"7308","stage_name":"with_purchase"}
[2026-04-16 18:15:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7308","deal_id":"local_694927b1bc8300.92279709","target_stage":"with_purchase"}
[2026-04-16 18:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:15:28] [INFO] Checking activity reminders 
[2026-04-16 18:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:15:58] [INFO] Checking activity reminders 
[2026-04-16 18:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:16:03] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"7308","deal_id":"local_69492784760306.16852470","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:16:03","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"7308","is_new_deal":false}
[2026-04-16 18:16:03] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-16 18:16:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-16 18:16:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-16 18:16:03] [INFO] getContactPrimaryPhone called {"contact_id":"7308"}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:03] [INFO] getContactPrimaryPhone result {"contact_id":"7308","person_found":true,"primary_phone":"9036369643"}
[2026-04-16 18:16:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9036369643"}
[2026-04-16 18:16:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9036369643","contact_id":"7308","deal_id":"local_69492784760306.16852470","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:16:03"}
[2026-04-16 18:16:03] [INFO] DealController.save existing deal lookup {"deal_id":"local_69492784760306.16852470","contact_id":"7308","existing_deal_found":true,"existing_contact_id":"7308","existing_title":"معامله اول 9036369643 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:16:03"}
[2026-04-16 18:16:03] [INFO] DealController.save validated payments {"deal_id":"local_69492784760306.16852470","contact_id":"7308","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:16:03] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7308","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:16:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69492784760306.16852470","contact_didar_id":"7308","title":"معامله اول 9036369643 | هوش خودرو","base_title_used":"معامله اول 9036369643","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":4000000,"payment_amount":4000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد لطیفی","existing_deal":"YES","existing_deal_id":"local_69492784760306.16852470","existing_deal_status":"Pending","server_time":"2026-04-16 18:16:03","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:03] [INFO] Deal success processed {"contact_id":"7308","person_name":"محمد لطیفی","products_count":1}
[2026-04-16 18:16:03] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69492784760306.16852470","contact_id":"7308","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9036369643 | هوش خودرو","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":4000000,"payment_amount":4000000,"server_time":"2026-04-16 18:16:03","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:03] [INFO] Updating virtual stage {"contact_id":"7308","stage_name":"with_purchase","force":true}
[2026-04-16 18:16:03] [INFO] Virtual stage successfully saved {"contact_id":"7308","stage_name":"with_purchase"}
[2026-04-16 18:16:03] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7308","deal_id":"local_69492784760306.16852470","target_stage":"with_purchase"}
[2026-04-16 18:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7308","person_id":"14257"}
[2026-04-16 18:16:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:29] [INFO] Checking activity reminders 
[2026-04-16 18:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:16:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"6971","deal_id":"local_69464b76165298.63985271","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:16:30","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"6971","is_new_deal":false}
[2026-04-16 18:16:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:16:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:16:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:16:30] [INFO] getContactPrimaryPhone called {"contact_id":"6971"}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:30] [INFO] getContactPrimaryPhone result {"contact_id":"6971","person_found":true,"primary_phone":"9910604019"}
[2026-04-16 18:16:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9910604019"}
[2026-04-16 18:16:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9910604019","contact_id":"6971","deal_id":"local_69464b76165298.63985271","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:16:30"}
[2026-04-16 18:16:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69464b76165298.63985271","contact_id":"6971","existing_deal_found":true,"existing_contact_id":"6971","existing_title":"معامله اول 9910604019 | معامله اول 9910604019، کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:16:30"}
[2026-04-16 18:16:30] [INFO] DealController.save validated payments {"deal_id":"local_69464b76165298.63985271","contact_id":"6971","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:16:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6971","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:16:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69464b76165298.63985271","contact_didar_id":"6971","title":"معامله اول 9910604019 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9910604019","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ترکیان ترکیان","existing_deal":"YES","existing_deal_id":"local_69464b76165298.63985271","existing_deal_status":"Pending","server_time":"2026-04-16 18:16:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:30] [INFO] Deal success processed {"contact_id":"6971","person_name":"ترکیان ترکیان","products_count":1}
[2026-04-16 18:16:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69464b76165298.63985271","contact_id":"6971","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9910604019 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:16:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:30] [INFO] Updating virtual stage {"contact_id":"6971","stage_name":"with_purchase","force":true}
[2026-04-16 18:16:30] [INFO] Virtual stage successfully saved {"contact_id":"6971","stage_name":"with_purchase"}
[2026-04-16 18:16:30] [INFO] Moved contact out of kariz after successful deal {"contact_id":"6971","deal_id":"local_69464b76165298.63985271","target_stage":"with_purchase"}
[2026-04-16 18:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6971","person_id":"7226"}
[2026-04-16 18:16:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:16:59] [INFO] Checking activity reminders 
[2026-04-16 18:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:17:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"4009","deal_id":"local_6943a638aeb0d0.96247586","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:17:20","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"4009","is_new_deal":false}
[2026-04-16 18:17:20] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:17:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:17:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:17:20] [INFO] getContactPrimaryPhone called {"contact_id":"4009"}
[2026-04-16 18:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:20] [INFO] getContactPrimaryPhone result {"contact_id":"4009","person_found":true,"primary_phone":"9141010411"}
[2026-04-16 18:17:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9141010411"}
[2026-04-16 18:17:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9141010411","contact_id":"4009","deal_id":"local_6943a638aeb0d0.96247586","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:17:20"}
[2026-04-16 18:17:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943a638aeb0d0.96247586","contact_id":"4009","existing_deal_found":true,"existing_contact_id":"4009","existing_title":"معامله اول 9141010411 | معامله اول 9141010411، CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:17:20"}
[2026-04-16 18:17:20] [INFO] DealController.save validated payments {"deal_id":"local_6943a638aeb0d0.96247586","contact_id":"4009","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:17:20] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"4009","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:17:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943a638aeb0d0.96247586","contact_didar_id":"4009","title":"معامله اول 9141010411 | CIP","base_title_used":"معامله اول 9141010411","services_text":"CIP","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین مالکی","existing_deal":"YES","existing_deal_id":"local_6943a638aeb0d0.96247586","existing_deal_status":"Pending","server_time":"2026-04-16 18:17:20","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:20] [INFO] Deal success processed {"contact_id":"4009","person_name":"حسین مالکی","products_count":1}
[2026-04-16 18:17:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943a638aeb0d0.96247586","contact_id":"4009","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9141010411 | CIP","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:17:20","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:20] [INFO] Updating virtual stage {"contact_id":"4009","stage_name":"with_purchase","force":true}
[2026-04-16 18:17:20] [INFO] Virtual stage successfully saved {"contact_id":"4009","stage_name":"with_purchase"}
[2026-04-16 18:17:20] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4009","deal_id":"local_6943a638aeb0d0.96247586","target_stage":"with_purchase"}
[2026-04-16 18:17:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4009","person_id":"18006"}
[2026-04-16 18:17:29] [INFO] Checking activity reminders 
[2026-04-16 18:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:17:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:17:59] [INFO] Checking activity reminders 
[2026-04-16 18:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:18:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_694b803a1c5325.08790989","deal_id":"local_694b803a20438","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:18:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:18:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_694b803a1c5325.08790989","is_new_deal":false}
[2026-04-16 18:18:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:18] [INFO] getContactPrimaryPhone called {"contact_id":"local_694b803a1c5325.08790989"}
[2026-04-16 18:18:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:18] [INFO] getContactPrimaryPhone result {"contact_id":"local_694b803a1c5325.08790989","person_found":true,"primary_phone":"9174473221"}
[2026-04-16 18:18:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9174473221"}
[2026-04-16 18:18:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9174473221","contact_id":"local_694b803a1c5325.08790989","deal_id":"local_694b803a20438","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:18"}
[2026-04-16 18:18:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","existing_deal_found":true,"existing_contact_id":"local_694b803a1c5325.08790989","existing_title":"معامله اول 9174473221 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:18"}
[2026-04-16 18:18:18] [INFO] DealController.save validated payments {"deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:18:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_694b803a1c5325.08790989","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:18:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694b803a20438","contact_didar_id":"local_694b803a1c5325.08790989","title":"معامله اول 9174473221 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9174473221","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین عبدی پور","existing_deal":"YES","existing_deal_id":"local_694b803a20438","existing_deal_status":"Pending","server_time":"2026-04-16 18:18:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:18:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9174473221 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:18:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:18:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_694b803a1c5325.08790989","deal_id":"local_694b803a20438","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:18:29","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_694b803a1c5325.08790989","is_new_deal":false}
[2026-04-16 18:18:29] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-16 18:18:29] [INFO] getContactPrimaryPhone called {"contact_id":"local_694b803a1c5325.08790989"}
[2026-04-16 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [INFO] getContactPrimaryPhone result {"contact_id":"local_694b803a1c5325.08790989","person_found":true,"primary_phone":"9174473221"}
[2026-04-16 18:18:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9174473221"}
[2026-04-16 18:18:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9174473221","contact_id":"local_694b803a1c5325.08790989","deal_id":"local_694b803a20438","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:29"}
[2026-04-16 18:18:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","existing_deal_found":true,"existing_contact_id":"local_694b803a1c5325.08790989","existing_title":"معامله اول 9174473221 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:29"}
[2026-04-16 18:18:29] [INFO] DealController.save validated payments {"deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:18:29] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_694b803a1c5325.08790989","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:18:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694b803a20438","contact_didar_id":"local_694b803a1c5325.08790989","title":"معامله اول 9174473221 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9174473221","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین عبدی پور","existing_deal":"YES","existing_deal_id":"local_694b803a20438","existing_deal_status":"Pending","server_time":"2026-04-16 18:18:29","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [INFO] Deal success processed {"contact_id":"local_694b803a1c5325.08790989","person_name":"حسین عبدی پور","products_count":1}
[2026-04-16 18:18:29] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694b803a20438","contact_id":"local_694b803a1c5325.08790989","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9174473221 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-16 18:18:29","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:29] [INFO] Updating virtual stage {"contact_id":"local_694b803a1c5325.08790989","stage_name":"with_purchase","force":true}
[2026-04-16 18:18:29] [INFO] Virtual stage successfully saved {"contact_id":"local_694b803a1c5325.08790989","stage_name":"with_purchase"}
[2026-04-16 18:18:29] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_694b803a1c5325.08790989","deal_id":"local_694b803a20438","target_stage":"with_purchase"}
[2026-04-16 18:18:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b803a1c5325.08790989","person_id":"21338"}
[2026-04-16 18:18:30] [INFO] Checking activity reminders 
[2026-04-16 18:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:18:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"1391","deal_id":"local_6943d8cd06c4c8.96096984","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:18:56","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"1391","is_new_deal":false}
[2026-04-16 18:18:56] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:18:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:18:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:18:56] [INFO] getContactPrimaryPhone called {"contact_id":"1391"}
[2026-04-16 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [INFO] getContactPrimaryPhone result {"contact_id":"1391","person_found":true,"primary_phone":"9059493603"}
[2026-04-16 18:18:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9059493603"}
[2026-04-16 18:18:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9059493603","contact_id":"1391","deal_id":"local_6943d8cd06c4c8.96096984","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:56"}
[2026-04-16 18:18:56] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943d8cd06c4c8.96096984","contact_id":"1391","existing_deal_found":true,"existing_contact_id":"1391","existing_title":"معامله اول 9059493603 | معامله اول 9059493603، CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:18:56"}
[2026-04-16 18:18:56] [INFO] DealController.save validated payments {"deal_id":"local_6943d8cd06c4c8.96096984","contact_id":"1391","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:18:56] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1391","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:18:56] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943d8cd06c4c8.96096984","contact_didar_id":"1391","title":"معامله اول 9059493603 | CIP","base_title_used":"معامله اول 9059493603","services_text":"CIP","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین خلج","existing_deal":"YES","existing_deal_id":"local_6943d8cd06c4c8.96096984","existing_deal_status":"Pending","server_time":"2026-04-16 18:18:56","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [INFO] Deal success processed {"contact_id":"1391","person_name":"حسین خلج","products_count":1}
[2026-04-16 18:18:56] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943d8cd06c4c8.96096984","contact_id":"1391","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9059493603 | CIP","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:18:56","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:18:56] [INFO] Updating virtual stage {"contact_id":"1391","stage_name":"with_purchase","force":true}
[2026-04-16 18:18:56] [INFO] Virtual stage successfully saved {"contact_id":"1391","stage_name":"with_purchase"}
[2026-04-16 18:18:56] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1391","deal_id":"local_6943d8cd06c4c8.96096984","target_stage":"with_purchase"}
[2026-04-16 18:18:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1391","person_id":"15525"}
[2026-04-16 18:19:01] [INFO] Checking activity reminders 
[2026-04-16 18:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20830","deal_id":"local_6950f2ac9c9937.73075622","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:19:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20830","is_new_deal":false}
[2026-04-16 18:19:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:19:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:19:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:19:18] [INFO] getContactPrimaryPhone called {"contact_id":"20830"}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [INFO] getContactPrimaryPhone result {"contact_id":"20830","person_found":true,"primary_phone":"9128455376"}
[2026-04-16 18:19:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128455376"}
[2026-04-16 18:19:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128455376","contact_id":"20830","deal_id":"local_6950f2ac9c9937.73075622","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:19:18"}
[2026-04-16 18:19:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f2ac9c9937.73075622","contact_id":"20830","existing_deal_found":true,"existing_contact_id":"20830","existing_title":"معامله دوم 9128455376 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:19:18"}
[2026-04-16 18:19:18] [INFO] DealController.save validated payments {"deal_id":"local_6950f2ac9c9937.73075622","contact_id":"20830","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:19:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20830","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:19:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f2ac9c9937.73075622","contact_didar_id":"20830","title":"معامله دوم 9128455376 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9128455376","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"شایان ناجی","existing_deal":"YES","existing_deal_id":"local_6950f2ac9c9937.73075622","existing_deal_status":"Pending","server_time":"2026-04-16 18:19:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [INFO] Deal success processed {"contact_id":"20830","person_name":"شایان ناجی","products_count":1}
[2026-04-16 18:19:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f2ac9c9937.73075622","contact_id":"20830","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128455376 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:19:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:18] [INFO] Updating virtual stage {"contact_id":"20830","stage_name":"with_purchase","force":true}
[2026-04-16 18:19:18] [INFO] Virtual stage successfully saved {"contact_id":"20830","stage_name":"with_purchase"}
[2026-04-16 18:19:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20830","deal_id":"local_6950f2ac9c9937.73075622","target_stage":"with_purchase"}
[2026-04-16 18:19:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20830","person_id":"20322"}
[2026-04-16 18:19:31] [INFO] Checking activity reminders 
[2026-04-16 18:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:19:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"803","deal_id":"local_69511353a35239.35903037","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:19:47","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"803","is_new_deal":false}
[2026-04-16 18:19:47] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:19:47] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:19:47] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:19:47] [INFO] getContactPrimaryPhone called {"contact_id":"803"}
[2026-04-16 18:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [INFO] getContactPrimaryPhone result {"contact_id":"803","person_found":true,"primary_phone":"9380191819"}
[2026-04-16 18:19:47] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9380191819"}
[2026-04-16 18:19:47] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9380191819","contact_id":"803","deal_id":"local_69511353a35239.35903037","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:19:47"}
[2026-04-16 18:19:47] [INFO] DealController.save existing deal lookup {"deal_id":"local_69511353a35239.35903037","contact_id":"803","existing_deal_found":true,"existing_contact_id":"803","existing_title":"معامله دوم 9380191819 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:19:47"}
[2026-04-16 18:19:47] [INFO] DealController.save validated payments {"deal_id":"local_69511353a35239.35903037","contact_id":"803","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:19:47] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"803","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:19:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69511353a35239.35903037","contact_didar_id":"803","title":"معامله دوم 9380191819 | CIP","base_title_used":"معامله دوم 9380191819","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدیار مهدوی","existing_deal":"YES","existing_deal_id":"local_69511353a35239.35903037","existing_deal_status":"Pending","server_time":"2026-04-16 18:19:47","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [INFO] Deal success processed {"contact_id":"803","person_name":"مهدیار مهدوی","products_count":1}
[2026-04-16 18:19:47] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69511353a35239.35903037","contact_id":"803","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9380191819 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:19:47","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:19:47] [INFO] Updating virtual stage {"contact_id":"803","stage_name":"with_purchase","force":true}
[2026-04-16 18:19:47] [INFO] Virtual stage successfully saved {"contact_id":"803","stage_name":"with_purchase"}
[2026-04-16 18:19:47] [INFO] Moved contact out of kariz after successful deal {"contact_id":"803","deal_id":"local_69511353a35239.35903037","target_stage":"with_purchase"}
[2026-04-16 18:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"803","person_id":"9560"}
[2026-04-16 18:20:01] [INFO] Checking activity reminders 
[2026-04-16 18:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:20:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-16 18:20:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"17032","deal_id":"local_6952737ed46037.38347332","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:20:25","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-16 18:20:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"17032","is_new_deal":false}
[2026-04-16 18:20:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:25] [INFO] getContactPrimaryPhone called {"contact_id":"17032"}
[2026-04-16 18:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-16 18:20:25] [INFO] getContactPrimaryPhone result {"contact_id":"17032","person_found":true,"primary_phone":"9109599500"}
[2026-04-16 18:20:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109599500"}
[2026-04-16 18:20:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109599500","contact_id":"17032","deal_id":"local_6952737ed46037.38347332","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:20:25"}
[2026-04-16 18:20:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_6952737ed46037.38347332","contact_id":"17032","existing_deal_found":true,"existing_contact_id":"17032","existing_title":"معامله سوم 9109599500 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:20:25"}
[2026-04-16 18:20:25] [INFO] DealController.save validated payments {"deal_id":"local_6952737ed46037.38347332","contact_id":"17032","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:20:25] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"17032","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:20:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6952737ed46037.38347332","contact_didar_id":"17032","title":"معامله سوم 9109599500 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9109599500","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علیرضا بابایی","existing_deal":"YES","existing_deal_id":"local_6952737ed46037.38347332","existing_deal_status":"Pending","server_time":"2026-04-16 18:20:25","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-16 18:20:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6952737ed46037.38347332","contact_id":"17032","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9109599500 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":19000000,"server_time":"2026-04-16 18:20:25","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:20:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-16 18:20:31] [INFO] Checking activity reminders 
[2026-04-16 18:20:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:20:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:20:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9202","deal_id":"local_69528b470281c9.45297666","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:20:48","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:20:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9202","is_new_deal":false}
[2026-04-16 18:20:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:20:48] [INFO] getContactPrimaryPhone called {"contact_id":"9202"}
[2026-04-16 18:20:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [INFO] getContactPrimaryPhone result {"contact_id":"9202","person_found":true,"primary_phone":"9160141303"}
[2026-04-16 18:20:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9160141303"}
[2026-04-16 18:20:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9160141303","contact_id":"9202","deal_id":"local_69528b470281c9.45297666","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:20:48"}
[2026-04-16 18:20:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69528b470281c9.45297666","contact_id":"9202","existing_deal_found":true,"existing_contact_id":"9202","existing_title":"معامله دوم 9160141303 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:20:48"}
[2026-04-16 18:20:48] [INFO] DealController.save validated payments {"deal_id":"local_69528b470281c9.45297666","contact_id":"9202","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:20:48] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9202","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:20:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69528b470281c9.45297666","contact_didar_id":"9202","title":"معامله دوم 9160141303 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9160141303","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای یوسف امام","existing_deal":"YES","existing_deal_id":"local_69528b470281c9.45297666","existing_deal_status":"Pending","server_time":"2026-04-16 18:20:48","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:20:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [INFO] Deal success processed {"contact_id":"9202","person_name":"اقای یوسف امام","products_count":1}
[2026-04-16 18:20:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69528b470281c9.45297666","contact_id":"9202","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9160141303 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:20:48","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:20:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:48] [INFO] Updating virtual stage {"contact_id":"9202","stage_name":"with_purchase","force":true}
[2026-04-16 18:20:48] [INFO] Virtual stage successfully saved {"contact_id":"9202","stage_name":"with_purchase"}
[2026-04-16 18:20:48] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9202","deal_id":"local_69528b470281c9.45297666","target_stage":"with_purchase"}
[2026-04-16 18:20:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9202","person_id":"3980"}
[2026-04-16 18:20:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-16 18:21:01] [INFO] Checking activity reminders 
[2026-04-16 18:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:21:17] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8438","deal_id":"local_694a5a967b08b7.60449672","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:21:17","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:21:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-16 18:21:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8438","is_new_deal":false}
[2026-04-16 18:21:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:17] [INFO] getContactPrimaryPhone called {"contact_id":"8438"}
[2026-04-16 18:21:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-16 18:21:17] [INFO] getContactPrimaryPhone result {"contact_id":"8438","person_found":true,"primary_phone":"9120185774"}
[2026-04-16 18:21:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120185774"}
[2026-04-16 18:21:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120185774","contact_id":"8438","deal_id":"local_694a5a967b08b7.60449672","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:21:17"}
[2026-04-16 18:21:17] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a5a967b08b7.60449672","contact_id":"8438","existing_deal_found":true,"existing_contact_id":"8438","existing_title":"معامله اول 9120185774 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:21:17"}
[2026-04-16 18:21:17] [INFO] DealController.save validated payments {"deal_id":"local_694a5a967b08b7.60449672","contact_id":"8438","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:21:17] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"8438","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:21:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a5a967b08b7.60449672","contact_didar_id":"8438","title":"معامله اول 9120185774 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9120185774","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ملکی","existing_deal":"YES","existing_deal_id":"local_694a5a967b08b7.60449672","existing_deal_status":"Pending","server_time":"2026-04-16 18:21:17","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:21:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-16 18:21:17] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a5a967b08b7.60449672","contact_id":"8438","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9120185774 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":27000000,"server_time":"2026-04-16 18:21:17","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:21:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-16 18:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-16 18:21:31] [INFO] Checking activity reminders 
[2026-04-16 18:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:21:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15210","deal_id":"local_6950fbef8031c1.26227361","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:21:36","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-16 18:21:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15210","is_new_deal":false}
[2026-04-16 18:21:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:21:36] [INFO] getContactPrimaryPhone called {"contact_id":"15210"}
[2026-04-16 18:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-16 18:21:36] [INFO] getContactPrimaryPhone result {"contact_id":"15210","person_found":true,"primary_phone":"9188668499"}
[2026-04-16 18:21:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9188668499"}
[2026-04-16 18:21:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9188668499","contact_id":"15210","deal_id":"local_6950fbef8031c1.26227361","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:21:36"}
[2026-04-16 18:21:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950fbef8031c1.26227361","contact_id":"15210","existing_deal_found":true,"existing_contact_id":"15210","existing_title":"معامله دوم 9188668499 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:21:36"}
[2026-04-16 18:21:36] [INFO] DealController.save validated payments {"deal_id":"local_6950fbef8031c1.26227361","contact_id":"15210","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:21:36] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15210","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:21:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950fbef8031c1.26227361","contact_didar_id":"15210","title":"معامله دوم 9188668499 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9188668499","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علی خلیلی","existing_deal":"YES","existing_deal_id":"local_6950fbef8031c1.26227361","existing_deal_status":"Pending","server_time":"2026-04-16 18:21:36","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-16 18:21:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950fbef8031c1.26227361","contact_id":"15210","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9188668499 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":19000000,"server_time":"2026-04-16 18:21:36","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-16 18:21:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:01] [INFO] Checking activity reminders 
[2026-04-16 18:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:22:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"702","deal_id":"local_694169f8109ab4.90320142","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:22:32","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"702","is_new_deal":false}
[2026-04-16 18:22:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:32] [INFO] getContactPrimaryPhone called {"contact_id":"702"}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:32] [INFO] getContactPrimaryPhone result {"contact_id":"702","person_found":true,"primary_phone":"9129559065"}
[2026-04-16 18:22:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129559065"}
[2026-04-16 18:22:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129559065","contact_id":"702","deal_id":"local_694169f8109ab4.90320142","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:22:32"}
[2026-04-16 18:22:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_694169f8109ab4.90320142","contact_id":"702","existing_deal_found":true,"existing_contact_id":"702","existing_title":"معامله اول 9129559065 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:22:32"}
[2026-04-16 18:22:32] [INFO] DealController.save validated payments {"deal_id":"local_694169f8109ab4.90320142","contact_id":"702","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:22:32] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"702","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:22:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694169f8109ab4.90320142","contact_didar_id":"702","title":"معامله اول 9129559065 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9129559065","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیررضا ملامیرزایی","existing_deal":"YES","existing_deal_id":"local_694169f8109ab4.90320142","existing_deal_status":"Pending","server_time":"2026-04-16 18:22:32","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:32] [INFO] Deal success processed {"contact_id":"702","person_name":"امیررضا ملامیرزایی","products_count":1}
[2026-04-16 18:22:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694169f8109ab4.90320142","contact_id":"702","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9129559065 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:22:32","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:32] [INFO] Updating virtual stage {"contact_id":"702","stage_name":"with_purchase","force":true}
[2026-04-16 18:22:32] [INFO] Virtual stage successfully saved {"contact_id":"702","stage_name":"with_purchase"}
[2026-04-16 18:22:32] [INFO] Moved contact out of kariz after successful deal {"contact_id":"702","deal_id":"local_694169f8109ab4.90320142","target_stage":"with_purchase"}
[2026-04-16 18:22:32] [INFO] Checking activity reminders 
[2026-04-16 18:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:22:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-16 18:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-16 18:22:53] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"13077","deal_id":"local_6953ba432b0b87.22040358","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:22:53","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:22:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-16 18:22:53] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"13077","is_new_deal":false}
[2026-04-16 18:22:53] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:53] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:53] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:22:53] [INFO] getContactPrimaryPhone called {"contact_id":"13077"}
[2026-04-16 18:22:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-16 18:22:53] [INFO] getContactPrimaryPhone result {"contact_id":"13077","person_found":true,"primary_phone":"9146923064"}
[2026-04-16 18:22:53] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9146923064"}
[2026-04-16 18:22:53] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9146923064","contact_id":"13077","deal_id":"local_6953ba432b0b87.22040358","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:22:53"}
[2026-04-16 18:22:53] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953ba432b0b87.22040358","contact_id":"13077","existing_deal_found":true,"existing_contact_id":"13077","existing_title":"معامله چهارم 9146923064 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:22:53"}
[2026-04-16 18:22:53] [INFO] DealController.save validated payments {"deal_id":"local_6953ba432b0b87.22040358","contact_id":"13077","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:22:53] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"13077","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:22:53] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953ba432b0b87.22040358","contact_didar_id":"13077","title":"معامله چهارم 9146923064 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9146923064","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":24000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"آزادفر آزادفر","existing_deal":"YES","existing_deal_id":"local_6953ba432b0b87.22040358","existing_deal_status":"Pending","server_time":"2026-04-16 18:22:53","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:22:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-16 18:22:53] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953ba432b0b87.22040358","contact_id":"13077","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله چهارم 9146923064 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":24000000,"server_time":"2026-04-16 18:22:53","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:22:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-16 18:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-16 18:23:02] [INFO] Checking activity reminders 
[2026-04-16 18:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:23:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"20615","deal_id":"local_694aada714d4c4.02253718","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:23:22","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:23:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-16 18:23:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"20615","is_new_deal":false}
[2026-04-16 18:23:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-16 18:23:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 18:23:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-16 18:23:22] [INFO] getContactPrimaryPhone called {"contact_id":"20615"}
[2026-04-16 18:23:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-16 18:23:22] [INFO] getContactPrimaryPhone result {"contact_id":"20615","person_found":true,"primary_phone":"9144211215"}
[2026-04-16 18:23:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144211215"}
[2026-04-16 18:23:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144211215","contact_id":"20615","deal_id":"local_694aada714d4c4.02253718","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:23:22"}
[2026-04-16 18:23:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_694aada714d4c4.02253718","contact_id":"20615","existing_deal_found":true,"existing_contact_id":"20615","existing_title":"معامله اول 9144211215 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:23:22"}
[2026-04-16 18:23:22] [INFO] DealController.save validated payments {"deal_id":"local_694aada714d4c4.02253718","contact_id":"20615","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:23:22] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20615","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:23:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694aada714d4c4.02253718","contact_didar_id":"20615","title":"معامله اول 9144211215 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9144211215","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":54000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد مهری","existing_deal":"YES","existing_deal_id":"local_694aada714d4c4.02253718","existing_deal_status":"Pending","server_time":"2026-04-16 18:23:22","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:23:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-16 18:23:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694aada714d4c4.02253718","contact_id":"20615","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9144211215 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":10000000,"server_time":"2026-04-16 18:23:22","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:23:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-16 18:23:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-16 18:23:33] [INFO] Checking activity reminders 
[2026-04-16 18:23:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:23:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:23:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:03] [INFO] Checking activity reminders 
[2026-04-16 18:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:24:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2693","deal_id":"local_694bc9339ce7e0.29664610","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:24:27","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:24:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2693","is_new_deal":false}
[2026-04-16 18:24:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:24:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:24:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:24:27] [INFO] getContactPrimaryPhone called {"contact_id":"2693"}
[2026-04-16 18:24:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:27] [INFO] getContactPrimaryPhone result {"contact_id":"2693","person_found":true,"primary_phone":"9120637366"}
[2026-04-16 18:24:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120637366"}
[2026-04-16 18:24:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120637366","contact_id":"2693","deal_id":"local_694bc9339ce7e0.29664610","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:24:27"}
[2026-04-16 18:24:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_694bc9339ce7e0.29664610","contact_id":"2693","existing_deal_found":true,"existing_contact_id":"2693","existing_title":"معامله اول 9120637366 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:24:27"}
[2026-04-16 18:24:27] [INFO] DealController.save validated payments {"deal_id":"local_694bc9339ce7e0.29664610","contact_id":"2693","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:24:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"2693","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:24:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694bc9339ce7e0.29664610","contact_didar_id":"2693","title":"معامله اول 9120637366 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9120637366","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد ذبیحیان","existing_deal":"YES","existing_deal_id":"local_694bc9339ce7e0.29664610","existing_deal_status":"Pending","server_time":"2026-04-16 18:24:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:24:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:27] [INFO] Deal success processed {"contact_id":"2693","person_name":"محمد ذبیحیان","products_count":1}
[2026-04-16 18:24:28] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694bc9339ce7e0.29664610","contact_id":"2693","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9120637366 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:24:28","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:24:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:28] [INFO] Updating virtual stage {"contact_id":"2693","stage_name":"with_purchase","force":true}
[2026-04-16 18:24:28] [INFO] Virtual stage successfully saved {"contact_id":"2693","stage_name":"with_purchase"}
[2026-04-16 18:24:28] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2693","deal_id":"local_694bc9339ce7e0.29664610","target_stage":"with_purchase"}
[2026-04-16 18:24:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2693","person_id":"10819"}
[2026-04-16 18:24:33] [INFO] Checking activity reminders 
[2026-04-16 18:24:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:24:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:25:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:04] [INFO] Checking activity reminders 
[2026-04-16 18:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:25:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"16595","deal_id":"local_6943bf81e808f5.45297981","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:25:18","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"16595","is_new_deal":false}
[2026-04-16 18:25:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-16 18:25:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:25:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-16 18:25:18] [INFO] getContactPrimaryPhone called {"contact_id":"16595"}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:18] [INFO] getContactPrimaryPhone result {"contact_id":"16595","person_found":true,"primary_phone":"9381140330"}
[2026-04-16 18:25:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9381140330"}
[2026-04-16 18:25:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9381140330","contact_id":"16595","deal_id":"local_6943bf81e808f5.45297981","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:25:18"}
[2026-04-16 18:25:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943bf81e808f5.45297981","contact_id":"16595","existing_deal_found":true,"existing_contact_id":"16595","existing_title":"معامله اول 9381140330 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:25:18"}
[2026-04-16 18:25:18] [INFO] DealController.save validated payments {"deal_id":"local_6943bf81e808f5.45297981","contact_id":"16595","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:25:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"16595","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:25:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943bf81e808f5.45297981","contact_didar_id":"16595","title":"معامله اول 9381140330 | کارشناسی حضوری","base_title_used":"معامله اول 9381140330","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":8000000,"payment_amount":8000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"چالاکه","existing_deal":"YES","existing_deal_id":"local_6943bf81e808f5.45297981","existing_deal_status":"Pending","server_time":"2026-04-16 18:25:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:18] [INFO] Deal success processed {"contact_id":"16595","person_name":"چالاکه","products_count":3}
[2026-04-16 18:25:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943bf81e808f5.45297981","contact_id":"16595","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9381140330 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":8000000,"payment_amount":8000000,"server_time":"2026-04-16 18:25:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:18] [INFO] Updating virtual stage {"contact_id":"16595","stage_name":"with_purchase","force":true}
[2026-04-16 18:25:18] [INFO] Virtual stage successfully saved {"contact_id":"16595","stage_name":"with_purchase"}
[2026-04-16 18:25:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"16595","deal_id":"local_6943bf81e808f5.45297981","target_stage":"with_purchase"}
[2026-04-16 18:25:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16595","person_id":"9539"}
[2026-04-16 18:25:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-16 18:25:34] [INFO] Checking activity reminders 
[2026-04-16 18:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:25:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20896","deal_id":"local_694ff4ca2ef669.09580004","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:25:41","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:25:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-16 18:25:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20896","is_new_deal":false}
[2026-04-16 18:25:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:25:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:25:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:25:41] [INFO] getContactPrimaryPhone called {"contact_id":"20896"}
[2026-04-16 18:25:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-16 18:25:41] [INFO] getContactPrimaryPhone result {"contact_id":"20896","person_found":true,"primary_phone":"9133220682"}
[2026-04-16 18:25:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133220682"}
[2026-04-16 18:25:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133220682","contact_id":"20896","deal_id":"local_694ff4ca2ef669.09580004","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:25:41"}
[2026-04-16 18:25:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_694ff4ca2ef669.09580004","contact_id":"20896","existing_deal_found":true,"existing_contact_id":"20896","existing_title":"معامله اول 9133220682 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:25:41"}
[2026-04-16 18:25:41] [INFO] DealController.save validated payments {"deal_id":"local_694ff4ca2ef669.09580004","contact_id":"20896","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:25:41] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20896","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:25:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694ff4ca2ef669.09580004","contact_didar_id":"20896","title":"معامله اول 9133220682 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9133220682","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیرحسین مجیری","existing_deal":"YES","existing_deal_id":"local_694ff4ca2ef669.09580004","existing_deal_status":"Pending","server_time":"2026-04-16 18:25:41","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:25:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-16 18:25:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694ff4ca2ef669.09580004","contact_id":"20896","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133220682 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":10000000,"server_time":"2026-04-16 18:25:41","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:25:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-16 18:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-16 18:26:04] [INFO] Checking activity reminders 
[2026-04-16 18:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:26:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7257","deal_id":"local_694fabf1160588.88630768","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:26:09","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:26:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-16 18:26:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7257","is_new_deal":false}
[2026-04-16 18:26:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:09] [INFO] getContactPrimaryPhone called {"contact_id":"7257"}
[2026-04-16 18:26:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-16 18:26:09] [INFO] getContactPrimaryPhone result {"contact_id":"7257","person_found":true,"primary_phone":"9126028802"}
[2026-04-16 18:26:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126028802"}
[2026-04-16 18:26:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126028802","contact_id":"7257","deal_id":"local_694fabf1160588.88630768","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:09"}
[2026-04-16 18:26:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_694fabf1160588.88630768","contact_id":"7257","existing_deal_found":true,"existing_contact_id":"7257","existing_title":"معامله دوم 9126028802 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:09"}
[2026-04-16 18:26:09] [INFO] DealController.save validated payments {"deal_id":"local_694fabf1160588.88630768","contact_id":"7257","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:26:09] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7257","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:26:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694fabf1160588.88630768","contact_didar_id":"7257","title":"معامله دوم 9126028802 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9126028802","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسین افشاری","existing_deal":"YES","existing_deal_id":"local_694fabf1160588.88630768","existing_deal_status":"Pending","server_time":"2026-04-16 18:26:09","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:26:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-16 18:26:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694fabf1160588.88630768","contact_id":"7257","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9126028802 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-16 18:26:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:26:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-16 18:26:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5298","deal_id":"local_695537a38bd1d7.58484701","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:26:30","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:26:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5298","is_new_deal":false}
[2026-04-16 18:26:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:30] [INFO] getContactPrimaryPhone called {"contact_id":"5298"}
[2026-04-16 18:26:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:30] [INFO] getContactPrimaryPhone result {"contact_id":"5298","person_found":true,"primary_phone":"9111566857"}
[2026-04-16 18:26:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111566857"}
[2026-04-16 18:26:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111566857","contact_id":"5298","deal_id":"local_695537a38bd1d7.58484701","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:30"}
[2026-04-16 18:26:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","existing_deal_found":true,"existing_contact_id":"5298","existing_title":"معامله دوم 9111566857 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:30"}
[2026-04-16 18:26:30] [INFO] DealController.save validated payments {"deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:26:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5298","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:26:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695537a38bd1d7.58484701","contact_didar_id":"5298","title":"معامله دوم 9111566857 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9111566857","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد واسو","existing_deal":"YES","existing_deal_id":"local_695537a38bd1d7.58484701","existing_deal_status":"Pending","server_time":"2026-04-16 18:26:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:26:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9111566857 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:26:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:26:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:35] [INFO] Checking activity reminders 
[2026-04-16 18:26:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:26:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:26:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5298","deal_id":"local_695537a38bd1d7.58484701","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:26:40","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5298","is_new_deal":false}
[2026-04-16 18:26:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:26:40] [INFO] getContactPrimaryPhone called {"contact_id":"5298"}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:40] [INFO] getContactPrimaryPhone result {"contact_id":"5298","person_found":true,"primary_phone":"9111566857"}
[2026-04-16 18:26:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111566857"}
[2026-04-16 18:26:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111566857","contact_id":"5298","deal_id":"local_695537a38bd1d7.58484701","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:40"}
[2026-04-16 18:26:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","existing_deal_found":true,"existing_contact_id":"5298","existing_title":"معامله دوم 9111566857 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:26:40"}
[2026-04-16 18:26:40] [INFO] DealController.save validated payments {"deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:26:40] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5298","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:26:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695537a38bd1d7.58484701","contact_didar_id":"5298","title":"معامله دوم 9111566857 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9111566857","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد واسو","existing_deal":"YES","existing_deal_id":"local_695537a38bd1d7.58484701","existing_deal_status":"Pending","server_time":"2026-04-16 18:26:40","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:40] [INFO] Deal success processed {"contact_id":"5298","person_name":"محمد واسو","products_count":1}
[2026-04-16 18:26:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695537a38bd1d7.58484701","contact_id":"5298","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9111566857 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:26:40","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:40] [INFO] Updating virtual stage {"contact_id":"5298","stage_name":"with_purchase","force":true}
[2026-04-16 18:26:40] [INFO] Virtual stage successfully saved {"contact_id":"5298","stage_name":"with_purchase"}
[2026-04-16 18:26:40] [INFO] Moved contact out of kariz after successful deal {"contact_id":"5298","deal_id":"local_695537a38bd1d7.58484701","target_stage":"with_purchase"}
[2026-04-16 18:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5298","person_id":"11392"}
[2026-04-16 18:26:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-16 18:27:05] [INFO] Checking activity reminders 
[2026-04-16 18:27:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:27:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:27:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11331","deal_id":"local_69553a88daa368.52886624","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:27:07","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:27:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-16 18:27:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11331","is_new_deal":false}
[2026-04-16 18:27:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:07] [INFO] getContactPrimaryPhone called {"contact_id":"11331"}
[2026-04-16 18:27:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-16 18:27:07] [INFO] getContactPrimaryPhone result {"contact_id":"11331","person_found":true,"primary_phone":"9126980063"}
[2026-04-16 18:27:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126980063"}
[2026-04-16 18:27:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126980063","contact_id":"11331","deal_id":"local_69553a88daa368.52886624","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:07"}
[2026-04-16 18:27:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_69553a88daa368.52886624","contact_id":"11331","existing_deal_found":true,"existing_contact_id":"11331","existing_title":"معامله سوم 9126980063 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:07"}
[2026-04-16 18:27:07] [INFO] DealController.save validated payments {"deal_id":"local_69553a88daa368.52886624","contact_id":"11331","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:27:07] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11331","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:27:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69553a88daa368.52886624","contact_didar_id":"11331","title":"معامله سوم 9126980063 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9126980063","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"میترا بمانیان","existing_deal":"YES","existing_deal_id":"local_69553a88daa368.52886624","existing_deal_status":"Pending","server_time":"2026-04-16 18:27:07","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:27:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-16 18:27:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69553a88daa368.52886624","contact_id":"11331","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9126980063 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":19000000,"server_time":"2026-04-16 18:27:07","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:27:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-16 18:27:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"14806","deal_id":"local_69554129c21440.55729672","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:27:27","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"14806","is_new_deal":false}
[2026-04-16 18:27:27] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-16 18:27:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-16 18:27:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-16 18:27:27] [INFO] getContactPrimaryPhone called {"contact_id":"14806"}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [INFO] getContactPrimaryPhone result {"contact_id":"14806","person_found":true,"primary_phone":"9161619573"}
[2026-04-16 18:27:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9161619573"}
[2026-04-16 18:27:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9161619573","contact_id":"14806","deal_id":"local_69554129c21440.55729672","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:27"}
[2026-04-16 18:27:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_69554129c21440.55729672","contact_id":"14806","existing_deal_found":true,"existing_contact_id":"14806","existing_title":"معامله دوم 9161619573 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:27"}
[2026-04-16 18:27:27] [INFO] DealController.save validated payments {"deal_id":"local_69554129c21440.55729672","contact_id":"14806","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-16 18:27:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14806","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:27:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69554129c21440.55729672","contact_didar_id":"14806","title":"معامله دوم 9161619573 | CIP","base_title_used":"معامله دوم 9161619573","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"دالوند دالوند","existing_deal":"YES","existing_deal_id":"local_69554129c21440.55729672","existing_deal_status":"Pending","server_time":"2026-04-16 18:27:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [INFO] Deal success processed {"contact_id":"14806","person_name":"دالوند دالوند","products_count":1}
[2026-04-16 18:27:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69554129c21440.55729672","contact_id":"14806","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9161619573 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-16 18:27:27","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:27] [INFO] Updating virtual stage {"contact_id":"14806","stage_name":"with_purchase","force":true}
[2026-04-16 18:27:27] [INFO] Virtual stage successfully saved {"contact_id":"14806","stage_name":"with_purchase"}
[2026-04-16 18:27:27] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14806","deal_id":"local_69554129c21440.55729672","target_stage":"with_purchase"}
[2026-04-16 18:27:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-16 18:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:35] [INFO] Checking activity reminders 
[2026-04-16 18:27:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:27:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-16 18:27:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2382","deal_id":"local_6950f6e0630c50.78968489","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-16 18:27:50","session_id":"v7mrmpi5vhp4vgpuo3j3v5a5o9"}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2382","is_new_deal":false}
[2026-04-16 18:27:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-16 18:27:50] [INFO] getContactPrimaryPhone called {"contact_id":"2382"}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:50] [INFO] getContactPrimaryPhone result {"contact_id":"2382","person_found":true,"primary_phone":"9306583704"}
[2026-04-16 18:27:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9306583704"}
[2026-04-16 18:27:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9306583704","contact_id":"2382","deal_id":"local_6950f6e0630c50.78968489","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:50"}
[2026-04-16 18:27:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f6e0630c50.78968489","contact_id":"2382","existing_deal_found":true,"existing_contact_id":"2382","existing_title":"معامله اول 9306583704 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-16 18:27:50"}
[2026-04-16 18:27:50] [INFO] DealController.save validated payments {"deal_id":"local_6950f6e0630c50.78968489","contact_id":"2382","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-16 18:27:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"2382","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-16 18:27:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f6e0630c50.78968489","contact_didar_id":"2382","title":"معامله اول 9306583704 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9306583704","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رضا نیکخواه","existing_deal":"YES","existing_deal_id":"local_6950f6e0630c50.78968489","existing_deal_status":"Pending","server_time":"2026-04-16 18:27:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:50] [INFO] Deal success processed {"contact_id":"2382","person_name":"رضا نیکخواه","products_count":1}
[2026-04-16 18:27:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f6e0630c50.78968489","contact_id":"2382","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9306583704 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-16 18:27:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:50] [INFO] Updating virtual stage {"contact_id":"2382","stage_name":"with_purchase","force":true}
[2026-04-16 18:27:50] [INFO] Virtual stage successfully saved {"contact_id":"2382","stage_name":"with_purchase"}
[2026-04-16 18:27:50] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2382","deal_id":"local_6950f6e0630c50.78968489","target_stage":"with_purchase"}
[2026-04-16 18:27:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2382","person_id":"1606"}
[2026-04-16 18:27:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-16 18:28:06] [INFO] Checking activity reminders 
[2026-04-16 18:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-16 18:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:25:05] [WARNING] Auth check failed - not authenticated {"session_id":"ukvo9rgmn1c6kcmpcudmr6cr4s","session_keys":[],"action":"log_client_event"}
[2026-04-17 15:25:05] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-17 15:25:05] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-17 15:25:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-17 15:25:07] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-17 15:25:07] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-17 15:25:07] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-17 15:25:37] [INFO] Checking activity reminders 
[2026-04-17 15:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-17 15:26:10] [INFO] Checking activity reminders 
[2026-04-17 15:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:26:41] [INFO] Checking activity reminders 
[2026-04-17 15:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:27:11] [INFO] Checking activity reminders 
[2026-04-17 15:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:27:42] [INFO] Checking activity reminders 
[2026-04-17 15:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:28:12] [INFO] Checking activity reminders 
[2026-04-17 15:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:28:42] [INFO] Checking activity reminders 
[2026-04-17 15:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:29:13] [INFO] Checking activity reminders 
[2026-04-17 15:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:29:43] [INFO] Checking activity reminders 
[2026-04-17 15:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:30:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-17 15:30:13] [INFO] Checking activity reminders 
[2026-04-17 15:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:30:45] [INFO] Checking activity reminders 
[2026-04-17 15:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:31:15] [INFO] Checking activity reminders 
[2026-04-17 15:31:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:31:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:31:46] [INFO] Checking activity reminders 
[2026-04-17 15:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:32:16] [INFO] Checking activity reminders 
[2026-04-17 15:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:32:47] [INFO] Checking activity reminders 
[2026-04-17 15:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:33:17] [INFO] Checking activity reminders 
[2026-04-17 15:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:33:48] [INFO] Checking activity reminders 
[2026-04-17 15:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:34:18] [INFO] Checking activity reminders 
[2026-04-17 15:34:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:34:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:34:49] [INFO] Checking activity reminders 
[2026-04-17 15:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:35:19] [INFO] Checking activity reminders 
[2026-04-17 15:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:35:49] [INFO] Checking activity reminders 
[2026-04-17 15:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:50:02] [WARNING] Auth check failed - not authenticated {"session_id":"5rphug1uhtekkaloo9b99pr29h","session_keys":[],"action":"log_client_event"}
[2026-04-17 15:50:03] [INFO] Master password used for login {"user_id":"15","identifier":"خانم شایسته","role":"agent"}
[2026-04-17 15:50:03] [INFO] User logged in {"user_id":"15","email":"hanaficars9@gmail.com","role":"agent","via_master":true}
[2026-04-17 15:50:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-17 15:50:16] [WARNING] Auth check failed - not authenticated {"session_id":"5rphug1uhtekkaloo9b99pr29h","session_keys":[],"action":"log_client_event"}
[2026-04-17 15:50:16] [WARNING] Auth check failed - not authenticated {"session_id":"5rphug1uhtekkaloo9b99pr29h","session_keys":[],"action":"log_client_event"}
[2026-04-17 15:50:16] [WARNING] Auth check failed - not authenticated {"session_id":"5rphug1uhtekkaloo9b99pr29h","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-17 15:50:26] [INFO] Master password used for login {"user_id":"15","identifier":"خانم شایسته","role":"agent"}
[2026-04-17 15:50:26] [INFO] User logged in {"user_id":"15","email":"hanaficars9@gmail.com","role":"agent","via_master":true}
[2026-04-17 15:50:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-17 15:50:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-17 15:50:57] [INFO] Checking activity reminders 
[2026-04-17 15:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:51:27] [INFO] Checking activity reminders 
[2026-04-17 15:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-17 15:51:57] [INFO] Checking activity reminders 
[2026-04-17 15:51:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:51:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:52:28] [INFO] Checking activity reminders 
[2026-04-17 15:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 15:52:58] [INFO] Checking activity reminders 
[2026-04-17 15:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 15:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:13:02] [INFO] Checking activity reminders 
[2026-04-17 16:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:13:33] [INFO] Checking activity reminders 
[2026-04-17 16:13:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:13:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:16:13] [WARNING] Auth check failed - not authenticated {"session_id":"cvlfk1ts839jhqah8dfapjo928","session_keys":[],"action":"log_client_event"}
[2026-04-17 16:16:13] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-17 16:16:13] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-17 16:16:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21152","person_id":"3607"}
[2026-04-17 16:16:29] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-17 16:16:59] [INFO] Checking activity reminders 
[2026-04-17 16:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:17:29] [INFO] Checking activity reminders 
[2026-04-17 16:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:17:59] [INFO] Checking activity reminders 
[2026-04-17 16:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:19:03] [INFO] Checking activity reminders 
[2026-04-17 16:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:19:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15491","deal_id":"local_69427f919cfb44.45541137","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-17 16:19:25","session_id":"cvlfk1ts839jhqah8dfapjo928"}
[2026-04-17 16:19:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:19:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15491","is_new_deal":false}
[2026-04-17 16:19:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-17 16:19:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-17 16:19:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-17 16:19:25] [INFO] getContactPrimaryPhone called {"contact_id":"15491"}
[2026-04-17 16:19:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:19:25] [INFO] getContactPrimaryPhone result {"contact_id":"15491","person_found":true,"primary_phone":"9306449776"}
[2026-04-17 16:19:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9306449776"}
[2026-04-17 16:19:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9306449776","contact_id":"15491","deal_id":"local_69427f919cfb44.45541137","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-17 16:19:25"}
[2026-04-17 16:19:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","existing_deal_found":true,"existing_contact_id":"15491","existing_title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-17 16:19:25"}
[2026-04-17 16:19:25] [INFO] DealController.save validated payments {"deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","payments_count":4,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-17 16:19:25] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"15491","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-17 16:19:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69427f919cfb44.45541137","contact_didar_id":"15491","title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9306449776","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضایی مقدم","existing_deal":"YES","existing_deal_id":"local_69427f919cfb44.45541137","existing_deal_status":"Pending","server_time":"2026-04-17 16:19:25","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-17 16:19:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:19:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-17 16:19:25","ip_address":"5.116.248.44","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-17 16:19:33] [INFO] Checking activity reminders 
[2026-04-17 16:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:19:44] [INFO] Checking activity reminders 
[2026-04-17 16:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:20:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:15] [INFO] Checking activity reminders 
[2026-04-17 16:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-17 16:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-17 16:20:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15491","deal_id":"local_69427f919cfb44.45541137","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-17 16:20:20","session_id":"cvlfk1ts839jhqah8dfapjo928"}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15491","is_new_deal":false}
[2026-04-17 16:20:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-17 16:20:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-17 16:20:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-17 16:20:20] [INFO] getContactPrimaryPhone called {"contact_id":"15491"}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:20] [INFO] getContactPrimaryPhone result {"contact_id":"15491","person_found":true,"primary_phone":"9306449776"}
[2026-04-17 16:20:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9306449776"}
[2026-04-17 16:20:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9306449776","contact_id":"15491","deal_id":"local_69427f919cfb44.45541137","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-17 16:20:20"}
[2026-04-17 16:20:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","existing_deal_found":true,"existing_contact_id":"15491","existing_title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-17 16:20:20"}
[2026-04-17 16:20:20] [INFO] DealController.save validated payments {"deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","payments_count":4,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-17 16:20:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"15491","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-17 16:20:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69427f919cfb44.45541137","contact_didar_id":"15491","title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9306449776","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضایی مقدم","existing_deal":"YES","existing_deal_id":"local_69427f919cfb44.45541137","existing_deal_status":"Pending","server_time":"2026-04-17 16:20:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:20] [INFO] Deal success processed {"contact_id":"15491","person_name":"رضایی مقدم","products_count":1}
[2026-04-17 16:20:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69427f919cfb44.45541137","contact_id":"15491","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9306449776 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-17 16:20:20","ip_address":"5.116.248.44","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-17 16:20:20] [INFO] Updating virtual stage {"contact_id":"15491","stage_name":"with_purchase","force":true}
[2026-04-17 16:20:20] [INFO] Virtual stage successfully saved {"contact_id":"15491","stage_name":"with_purchase"}
[2026-04-17 16:20:20] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15491","deal_id":"local_69427f919cfb44.45541137","target_stage":"with_purchase"}
[2026-04-17 16:20:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-18 09:41:32] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 09:41:32] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 09:41:32] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 09:41:32] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 09:41:32] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 09:41:32] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-18 09:41:32] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-18 09:41:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:03] [INFO] Checking activity reminders 
[2026-04-18 09:42:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:42:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:42:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"4723","deal_id":"local_695b8400469600.69032768","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:42:14","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"4723","is_new_deal":false}
[2026-04-18 09:42:14] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 09:42:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 09:42:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 09:42:14] [INFO] getContactPrimaryPhone called {"contact_id":"4723"}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:14] [INFO] getContactPrimaryPhone result {"contact_id":"4723","person_found":true,"primary_phone":"9173517819"}
[2026-04-18 09:42:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9173517819"}
[2026-04-18 09:42:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9173517819","contact_id":"4723","deal_id":"local_695b8400469600.69032768","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:14"}
[2026-04-18 09:42:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b8400469600.69032768","contact_id":"4723","existing_deal_found":true,"existing_contact_id":"4723","existing_title":"معامله سوم 9173517819 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:14"}
[2026-04-18 09:42:14] [INFO] DealController.save validated payments {"deal_id":"local_695b8400469600.69032768","contact_id":"4723","payments_count":1,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 09:42:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4723","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:42:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b8400469600.69032768","contact_didar_id":"4723","title":"معامله سوم 9173517819 | CIP","base_title_used":"معامله سوم 9173517819","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":200000000,"payment_amount":50000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"تصدیقی اباده","existing_deal":"YES","existing_deal_id":"local_695b8400469600.69032768","existing_deal_status":"Pending","server_time":"2026-04-18 09:42:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:14] [INFO] Deal success processed {"contact_id":"4723","person_name":"تصدیقی اباده","products_count":1}
[2026-04-18 09:42:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b8400469600.69032768","contact_id":"4723","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9173517819 | CIP","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":200000000,"payment_amount":50000000,"server_time":"2026-04-18 09:42:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:14] [INFO] Updating virtual stage {"contact_id":"4723","stage_name":"with_purchase","force":true}
[2026-04-18 09:42:14] [INFO] Virtual stage successfully saved {"contact_id":"4723","stage_name":"with_purchase"}
[2026-04-18 09:42:14] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4723","deal_id":"local_695b8400469600.69032768","target_stage":"with_purchase"}
[2026-04-18 09:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4723","deal_id":"local_694283cf45c345.84978021","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:42:32","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4723","is_new_deal":false}
[2026-04-18 09:42:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:42:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:42:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:42:32] [INFO] getContactPrimaryPhone called {"contact_id":"4723"}
[2026-04-18 09:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [INFO] getContactPrimaryPhone result {"contact_id":"4723","person_found":true,"primary_phone":"9173517819"}
[2026-04-18 09:42:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9173517819"}
[2026-04-18 09:42:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9173517819","contact_id":"4723","deal_id":"local_694283cf45c345.84978021","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:32"}
[2026-04-18 09:42:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_694283cf45c345.84978021","contact_id":"4723","existing_deal_found":true,"existing_contact_id":"4723","existing_title":"معامله اول 9173517819 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:32"}
[2026-04-18 09:42:32] [INFO] DealController.save validated payments {"deal_id":"local_694283cf45c345.84978021","contact_id":"4723","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:42:32] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4723","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:42:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694283cf45c345.84978021","contact_didar_id":"4723","title":"معامله اول 9173517819 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9173517819","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"تصدیقی اباده","existing_deal":"YES","existing_deal_id":"local_694283cf45c345.84978021","existing_deal_status":"Pending","server_time":"2026-04-18 09:42:32","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [INFO] Deal success processed {"contact_id":"4723","person_name":"تصدیقی اباده","products_count":1}
[2026-04-18 09:42:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694283cf45c345.84978021","contact_id":"4723","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9173517819 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:42:32","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:32] [INFO] Updating virtual stage {"contact_id":"4723","stage_name":"with_purchase","force":true}
[2026-04-18 09:42:32] [INFO] Virtual stage successfully saved {"contact_id":"4723","stage_name":"with_purchase"}
[2026-04-18 09:42:32] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4723","deal_id":"local_694283cf45c345.84978021","target_stage":"with_purchase"}
[2026-04-18 09:42:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-18 09:42:33] [INFO] Checking activity reminders 
[2026-04-18 09:42:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:42:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:42:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a249a1c877.54145015","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:42:58","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_new_deal":false}
[2026-04-18 09:42:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-18 09:42:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-18 09:42:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-18 09:42:58] [INFO] getContactPrimaryPhone called {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b"}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [INFO] getContactPrimaryPhone result {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_found":true,"primary_phone":"9109108290"}
[2026-04-18 09:42:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109108290"}
[2026-04-18 09:42:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109108290","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a249a1c877.54145015","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:58"}
[2026-04-18 09:42:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_6946a249a1c877.54145015","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_deal_found":true,"existing_contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_title":"معامله دوم 9109108290 | کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:42:58"}
[2026-04-18 09:42:58] [INFO] DealController.save validated payments {"deal_id":"local_6946a249a1c877.54145015","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:42:58] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:42:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6946a249a1c877.54145015","contact_didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","title":"معامله دوم 9109108290 | کارشناسی حضوری","base_title_used":"معامله دوم 9109108290","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای پوریا دیبایی","existing_deal":"YES","existing_deal_id":"local_6946a249a1c877.54145015","existing_deal_status":"Pending","server_time":"2026-04-18 09:42:58","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [INFO] Deal success processed {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_name":"اقای پوریا دیبایی","products_count":3}
[2026-04-18 09:42:58] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6946a249a1c877.54145015","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9109108290 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 09:42:58","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:42:58] [INFO] Updating virtual stage {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","stage_name":"with_purchase","force":true}
[2026-04-18 09:42:58] [INFO] Virtual stage successfully saved {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","stage_name":"with_purchase"}
[2026-04-18 09:42:58] [INFO] Moved contact out of kariz after successful deal {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a249a1c877.54145015","target_stage":"with_purchase"}
[2026-04-18 09:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:43:06] [INFO] Checking activity reminders 
[2026-04-18 09:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:43:36] [INFO] Checking activity reminders 
[2026-04-18 09:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:44:07] [INFO] Checking activity reminders 
[2026-04-18 09:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:44:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a18fe6dc68.07866877","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:44:14","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:44:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_new_deal":false}
[2026-04-18 09:44:14] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 09:44:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 09:44:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 09:44:14] [INFO] getContactPrimaryPhone called {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b"}
[2026-04-18 09:44:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:14] [INFO] getContactPrimaryPhone result {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_found":true,"primary_phone":"9109108290"}
[2026-04-18 09:44:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109108290"}
[2026-04-18 09:44:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109108290","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a18fe6dc68.07866877","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:44:14"}
[2026-04-18 09:44:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_deal_found":true,"existing_contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_title":"معامله اول 9109108290 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:44:14"}
[2026-04-18 09:44:14] [INFO] DealController.save validated payments {"deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-18 09:44:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:44:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6946a18fe6dc68.07866877","contact_didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","title":"معامله اول 9109108290 | هوش خودرو","base_title_used":"معامله اول 9109108290","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای پوریا دیبایی","existing_deal":"YES","existing_deal_id":"local_6946a18fe6dc68.07866877","existing_deal_status":"Pending","server_time":"2026-04-18 09:44:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:44:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9109108290 | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-18 09:44:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:44:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a18fe6dc68.07866877","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:44:28","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:44:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_new_deal":false}
[2026-04-18 09:44:28] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 09:44:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 09:44:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 09:44:28] [INFO] getContactPrimaryPhone called {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b"}
[2026-04-18 09:44:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [INFO] getContactPrimaryPhone result {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_found":true,"primary_phone":"9109108290"}
[2026-04-18 09:44:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109108290"}
[2026-04-18 09:44:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109108290","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a18fe6dc68.07866877","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:44:28"}
[2026-04-18 09:44:28] [INFO] DealController.save existing deal lookup {"deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_deal_found":true,"existing_contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","existing_title":"معامله اول 9109108290 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:44:28"}
[2026-04-18 09:44:28] [INFO] DealController.save validated payments {"deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:44:28] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:44:28] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6946a18fe6dc68.07866877","contact_didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","title":"معامله اول 9109108290 | هوش خودرو","base_title_used":"معامله اول 9109108290","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای پوریا دیبایی","existing_deal":"YES","existing_deal_id":"local_6946a18fe6dc68.07866877","existing_deal_status":"Pending","server_time":"2026-04-18 09:44:28","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:44:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [INFO] Deal success processed {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_name":"اقای پوریا دیبایی","products_count":1}
[2026-04-18 09:44:28] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6946a18fe6dc68.07866877","contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9109108290 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-18 09:44:28","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:44:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:28] [INFO] Updating virtual stage {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","stage_name":"with_purchase","force":true}
[2026-04-18 09:44:28] [INFO] Virtual stage successfully saved {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","stage_name":"with_purchase"}
[2026-04-18 09:44:28] [INFO] Moved contact out of kariz after successful deal {"contact_id":"dd5750cf-501b-4823-ad08-305832523f5b","deal_id":"local_6946a18fe6dc68.07866877","target_stage":"with_purchase"}
[2026-04-18 09:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"dd5750cf-501b-4823-ad08-305832523f5b","person_id":"21086"}
[2026-04-18 09:44:37] [INFO] Checking activity reminders 
[2026-04-18 09:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:44:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:07] [INFO] Checking activity reminders 
[2026-04-18 09:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:45:29] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13913","deal_id":"local_694920ffda90a8.92822313","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:45:29","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13913","is_new_deal":false}
[2026-04-18 09:45:29] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:29] [INFO] getContactPrimaryPhone called {"contact_id":"13913"}
[2026-04-18 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:29] [INFO] getContactPrimaryPhone result {"contact_id":"13913","person_found":true,"primary_phone":"9128483573"}
[2026-04-18 09:45:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128483573"}
[2026-04-18 09:45:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128483573","contact_id":"13913","deal_id":"local_694920ffda90a8.92822313","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:45:29"}
[2026-04-18 09:45:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","existing_deal_found":true,"existing_contact_id":"13913","existing_title":"معامله اول 9128483573 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:45:29"}
[2026-04-18 09:45:29] [INFO] DealController.save validated payments {"deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:45:29] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13913","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:45:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694920ffda90a8.92822313","contact_didar_id":"13913","title":"معامله اول 9128483573 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9128483573","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای عبادی","existing_deal":"YES","existing_deal_id":"local_694920ffda90a8.92822313","existing_deal_status":"Pending","server_time":"2026-04-18 09:45:29","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:29] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128483573 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 09:45:29","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:37] [INFO] Checking activity reminders 
[2026-04-18 09:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:45:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13913","deal_id":"local_694920ffda90a8.92822313","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:45:43","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13913","is_new_deal":false}
[2026-04-18 09:45:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:45:43] [INFO] getContactPrimaryPhone called {"contact_id":"13913"}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:43] [INFO] getContactPrimaryPhone result {"contact_id":"13913","person_found":true,"primary_phone":"9128483573"}
[2026-04-18 09:45:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128483573"}
[2026-04-18 09:45:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128483573","contact_id":"13913","deal_id":"local_694920ffda90a8.92822313","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:45:43"}
[2026-04-18 09:45:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","existing_deal_found":true,"existing_contact_id":"13913","existing_title":"معامله اول 9128483573 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:45:43"}
[2026-04-18 09:45:43] [INFO] DealController.save validated payments {"deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:45:43] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13913","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:45:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694920ffda90a8.92822313","contact_didar_id":"13913","title":"معامله اول 9128483573 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9128483573","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای عبادی","existing_deal":"YES","existing_deal_id":"local_694920ffda90a8.92822313","existing_deal_status":"Pending","server_time":"2026-04-18 09:45:43","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:43] [INFO] Deal success processed {"contact_id":"13913","person_name":"اقای عبادی","products_count":1}
[2026-04-18 09:45:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694920ffda90a8.92822313","contact_id":"13913","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128483573 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 09:45:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:45:43] [INFO] Updating virtual stage {"contact_id":"13913","stage_name":"with_purchase","force":true}
[2026-04-18 09:45:43] [INFO] Virtual stage successfully saved {"contact_id":"13913","stage_name":"with_purchase"}
[2026-04-18 09:45:43] [INFO] Moved contact out of kariz after successful deal {"contact_id":"13913","deal_id":"local_694920ffda90a8.92822313","target_stage":"with_purchase"}
[2026-04-18 09:45:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13913","person_id":"19876"}
[2026-04-18 09:46:08] [INFO] Checking activity reminders 
[2026-04-18 09:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:46:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:38] [INFO] Checking activity reminders 
[2026-04-18 09:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:46:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7175","deal_id":"local_6949364e5f5118.65844205","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:46:43","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:46:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7175","is_new_deal":false}
[2026-04-18 09:46:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:46:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:46:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:46:43] [INFO] getContactPrimaryPhone called {"contact_id":"7175"}
[2026-04-18 09:46:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:43] [INFO] getContactPrimaryPhone result {"contact_id":"7175","person_found":true,"primary_phone":"9122823999"}
[2026-04-18 09:46:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122823999"}
[2026-04-18 09:46:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122823999","contact_id":"7175","deal_id":"local_6949364e5f5118.65844205","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:46:43"}
[2026-04-18 09:46:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_6949364e5f5118.65844205","contact_id":"7175","existing_deal_found":true,"existing_contact_id":"7175","existing_title":"معامله اول 9122823999 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:46:43"}
[2026-04-18 09:46:43] [INFO] DealController.save validated payments {"deal_id":"local_6949364e5f5118.65844205","contact_id":"7175","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:46:43] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"7175","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:46:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6949364e5f5118.65844205","contact_didar_id":"7175","title":"معامله اول 9122823999 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9122823999","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"عشریه امل","existing_deal":"YES","existing_deal_id":"local_6949364e5f5118.65844205","existing_deal_status":"Pending","server_time":"2026-04-18 09:46:43","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:46:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:43] [INFO] Deal success processed {"contact_id":"7175","person_name":"عشریه امل","products_count":1}
[2026-04-18 09:46:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6949364e5f5118.65844205","contact_id":"7175","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9122823999 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:46:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:46:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:43] [INFO] Updating virtual stage {"contact_id":"7175","stage_name":"with_purchase","force":true}
[2026-04-18 09:46:43] [INFO] Virtual stage successfully saved {"contact_id":"7175","stage_name":"with_purchase"}
[2026-04-18 09:46:43] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7175","deal_id":"local_6949364e5f5118.65844205","target_stage":"with_purchase"}
[2026-04-18 09:46:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7175","person_id":"12069"}
[2026-04-18 09:46:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:11] [INFO] Checking activity reminders 
[2026-04-18 09:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:47:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1567","deal_id":"local_694a9af2babbe3.68731224","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:47:18","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1567","is_new_deal":false}
[2026-04-18 09:47:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:47:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:47:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:47:18] [INFO] getContactPrimaryPhone called {"contact_id":"1567"}
[2026-04-18 09:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:18] [INFO] getContactPrimaryPhone result {"contact_id":"1567","person_found":true,"primary_phone":"9913509426"}
[2026-04-18 09:47:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9913509426"}
[2026-04-18 09:47:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9913509426","contact_id":"1567","deal_id":"local_694a9af2babbe3.68731224","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:47:18"}
[2026-04-18 09:47:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a9af2babbe3.68731224","contact_id":"1567","existing_deal_found":true,"existing_contact_id":"1567","existing_title":"معامله اول 9913509426 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:47:18"}
[2026-04-18 09:47:18] [INFO] DealController.save validated payments {"deal_id":"local_694a9af2babbe3.68731224","contact_id":"1567","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:47:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1567","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:47:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a9af2babbe3.68731224","contact_didar_id":"1567","title":"معامله اول 9913509426 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9913509426","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"کاظم نژاد","existing_deal":"YES","existing_deal_id":"local_694a9af2babbe3.68731224","existing_deal_status":"Pending","server_time":"2026-04-18 09:47:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:18] [INFO] Deal success processed {"contact_id":"1567","person_name":"کاظم نژاد","products_count":1}
[2026-04-18 09:47:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a9af2babbe3.68731224","contact_id":"1567","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9913509426 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:47:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:18] [INFO] Updating virtual stage {"contact_id":"1567","stage_name":"with_purchase","force":true}
[2026-04-18 09:47:18] [INFO] Virtual stage successfully saved {"contact_id":"1567","stage_name":"with_purchase"}
[2026-04-18 09:47:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1567","deal_id":"local_694a9af2babbe3.68731224","target_stage":"with_purchase"}
[2026-04-18 09:47:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1567","person_id":"13878"}
[2026-04-18 09:47:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13207","person_id":"20616"}
[2026-04-18 09:47:41] [INFO] Checking activity reminders 
[2026-04-18 09:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:48:11] [INFO] Checking activity reminders 
[2026-04-18 09:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:48:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:41] [INFO] Checking activity reminders 
[2026-04-18 09:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:48:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"16959","deal_id":"local_6947af8fe54343.58474725","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:48:48","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"16959","is_new_deal":false}
[2026-04-18 09:48:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:48:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:48:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:48:48] [INFO] getContactPrimaryPhone called {"contact_id":"16959"}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:48] [INFO] getContactPrimaryPhone result {"contact_id":"16959","person_found":true,"primary_phone":"9129223078"}
[2026-04-18 09:48:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129223078"}
[2026-04-18 09:48:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129223078","contact_id":"16959","deal_id":"local_6947af8fe54343.58474725","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:48:48"}
[2026-04-18 09:48:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_6947af8fe54343.58474725","contact_id":"16959","existing_deal_found":true,"existing_contact_id":"16959","existing_title":"معامله اول 9129223078 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:48:48"}
[2026-04-18 09:48:48] [INFO] DealController.save validated payments {"deal_id":"local_6947af8fe54343.58474725","contact_id":"16959","payments_count":2,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:48:48] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"16959","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:48:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6947af8fe54343.58474725","contact_didar_id":"16959","title":"معامله اول 9129223078 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9129223078","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"مجتبی خوشبختی","existing_deal":"YES","existing_deal_id":"local_6947af8fe54343.58474725","existing_deal_status":"Pending","server_time":"2026-04-18 09:48:48","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:48] [INFO] Deal success processed {"contact_id":"16959","person_name":"مجتبی خوشبختی","products_count":1}
[2026-04-18 09:48:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6947af8fe54343.58474725","contact_id":"16959","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9129223078 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:48:48","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:48:48] [INFO] Updating virtual stage {"contact_id":"16959","stage_name":"with_purchase","force":true}
[2026-04-18 09:48:48] [INFO] Virtual stage successfully saved {"contact_id":"16959","stage_name":"with_purchase"}
[2026-04-18 09:48:48] [INFO] Moved contact out of kariz after successful deal {"contact_id":"16959","deal_id":"local_6947af8fe54343.58474725","target_stage":"with_purchase"}
[2026-04-18 09:48:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16959","person_id":"19665"}
[2026-04-18 09:49:12] [INFO] Checking activity reminders 
[2026-04-18 09:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:49:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:49:42] [INFO] Checking activity reminders 
[2026-04-18 09:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:50:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"دوره دیوار خودرو","contact_id":"13392","deal_id":"local_69522ee13040f7.30580037","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:50:02","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:50:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:50:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"دوره دیوار خودرو","contact_id":"13392","is_new_deal":false}
[2026-04-18 09:50:02] [INFO] extractPhoneFromDealTitle called {"input_title":"دوره دیوار خودرو"}
[2026-04-18 09:50:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"دوره دیوار خودرو"}
[2026-04-18 09:50:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"دوره دیوار خودرو"}
[2026-04-18 09:50:02] [INFO] getContactPrimaryPhone called {"contact_id":"13392"}
[2026-04-18 09:50:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:50:02] [INFO] getContactPrimaryPhone result {"contact_id":"13392","person_found":true,"primary_phone":"9104804098"}
[2026-04-18 09:50:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9104804098"}
[2026-04-18 09:50:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9104804098","contact_id":"13392","deal_id":"local_69522ee13040f7.30580037","is_new_deal":false,"incoming_title":"دوره دیوار خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:50:02"}
[2026-04-18 09:50:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","existing_deal_found":true,"existing_contact_id":"13392","existing_title":"معامله اول 9104804098 | دوره دیوار خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:50:02"}
[2026-04-18 09:50:02] [INFO] DealController.save validated payments {"deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:50:02] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13392","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:50:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69522ee13040f7.30580037","contact_didar_id":"13392","title":"معامله اول 9104804098 | دوره دیوار خودرو","base_title_used":"معامله اول 9104804098","services_text":"دوره دیوار خودرو","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":500000,"payment_amount":500000,"payments_present":true,"requested_services":["دوره دیوار خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای مسعودی","existing_deal":"YES","existing_deal_id":"local_69522ee13040f7.30580037","existing_deal_status":"Pending","server_time":"2026-04-18 09:50:02","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:50:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:50:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9104804098 | دوره دیوار خودرو","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":500000,"payment_amount":500000,"server_time":"2026-04-18 09:50:02","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:50:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:50:12] [INFO] Checking activity reminders 
[2026-04-18 09:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:50:42] [INFO] Checking activity reminders 
[2026-04-18 09:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:51:13] [INFO] Checking activity reminders 
[2026-04-18 09:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:51:43] [INFO] Checking activity reminders 
[2026-04-18 09:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:52:13] [INFO] Checking activity reminders 
[2026-04-18 09:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:52:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:43] [INFO] Checking activity reminders 
[2026-04-18 09:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:52:47] [INFO] DealController.save start {"is_new":false,"incoming_title":"دیوار خودرو","contact_id":"13392","deal_id":"local_69522ee13040f7.30580037","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:52:47","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:47] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"دیوار خودرو","contact_id":"13392","is_new_deal":false}
[2026-04-18 09:52:47] [INFO] extractPhoneFromDealTitle called {"input_title":"دیوار خودرو"}
[2026-04-18 09:52:47] [INFO] extractPhoneFromDealTitle processing {"title_part":"دیوار خودرو"}
[2026-04-18 09:52:47] [INFO] extractPhoneFromDealTitle no match found {"title_part":"دیوار خودرو"}
[2026-04-18 09:52:47] [INFO] getContactPrimaryPhone called {"contact_id":"13392"}
[2026-04-18 09:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:47] [INFO] getContactPrimaryPhone result {"contact_id":"13392","person_found":true,"primary_phone":"9104804098"}
[2026-04-18 09:52:47] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9104804098"}
[2026-04-18 09:52:47] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9104804098","contact_id":"13392","deal_id":"local_69522ee13040f7.30580037","is_new_deal":false,"incoming_title":"دیوار خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:52:47"}
[2026-04-18 09:52:47] [INFO] DealController.save existing deal lookup {"deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","existing_deal_found":true,"existing_contact_id":"13392","existing_title":"معامله اول 9104804098 | دوره دیوار خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:52:47"}
[2026-04-18 09:52:47] [INFO] DealController.save validated payments {"deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:52:47] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13392","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:52:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69522ee13040f7.30580037","contact_didar_id":"13392","title":"معامله اول 9104804098 | دیوار خودرو","base_title_used":"معامله اول 9104804098","services_text":"دیوار خودرو","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":500000,"payment_amount":500000,"payments_present":true,"requested_services":["دیوار خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای مسعودی","existing_deal":"YES","existing_deal_id":"local_69522ee13040f7.30580037","existing_deal_status":"Pending","server_time":"2026-04-18 09:52:47","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:47] [INFO] Deal success processed {"contact_id":"13392","person_name":"اقای مسعودی","products_count":1}
[2026-04-18 09:52:47] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69522ee13040f7.30580037","contact_id":"13392","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9104804098 | دیوار خودرو","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":500000,"payment_amount":500000,"server_time":"2026-04-18 09:52:47","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:52:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:52:47] [INFO] Updating virtual stage {"contact_id":"13392","stage_name":"with_purchase","force":true}
[2026-04-18 09:52:47] [INFO] Virtual stage successfully saved {"contact_id":"13392","stage_name":"with_purchase"}
[2026-04-18 09:52:47] [INFO] Moved contact out of kariz after successful deal {"contact_id":"13392","deal_id":"local_69522ee13040f7.30580037","target_stage":"with_purchase"}
[2026-04-18 09:52:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"13392","deal_id":"local_695266a129f8a4.99129597","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:53:04","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"13392","is_new_deal":false}
[2026-04-18 09:53:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:04] [INFO] getContactPrimaryPhone called {"contact_id":"13392"}
[2026-04-18 09:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:04] [INFO] getContactPrimaryPhone result {"contact_id":"13392","person_found":true,"primary_phone":"9104804098"}
[2026-04-18 09:53:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9104804098"}
[2026-04-18 09:53:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9104804098","contact_id":"13392","deal_id":"local_695266a129f8a4.99129597","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:04"}
[2026-04-18 09:53:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","existing_deal_found":true,"existing_contact_id":"13392","existing_title":"معامله سوم 9104804098 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:04"}
[2026-04-18 09:53:04] [INFO] DealController.save validated payments {"deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:53:04] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13392","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:53:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695266a129f8a4.99129597","contact_didar_id":"13392","title":"معامله سوم 9104804098 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9104804098","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای مسعودی","existing_deal":"YES","existing_deal_id":"local_695266a129f8a4.99129597","existing_deal_status":"Pending","server_time":"2026-04-18 09:53:04","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9104804098 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:53:04","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:53:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:13] [INFO] Checking activity reminders 
[2026-04-18 09:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:53:26] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"13392","deal_id":"local_695266a129f8a4.99129597","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:53:26","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"13392","is_new_deal":false}
[2026-04-18 09:53:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:26] [INFO] getContactPrimaryPhone called {"contact_id":"13392"}
[2026-04-18 09:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:26] [INFO] getContactPrimaryPhone result {"contact_id":"13392","person_found":true,"primary_phone":"9104804098"}
[2026-04-18 09:53:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9104804098"}
[2026-04-18 09:53:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9104804098","contact_id":"13392","deal_id":"local_695266a129f8a4.99129597","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:26"}
[2026-04-18 09:53:26] [INFO] DealController.save existing deal lookup {"deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","existing_deal_found":true,"existing_contact_id":"13392","existing_title":"معامله سوم 9104804098 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:26"}
[2026-04-18 09:53:26] [INFO] DealController.save validated payments {"deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:53:26] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13392","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:53:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695266a129f8a4.99129597","contact_didar_id":"13392","title":"معامله سوم 9104804098 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9104804098","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای مسعودی","existing_deal":"YES","existing_deal_id":"local_695266a129f8a4.99129597","existing_deal_status":"Pending","server_time":"2026-04-18 09:53:26","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:26] [INFO] Deal success processed {"contact_id":"13392","person_name":"اقای مسعودی","products_count":1}
[2026-04-18 09:53:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695266a129f8a4.99129597","contact_id":"13392","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9104804098 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:53:26","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:26] [INFO] Updating virtual stage {"contact_id":"13392","stage_name":"with_purchase","force":true}
[2026-04-18 09:53:26] [INFO] Virtual stage successfully saved {"contact_id":"13392","stage_name":"with_purchase"}
[2026-04-18 09:53:26] [INFO] Moved contact out of kariz after successful deal {"contact_id":"13392","deal_id":"local_695266a129f8a4.99129597","target_stage":"with_purchase"}
[2026-04-18 09:53:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13392","person_id":"13935"}
[2026-04-18 09:53:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:44] [INFO] Checking activity reminders 
[2026-04-18 09:53:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:53:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:53:56] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"16501","deal_id":"local_694a4dee544637.09112236","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:53:56","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"16501","is_new_deal":false}
[2026-04-18 09:53:56] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:53:56] [INFO] getContactPrimaryPhone called {"contact_id":"16501"}
[2026-04-18 09:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:56] [INFO] getContactPrimaryPhone result {"contact_id":"16501","person_found":true,"primary_phone":"9366986317"}
[2026-04-18 09:53:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9366986317"}
[2026-04-18 09:53:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9366986317","contact_id":"16501","deal_id":"local_694a4dee544637.09112236","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:56"}
[2026-04-18 09:53:56] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a4dee544637.09112236","contact_id":"16501","existing_deal_found":true,"existing_contact_id":"16501","existing_title":"معامله اول 9366986317 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:53:56"}
[2026-04-18 09:53:56] [INFO] DealController.save validated payments {"deal_id":"local_694a4dee544637.09112236","contact_id":"16501","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:53:56] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"16501","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:53:56] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a4dee544637.09112236","contact_didar_id":"16501","title":"معامله اول 9366986317 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9366986317","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"حسین قنادزاده","existing_deal":"YES","existing_deal_id":"local_694a4dee544637.09112236","existing_deal_status":"Pending","server_time":"2026-04-18 09:53:56","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:56] [INFO] Deal success processed {"contact_id":"16501","person_name":"حسین قنادزاده","products_count":1}
[2026-04-18 09:53:56] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a4dee544637.09112236","contact_id":"16501","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9366986317 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:53:56","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:53:56] [INFO] Updating virtual stage {"contact_id":"16501","stage_name":"with_purchase","force":true}
[2026-04-18 09:53:56] [INFO] Virtual stage successfully saved {"contact_id":"16501","stage_name":"with_purchase"}
[2026-04-18 09:53:56] [INFO] Moved contact out of kariz after successful deal {"contact_id":"16501","deal_id":"local_694a4dee544637.09112236","target_stage":"with_purchase"}
[2026-04-18 09:53:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16501","person_id":"10333"}
[2026-04-18 09:54:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:14] [INFO] Checking activity reminders 
[2026-04-18 09:54:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:54:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:54:31] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1267","deal_id":"local_69429c2cd5a167.79014702","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:54:31","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:31] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1267","is_new_deal":false}
[2026-04-18 09:54:31] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:54:31] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:54:31] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:54:31] [INFO] getContactPrimaryPhone called {"contact_id":"1267"}
[2026-04-18 09:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:31] [INFO] getContactPrimaryPhone result {"contact_id":"1267","person_found":true,"primary_phone":"9125453149"}
[2026-04-18 09:54:31] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9125453149"}
[2026-04-18 09:54:31] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9125453149","contact_id":"1267","deal_id":"local_69429c2cd5a167.79014702","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:54:31"}
[2026-04-18 09:54:31] [INFO] DealController.save existing deal lookup {"deal_id":"local_69429c2cd5a167.79014702","contact_id":"1267","existing_deal_found":true,"existing_contact_id":"1267","existing_title":"معامله اول 9125453149 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:54:31"}
[2026-04-18 09:54:31] [INFO] DealController.save validated payments {"deal_id":"local_69429c2cd5a167.79014702","contact_id":"1267","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:54:31] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1267","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:54:31] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69429c2cd5a167.79014702","contact_didar_id":"1267","title":"معامله اول 9125453149 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9125453149","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"میلاد کریمی","existing_deal":"YES","existing_deal_id":"local_69429c2cd5a167.79014702","existing_deal_status":"Pending","server_time":"2026-04-18 09:54:31","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:31] [INFO] Deal success processed {"contact_id":"1267","person_name":"میلاد کریمی","products_count":1}
[2026-04-18 09:54:31] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69429c2cd5a167.79014702","contact_id":"1267","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9125453149 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:54:31","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:31] [INFO] Updating virtual stage {"contact_id":"1267","stage_name":"with_purchase","force":true}
[2026-04-18 09:54:31] [INFO] Virtual stage successfully saved {"contact_id":"1267","stage_name":"with_purchase"}
[2026-04-18 09:54:31] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1267","deal_id":"local_69429c2cd5a167.79014702","target_stage":"with_purchase"}
[2026-04-18 09:54:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1267","person_id":"13828"}
[2026-04-18 09:54:44] [INFO] Checking activity reminders 
[2026-04-18 09:54:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:54:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:54:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:14] [INFO] Checking activity reminders 
[2026-04-18 09:55:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:55:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:55:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"1891","deal_id":"local_6953796a1729f5.96861969","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:55:18","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:55:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"1891","is_new_deal":false}
[2026-04-18 09:55:18] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 09:55:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 09:55:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 09:55:18] [INFO] getContactPrimaryPhone called {"contact_id":"1891"}
[2026-04-18 09:55:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:18] [INFO] getContactPrimaryPhone result {"contact_id":"1891","person_found":true,"primary_phone":"9179994282"}
[2026-04-18 09:55:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9179994282"}
[2026-04-18 09:55:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9179994282","contact_id":"1891","deal_id":"local_6953796a1729f5.96861969","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:55:18"}
[2026-04-18 09:55:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953796a1729f5.96861969","contact_id":"1891","existing_deal_found":true,"existing_contact_id":"1891","existing_title":"معامله سوم 9179994282 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:55:18"}
[2026-04-18 09:55:18] [INFO] DealController.save validated payments {"deal_id":"local_6953796a1729f5.96861969","contact_id":"1891","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:55:18] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1891","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:55:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953796a1729f5.96861969","contact_didar_id":"1891","title":"معامله سوم 9179994282 | CIP","base_title_used":"معامله سوم 9179994282","services_text":"CIP","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"مجتبی طالبی","existing_deal":"YES","existing_deal_id":"local_6953796a1729f5.96861969","existing_deal_status":"Pending","server_time":"2026-04-18 09:55:18","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:55:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:18] [INFO] Deal success processed {"contact_id":"1891","person_name":"مجتبی طالبی","products_count":1}
[2026-04-18 09:55:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953796a1729f5.96861969","contact_id":"1891","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9179994282 | CIP","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-18 09:55:18","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:55:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:18] [INFO] Updating virtual stage {"contact_id":"1891","stage_name":"with_purchase","force":true}
[2026-04-18 09:55:18] [INFO] Virtual stage successfully saved {"contact_id":"1891","stage_name":"with_purchase"}
[2026-04-18 09:55:18] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1891","deal_id":"local_6953796a1729f5.96861969","target_stage":"with_purchase"}
[2026-04-18 09:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1891","person_id":"13743"}
[2026-04-18 09:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:55:44] [INFO] Checking activity reminders 
[2026-04-18 09:55:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:55:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:56:15] [INFO] Checking activity reminders 
[2026-04-18 09:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:56:15] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:56:15","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","is_new_deal":false}
[2026-04-18 09:56:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:56:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:56:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:56:15] [INFO] getContactPrimaryPhone called {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-18 09:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:15] [INFO] getContactPrimaryPhone result {"contact_id":"local_69528d8bc170f0.16410312","person_found":true,"primary_phone":"9133476277"}
[2026-04-18 09:56:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133476277"}
[2026-04-18 09:56:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133476277","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:56:15"}
[2026-04-18 09:56:15] [INFO] DealController.save existing deal lookup {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","existing_deal_found":true,"existing_contact_id":"local_69528d8bc170f0.16410312","existing_title":"معامله اول 9133476277 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:56:15"}
[2026-04-18 09:56:15] [INFO] DealController.save validated payments {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:56:15] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_69528d8bc170f0.16410312","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:56:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69528d8bc3b0d","contact_didar_id":"local_69528d8bc170f0.16410312","title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9133476277","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای ادیب","existing_deal":"YES","existing_deal_id":"local_69528d8bc3b0d","existing_deal_status":"Pending","server_time":"2026-04-18 09:56:15","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:15] [INFO] Deal success processed {"contact_id":"local_69528d8bc170f0.16410312","person_name":"اقای ادیب","products_count":1}
[2026-04-18 09:56:15] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 09:56:15","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:15] [INFO] Updating virtual stage {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase","force":true}
[2026-04-18 09:56:15] [INFO] Virtual stage successfully saved {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase"}
[2026-04-18 09:56:15] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","target_stage":"with_purchase"}
[2026-04-18 09:56:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-18 09:56:46] [INFO] Checking activity reminders 
[2026-04-18 09:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:09] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 09:57:10] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-18 09:57:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 09:57:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7026","deal_id":"local_69415e97735821.86396659","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:57:10","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:57:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7026","is_new_deal":false}
[2026-04-18 09:57:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:57:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:57:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:57:10] [INFO] getContactPrimaryPhone called {"contact_id":"7026"}
[2026-04-18 09:57:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:10] [INFO] getContactPrimaryPhone result {"contact_id":"7026","person_found":true,"primary_phone":"9033613166"}
[2026-04-18 09:57:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9033613166"}
[2026-04-18 09:57:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9033613166","contact_id":"7026","deal_id":"local_69415e97735821.86396659","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:10"}
[2026-04-18 09:57:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_69415e97735821.86396659","contact_id":"7026","existing_deal_found":true,"existing_contact_id":"7026","existing_title":"معامله اول 9033613166 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:10"}
[2026-04-18 09:57:10] [INFO] DealController.save validated payments {"deal_id":"local_69415e97735821.86396659","contact_id":"7026","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:57:10] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"7026","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:57:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69415e97735821.86396659","contact_didar_id":"7026","title":"معامله اول 9033613166 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9033613166","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"رضا افراخته","existing_deal":"YES","existing_deal_id":"local_69415e97735821.86396659","existing_deal_status":"Pending","server_time":"2026-04-18 09:57:10","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:57:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:10] [INFO] Deal success processed {"contact_id":"7026","person_name":"رضا افراخته","products_count":1}
[2026-04-18 09:57:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69415e97735821.86396659","contact_id":"7026","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9033613166 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:57:10","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:57:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:10] [INFO] Updating virtual stage {"contact_id":"7026","stage_name":"with_purchase","force":true}
[2026-04-18 09:57:10] [INFO] Virtual stage successfully saved {"contact_id":"7026","stage_name":"with_purchase"}
[2026-04-18 09:57:10] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7026","deal_id":"local_69415e97735821.86396659","target_stage":"with_purchase"}
[2026-04-18 09:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7026","person_id":"15249"}
[2026-04-18 09:57:14] [INFO] Checking activity reminders 
[2026-04-18 09:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:57:16] [INFO] Checking activity reminders 
[2026-04-18 09:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:57:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"4667","deal_id":"local_69ca41a7e99cc1.61264875","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:57:38","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"4667","is_new_deal":false}
[2026-04-18 09:57:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 09:57:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 09:57:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 09:57:38] [INFO] getContactPrimaryPhone called {"contact_id":"4667"}
[2026-04-18 09:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:38] [INFO] getContactPrimaryPhone result {"contact_id":"4667","person_found":true,"primary_phone":"9016606910"}
[2026-04-18 09:57:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9016606910"}
[2026-04-18 09:57:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9016606910","contact_id":"4667","deal_id":"local_69ca41a7e99cc1.61264875","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:38"}
[2026-04-18 09:57:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","existing_deal_found":true,"existing_contact_id":"4667","existing_title":"معامله سوم 9016606910 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:38"}
[2026-04-18 09:57:38] [INFO] DealController.save validated payments {"deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:57:38] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4667","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:57:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca41a7e99cc1.61264875","contact_didar_id":"4667","title":"معامله سوم 9016606910 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9016606910","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"افشار","existing_deal":"YES","existing_deal_id":"local_69ca41a7e99cc1.61264875","existing_deal_status":"Pending","server_time":"2026-04-18 09:57:38","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9016606910 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 09:57:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:44] [INFO] Checking activity reminders 
[2026-04-18 09:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:57:46] [INFO] Checking activity reminders 
[2026-04-18 09:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:57:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"4667","deal_id":"local_6942c28e895501.58546865","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:57:54","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"4667","is_new_deal":false}
[2026-04-18 09:57:54] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 09:57:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 09:57:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 09:57:54] [INFO] getContactPrimaryPhone called {"contact_id":"4667"}
[2026-04-18 09:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:54] [INFO] getContactPrimaryPhone result {"contact_id":"4667","person_found":true,"primary_phone":"9016606910"}
[2026-04-18 09:57:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9016606910"}
[2026-04-18 09:57:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9016606910","contact_id":"4667","deal_id":"local_6942c28e895501.58546865","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:54"}
[2026-04-18 09:57:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942c28e895501.58546865","contact_id":"4667","existing_deal_found":true,"existing_contact_id":"4667","existing_title":"معامله اول 9016606910 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:57:54"}
[2026-04-18 09:57:54] [INFO] DealController.save validated payments {"deal_id":"local_6942c28e895501.58546865","contact_id":"4667","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 09:57:54] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4667","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:57:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942c28e895501.58546865","contact_didar_id":"4667","title":"معامله اول 9016606910 | CIP","base_title_used":"معامله اول 9016606910","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"افشار","existing_deal":"YES","existing_deal_id":"local_6942c28e895501.58546865","existing_deal_status":"Pending","server_time":"2026-04-18 09:57:54","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:54] [INFO] Deal success processed {"contact_id":"4667","person_name":"افشار","products_count":1}
[2026-04-18 09:57:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942c28e895501.58546865","contact_id":"4667","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9016606910 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-18 09:57:54","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:57:54] [INFO] Updating virtual stage {"contact_id":"4667","stage_name":"with_purchase","force":true}
[2026-04-18 09:57:54] [INFO] Virtual stage successfully saved {"contact_id":"4667","stage_name":"with_purchase"}
[2026-04-18 09:57:54] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4667","deal_id":"local_6942c28e895501.58546865","target_stage":"with_purchase"}
[2026-04-18 09:57:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 09:58:14] [INFO] Checking activity reminders 
[2026-04-18 09:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:58:16] [INFO] Checking activity reminders 
[2026-04-18 09:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"12689","deal_id":"local_6953d73cbcf862.81056214","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:58:38","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:58:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"12689","is_new_deal":false}
[2026-04-18 09:58:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:58:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:58:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:58:38] [INFO] getContactPrimaryPhone called {"contact_id":"12689"}
[2026-04-18 09:58:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [INFO] getContactPrimaryPhone result {"contact_id":"12689","person_found":true,"primary_phone":"9190053050"}
[2026-04-18 09:58:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9190053050"}
[2026-04-18 09:58:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9190053050","contact_id":"12689","deal_id":"local_6953d73cbcf862.81056214","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:58:38"}
[2026-04-18 09:58:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953d73cbcf862.81056214","contact_id":"12689","existing_deal_found":true,"existing_contact_id":"12689","existing_title":"معامله دوم 9190053050 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:58:38"}
[2026-04-18 09:58:38] [INFO] DealController.save validated payments {"deal_id":"local_6953d73cbcf862.81056214","contact_id":"12689","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:58:38] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"12689","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:58:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953d73cbcf862.81056214","contact_didar_id":"12689","title":"معامله دوم 9190053050 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9190053050","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای فرزادنیا","existing_deal":"YES","existing_deal_id":"local_6953d73cbcf862.81056214","existing_deal_status":"Pending","server_time":"2026-04-18 09:58:38","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:58:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [INFO] Deal success processed {"contact_id":"12689","person_name":"اقای فرزادنیا","products_count":1}
[2026-04-18 09:58:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953d73cbcf862.81056214","contact_id":"12689","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9190053050 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:58:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:58:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:38] [INFO] Updating virtual stage {"contact_id":"12689","stage_name":"with_purchase","force":true}
[2026-04-18 09:58:38] [INFO] Virtual stage successfully saved {"contact_id":"12689","stage_name":"with_purchase"}
[2026-04-18 09:58:38] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12689","deal_id":"local_6953d73cbcf862.81056214","target_stage":"with_purchase"}
[2026-04-18 09:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-18 09:58:44] [INFO] Checking activity reminders 
[2026-04-18 09:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:58:46] [INFO] Checking activity reminders 
[2026-04-18 09:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:58:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"965","deal_id":"local_6950f8f250d0c5.79791603","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:59:09","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:59:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"965","is_new_deal":false}
[2026-04-18 09:59:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 09:59:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:59:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 09:59:09] [INFO] getContactPrimaryPhone called {"contact_id":"965"}
[2026-04-18 09:59:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [INFO] getContactPrimaryPhone result {"contact_id":"965","person_found":true,"primary_phone":"9364913744"}
[2026-04-18 09:59:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9364913744"}
[2026-04-18 09:59:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9364913744","contact_id":"965","deal_id":"local_6950f8f250d0c5.79791603","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:59:09"}
[2026-04-18 09:59:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f8f250d0c5.79791603","contact_id":"965","existing_deal_found":true,"existing_contact_id":"965","existing_title":"معامله اول 9364913744 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:59:09"}
[2026-04-18 09:59:09] [INFO] DealController.save validated payments {"deal_id":"local_6950f8f250d0c5.79791603","contact_id":"965","payments_count":3,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:59:09] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"965","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:59:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f8f250d0c5.79791603","contact_didar_id":"965","title":"معامله اول 9364913744 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9364913744","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"حمیدرضا قاسمی","existing_deal":"YES","existing_deal_id":"local_6950f8f250d0c5.79791603","existing_deal_status":"Pending","server_time":"2026-04-18 09:59:09","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:59:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [INFO] Deal success processed {"contact_id":"965","person_name":"حمیدرضا قاسمی","products_count":1}
[2026-04-18 09:59:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f8f250d0c5.79791603","contact_id":"965","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9364913744 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 09:59:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:59:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:09] [INFO] Updating virtual stage {"contact_id":"965","stage_name":"with_purchase","force":true}
[2026-04-18 09:59:09] [INFO] Virtual stage successfully saved {"contact_id":"965","stage_name":"with_purchase"}
[2026-04-18 09:59:09] [INFO] Moved contact out of kariz after successful deal {"contact_id":"965","deal_id":"local_6950f8f250d0c5.79791603","target_stage":"with_purchase"}
[2026-04-18 09:59:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"965","person_id":"10029"}
[2026-04-18 09:59:17] [INFO] Checking activity reminders 
[2026-04-18 09:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:59:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:29] [INFO] Checking activity reminders 
[2026-04-18 09:59:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:59:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:59:47] [INFO] Checking activity reminders 
[2026-04-18 09:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 09:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 09:59:53] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695a0a7143c758.49130695","deal_id":"local_695a0a71459b1","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 09:59:53","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 09:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:53] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695a0a7143c758.49130695","is_new_deal":false}
[2026-04-18 09:59:53] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:59:53] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:59:53] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 09:59:53] [INFO] getContactPrimaryPhone called {"contact_id":"local_695a0a7143c758.49130695"}
[2026-04-18 09:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:53] [INFO] getContactPrimaryPhone result {"contact_id":"local_695a0a7143c758.49130695","person_found":true,"primary_phone":"9144557262"}
[2026-04-18 09:59:53] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144557262"}
[2026-04-18 09:59:53] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144557262","contact_id":"local_695a0a7143c758.49130695","deal_id":"local_695a0a71459b1","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:59:53"}
[2026-04-18 09:59:53] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a0a71459b1","contact_id":"local_695a0a7143c758.49130695","existing_deal_found":true,"existing_contact_id":"local_695a0a7143c758.49130695","existing_title":"معامله اول 9144557262 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 09:59:53"}
[2026-04-18 09:59:53] [INFO] DealController.save validated payments {"deal_id":"local_695a0a71459b1","contact_id":"local_695a0a7143c758.49130695","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 09:59:53] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_695a0a7143c758.49130695","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 09:59:53] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a0a71459b1","contact_didar_id":"local_695a0a7143c758.49130695","title":"معامله اول 9144557262 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9144557262","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای نصیری","existing_deal":"YES","existing_deal_id":"local_695a0a71459b1","existing_deal_status":"Pending","server_time":"2026-04-18 09:59:53","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 09:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:53] [INFO] Deal success processed {"contact_id":"local_695a0a7143c758.49130695","person_name":"اقای نصیری","products_count":1}
[2026-04-18 09:59:53] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a0a71459b1","contact_id":"local_695a0a7143c758.49130695","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9144557262 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 09:59:53","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 09:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 09:59:53] [INFO] Updating virtual stage {"contact_id":"local_695a0a7143c758.49130695","stage_name":"with_purchase","force":true}
[2026-04-18 09:59:53] [INFO] Virtual stage successfully saved {"contact_id":"local_695a0a7143c758.49130695","stage_name":"with_purchase"}
[2026-04-18 09:59:53] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695a0a7143c758.49130695","deal_id":"local_695a0a71459b1","target_stage":"with_purchase"}
[2026-04-18 09:59:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a0a7143c758.49130695","person_id":"21493"}
[2026-04-18 10:00:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:00:13] [INFO] Checking activity reminders 
[2026-04-18 10:00:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:00:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:00:17] [INFO] Checking activity reminders 
[2026-04-18 10:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:00:43] [INFO] Checking activity reminders 
[2026-04-18 10:00:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:00:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:00:47] [INFO] Checking activity reminders 
[2026-04-18 10:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:01:13] [INFO] Checking activity reminders 
[2026-04-18 10:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:01:17] [INFO] Checking activity reminders 
[2026-04-18 10:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:01:43] [INFO] Checking activity reminders 
[2026-04-18 10:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:01:45] [INFO] Checking activity reminders 
[2026-04-18 10:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:01:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 10:01:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 10:01:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-18 10:01:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-18 10:02:13] [INFO] Checking activity reminders 
[2026-04-18 10:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:02:21] [INFO] Checking activity reminders 
[2026-04-18 10:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:02:43] [INFO] Checking activity reminders 
[2026-04-18 10:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:02:51] [INFO] Checking activity reminders 
[2026-04-18 10:02:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:02:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:03:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8103","deal_id":"local_69490bf770d4d0.50675040","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:03:01","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 10:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8103","is_new_deal":false}
[2026-04-18 10:03:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 10:03:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:03:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:03:01] [INFO] getContactPrimaryPhone called {"contact_id":"8103"}
[2026-04-18 10:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:01] [INFO] getContactPrimaryPhone result {"contact_id":"8103","person_found":true,"primary_phone":"9119119431"}
[2026-04-18 10:03:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9119119431"}
[2026-04-18 10:03:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9119119431","contact_id":"8103","deal_id":"local_69490bf770d4d0.50675040","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:03:01"}
[2026-04-18 10:03:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69490bf770d4d0.50675040","contact_id":"8103","existing_deal_found":true,"existing_contact_id":"8103","existing_title":"معامله اول 9119119431 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:03:01"}
[2026-04-18 10:03:01] [INFO] DealController.save validated payments {"deal_id":"local_69490bf770d4d0.50675040","contact_id":"8103","payments_count":3,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 10:03:01] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"8103","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 10:03:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69490bf770d4d0.50675040","contact_didar_id":"8103","title":"معامله اول 9119119431 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9119119431","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای رحمانی","existing_deal":"YES","existing_deal_id":"local_69490bf770d4d0.50675040","existing_deal_status":"Pending","server_time":"2026-04-18 10:03:01","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 10:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:01] [INFO] Deal success processed {"contact_id":"8103","person_name":"اقای رحمانی","products_count":1}
[2026-04-18 10:03:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69490bf770d4d0.50675040","contact_id":"8103","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9119119431 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 10:03:01","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:01] [INFO] Updating virtual stage {"contact_id":"8103","stage_name":"with_purchase","force":true}
[2026-04-18 10:03:01] [INFO] Virtual stage successfully saved {"contact_id":"8103","stage_name":"with_purchase"}
[2026-04-18 10:03:01] [INFO] Moved contact out of kariz after successful deal {"contact_id":"8103","deal_id":"local_69490bf770d4d0.50675040","target_stage":"with_purchase"}
[2026-04-18 10:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8103","person_id":"10696"}
[2026-04-18 10:03:14] [INFO] Checking activity reminders 
[2026-04-18 10:03:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:03:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:03:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:22] [INFO] Checking activity reminders 
[2026-04-18 10:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:03:44] [INFO] Checking activity reminders 
[2026-04-18 10:03:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:03:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:03:45] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"9099","deal_id":"local_695a5073dba2c2.29353300","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:03:45","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"9099","is_new_deal":false}
[2026-04-18 10:03:45] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 10:03:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 10:03:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 10:03:45] [INFO] getContactPrimaryPhone called {"contact_id":"9099"}
[2026-04-18 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:45] [INFO] getContactPrimaryPhone result {"contact_id":"9099","person_found":true,"primary_phone":"9123223119"}
[2026-04-18 10:03:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123223119"}
[2026-04-18 10:03:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123223119","contact_id":"9099","deal_id":"local_695a5073dba2c2.29353300","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:03:45"}
[2026-04-18 10:03:45] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a5073dba2c2.29353300","contact_id":"9099","existing_deal_found":true,"existing_contact_id":"9099","existing_title":"معامله دوم 9123223119 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:03:45"}
[2026-04-18 10:03:45] [INFO] DealController.save validated payments {"deal_id":"local_695a5073dba2c2.29353300","contact_id":"9099","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 10:03:45] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"9099","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 10:03:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a5073dba2c2.29353300","contact_didar_id":"9099","title":"معامله دوم 9123223119 | CIP","base_title_used":"معامله دوم 9123223119","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"محمد لطفی","existing_deal":"YES","existing_deal_id":"local_695a5073dba2c2.29353300","existing_deal_status":"Pending","server_time":"2026-04-18 10:03:45","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:45] [INFO] Deal success processed {"contact_id":"9099","person_name":"محمد لطفی","products_count":1}
[2026-04-18 10:03:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a5073dba2c2.29353300","contact_id":"9099","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9123223119 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-18 10:03:45","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:45] [INFO] Updating virtual stage {"contact_id":"9099","stage_name":"with_purchase","force":true}
[2026-04-18 10:03:45] [INFO] Virtual stage successfully saved {"contact_id":"9099","stage_name":"with_purchase"}
[2026-04-18 10:03:45] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9099","deal_id":"local_695a5073dba2c2.29353300","target_stage":"with_purchase"}
[2026-04-18 10:03:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9099","person_id":"12092"}
[2026-04-18 10:03:52] [INFO] Checking activity reminders 
[2026-04-18 10:03:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:03:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:14] [INFO] Checking activity reminders 
[2026-04-18 10:04:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:04:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:04:22] [INFO] Checking activity reminders 
[2026-04-18 10:04:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:04:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:04:29] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"21261","deal_id":"local_69565d2b2507d0.62541292","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:04:29","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"21261","is_new_deal":false}
[2026-04-18 10:04:29] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 10:04:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 10:04:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 10:04:29] [INFO] getContactPrimaryPhone called {"contact_id":"21261"}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:29] [INFO] getContactPrimaryPhone result {"contact_id":"21261","person_found":true,"primary_phone":"9198680089"}
[2026-04-18 10:04:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9198680089"}
[2026-04-18 10:04:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9198680089","contact_id":"21261","deal_id":"local_69565d2b2507d0.62541292","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:04:29"}
[2026-04-18 10:04:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_69565d2b2507d0.62541292","contact_id":"21261","existing_deal_found":true,"existing_contact_id":"21261","existing_title":"معامله دوم 9198680089 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:04:29"}
[2026-04-18 10:04:29] [INFO] DealController.save validated payments {"deal_id":"local_69565d2b2507d0.62541292","contact_id":"21261","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 10:04:29] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"21261","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 10:04:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69565d2b2507d0.62541292","contact_didar_id":"21261","title":"معامله دوم 9198680089 | CIP","base_title_used":"معامله دوم 9198680089","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای نظری","existing_deal":"YES","existing_deal_id":"local_69565d2b2507d0.62541292","existing_deal_status":"Pending","server_time":"2026-04-18 10:04:29","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:29] [INFO] Deal success processed {"contact_id":"21261","person_name":"اقای نظری","products_count":1}
[2026-04-18 10:04:29] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69565d2b2507d0.62541292","contact_id":"21261","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9198680089 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-18 10:04:29","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:29] [INFO] Updating virtual stage {"contact_id":"21261","stage_name":"with_purchase","force":true}
[2026-04-18 10:04:29] [INFO] Virtual stage successfully saved {"contact_id":"21261","stage_name":"with_purchase"}
[2026-04-18 10:04:29] [INFO] Moved contact out of kariz after successful deal {"contact_id":"21261","deal_id":"local_69565d2b2507d0.62541292","target_stage":"with_purchase"}
[2026-04-18 10:04:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21261","person_id":"116"}
[2026-04-18 10:04:44] [INFO] Checking activity reminders 
[2026-04-18 10:04:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:04:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:04:52] [INFO] Checking activity reminders 
[2026-04-18 10:04:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:04:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:04:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 10:05:14] [INFO] Checking activity reminders 
[2026-04-18 10:05:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:05:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:05:22] [INFO] Checking activity reminders 
[2026-04-18 10:05:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:05:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:05:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3248","deal_id":"local_6948f6f0ae4837.42007695","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:05:23","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 10:05:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 10:05:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3248","is_new_deal":false}
[2026-04-18 10:05:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 10:05:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:05:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:05:23] [INFO] getContactPrimaryPhone called {"contact_id":"3248"}
[2026-04-18 10:05:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 10:05:23] [INFO] getContactPrimaryPhone result {"contact_id":"3248","person_found":true,"primary_phone":"9126524561"}
[2026-04-18 10:05:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126524561"}
[2026-04-18 10:05:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126524561","contact_id":"3248","deal_id":"local_6948f6f0ae4837.42007695","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:05:23"}
[2026-04-18 10:05:23] [INFO] DealController.save existing deal lookup {"deal_id":"local_6948f6f0ae4837.42007695","contact_id":"3248","existing_deal_found":true,"existing_contact_id":"3248","existing_title":"معامله اول 9126524561 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 10:05:23"}
[2026-04-18 10:05:23] [INFO] DealController.save validated payments {"deal_id":"local_6948f6f0ae4837.42007695","contact_id":"3248","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 10:05:23] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"3248","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 10:05:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6948f6f0ae4837.42007695","contact_didar_id":"3248","title":"معامله اول 9126524561 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9126524561","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":35000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"سیدهادی عبادی","existing_deal":"YES","existing_deal_id":"local_6948f6f0ae4837.42007695","existing_deal_status":"Pending","server_time":"2026-04-18 10:05:23","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 10:05:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 10:05:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6948f6f0ae4837.42007695","contact_id":"3248","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9126524561 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":35000000,"server_time":"2026-04-18 10:05:23","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:05:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 10:05:44] [INFO] Checking activity reminders 
[2026-04-18 10:05:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:05:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:05:53] [INFO] Checking activity reminders 
[2026-04-18 10:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:06:14] [INFO] Checking activity reminders 
[2026-04-18 10:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:06:25] [INFO] Checking activity reminders 
[2026-04-18 10:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:06:44] [INFO] Checking activity reminders 
[2026-04-18 10:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:06:56] [INFO] Checking activity reminders 
[2026-04-18 10:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:07:14] [INFO] Checking activity reminders 
[2026-04-18 10:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:07:26] [INFO] Checking activity reminders 
[2026-04-18 10:07:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:07:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:07:44] [INFO] Checking activity reminders 
[2026-04-18 10:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:07:56] [INFO] Checking activity reminders 
[2026-04-18 10:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:08:14] [INFO] Checking activity reminders 
[2026-04-18 10:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:08:26] [INFO] Checking activity reminders 
[2026-04-18 10:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:08:44] [INFO] Checking activity reminders 
[2026-04-18 10:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:08:56] [INFO] Checking activity reminders 
[2026-04-18 10:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:09:15] [INFO] Checking activity reminders 
[2026-04-18 10:09:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:09:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:09:26] [INFO] Checking activity reminders 
[2026-04-18 10:09:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:09:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:09:45] [INFO] Checking activity reminders 
[2026-04-18 10:09:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:09:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:10:15] [INFO] Checking activity reminders 
[2026-04-18 10:10:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:10:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:10:45] [INFO] Checking activity reminders 
[2026-04-18 10:10:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:10:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:11:15] [INFO] Checking activity reminders 
[2026-04-18 10:11:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:11:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:11:45] [INFO] Checking activity reminders 
[2026-04-18 10:11:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:11:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:12:15] [INFO] Checking activity reminders 
[2026-04-18 10:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:12:45] [INFO] Checking activity reminders 
[2026-04-18 10:12:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:12:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:13:15] [INFO] Checking activity reminders 
[2026-04-18 10:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:13:45] [INFO] Checking activity reminders 
[2026-04-18 10:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:14:16] [INFO] Checking activity reminders 
[2026-04-18 10:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:14:46] [INFO] Checking activity reminders 
[2026-04-18 10:14:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:14:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:15:16] [INFO] Checking activity reminders 
[2026-04-18 10:15:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:15:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:15:46] [INFO] Checking activity reminders 
[2026-04-18 10:15:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:15:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:16:16] [INFO] Checking activity reminders 
[2026-04-18 10:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:16:46] [INFO] Checking activity reminders 
[2026-04-18 10:16:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:16:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:17:16] [INFO] Checking activity reminders 
[2026-04-18 10:17:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:17:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:17:46] [INFO] Checking activity reminders 
[2026-04-18 10:17:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:17:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:18:16] [INFO] Checking activity reminders 
[2026-04-18 10:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:18:46] [INFO] Checking activity reminders 
[2026-04-18 10:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:19:16] [INFO] Checking activity reminders 
[2026-04-18 10:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:19:46] [INFO] Checking activity reminders 
[2026-04-18 10:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:20:17] [INFO] Checking activity reminders 
[2026-04-18 10:20:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:20:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:20:47] [INFO] Checking activity reminders 
[2026-04-18 10:20:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:20:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:21:17] [INFO] Checking activity reminders 
[2026-04-18 10:21:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:21:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:21:47] [INFO] Checking activity reminders 
[2026-04-18 10:21:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:21:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:22:17] [INFO] Checking activity reminders 
[2026-04-18 10:22:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:22:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:22:47] [INFO] Checking activity reminders 
[2026-04-18 10:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:23:17] [INFO] Checking activity reminders 
[2026-04-18 10:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:23:47] [INFO] Checking activity reminders 
[2026-04-18 10:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:24:17] [INFO] Checking activity reminders 
[2026-04-18 10:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:25:58] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 10:25:58] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 10:25:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 10:26:04] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 10:26:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 10:26:17] [INFO] Checking activity reminders 
[2026-04-18 10:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:26:47] [INFO] Checking activity reminders 
[2026-04-18 10:26:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:26:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:27:18] [INFO] Checking activity reminders 
[2026-04-18 10:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:27:48] [INFO] Checking activity reminders 
[2026-04-18 10:27:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:27:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:30:28] [INFO] Checking activity reminders 
[2026-04-18 10:30:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:30:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:30:58] [INFO] Checking activity reminders 
[2026-04-18 10:30:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:30:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:31:28] [INFO] Checking activity reminders 
[2026-04-18 10:31:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:31:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:31:58] [INFO] Checking activity reminders 
[2026-04-18 10:31:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:31:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:32:28] [INFO] Checking activity reminders 
[2026-04-18 10:32:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:32:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:32:58] [INFO] Checking activity reminders 
[2026-04-18 10:32:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:32:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:33:10] [INFO] Checking activity reminders 
[2026-04-18 10:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:33:28] [INFO] Checking activity reminders 
[2026-04-18 10:33:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:33:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:33:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:33:40] [INFO] Checking activity reminders 
[2026-04-18 10:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:33:58] [INFO] Checking activity reminders 
[2026-04-18 10:33:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:33:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:34:10] [INFO] Checking activity reminders 
[2026-04-18 10:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:34:29] [INFO] Checking activity reminders 
[2026-04-18 10:34:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:34:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:34:40] [INFO] Checking activity reminders 
[2026-04-18 10:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:34:59] [INFO] Checking activity reminders 
[2026-04-18 10:34:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:34:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:35:10] [INFO] Checking activity reminders 
[2026-04-18 10:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:35:29] [INFO] Checking activity reminders 
[2026-04-18 10:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:35:40] [INFO] Checking activity reminders 
[2026-04-18 10:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:35:59] [INFO] Checking activity reminders 
[2026-04-18 10:35:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:35:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:36:10] [INFO] Checking activity reminders 
[2026-04-18 10:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:36:29] [INFO] Checking activity reminders 
[2026-04-18 10:36:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:36:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:36:40] [INFO] Checking activity reminders 
[2026-04-18 10:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:36:59] [INFO] Checking activity reminders 
[2026-04-18 10:36:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:36:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:37:10] [INFO] Checking activity reminders 
[2026-04-18 10:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:37:29] [INFO] Checking activity reminders 
[2026-04-18 10:37:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:37:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:37:40] [INFO] Checking activity reminders 
[2026-04-18 10:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:37:59] [INFO] Checking activity reminders 
[2026-04-18 10:37:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:37:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:38:11] [INFO] Checking activity reminders 
[2026-04-18 10:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:38:29] [INFO] Checking activity reminders 
[2026-04-18 10:38:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:38:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:38:41] [INFO] Checking activity reminders 
[2026-04-18 10:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:38:59] [INFO] Checking activity reminders 
[2026-04-18 10:38:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:38:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:39:11] [INFO] Checking activity reminders 
[2026-04-18 10:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:39:29] [INFO] Checking activity reminders 
[2026-04-18 10:39:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:39:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:39:41] [INFO] Checking activity reminders 
[2026-04-18 10:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:39:59] [INFO] Checking activity reminders 
[2026-04-18 10:39:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:39:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:40:11] [INFO] Checking activity reminders 
[2026-04-18 10:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:40:29] [INFO] Checking activity reminders 
[2026-04-18 10:40:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:40:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:40:41] [INFO] Checking activity reminders 
[2026-04-18 10:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:41:00] [INFO] Checking activity reminders 
[2026-04-18 10:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:41:11] [INFO] Checking activity reminders 
[2026-04-18 10:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:41:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14808","deal_id":"local_69b6b26f965bf1.71533809","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:41:13","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 10:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14808","is_new_deal":false}
[2026-04-18 10:41:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 10:41:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 10:41:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 10:41:13] [INFO] getContactPrimaryPhone called {"contact_id":"14808"}
[2026-04-18 10:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:13] [INFO] getContactPrimaryPhone result {"contact_id":"14808","person_found":true,"primary_phone":"9038262630"}
[2026-04-18 10:41:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9038262630"}
[2026-04-18 10:41:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9038262630","contact_id":"14808","deal_id":"local_69b6b26f965bf1.71533809","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 10:41:13"}
[2026-04-18 10:41:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6b26f965bf1.71533809","contact_id":"14808","existing_deal_found":true,"existing_contact_id":"14808","existing_title":"معامله دوم 9038262630 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 10:41:13"}
[2026-04-18 10:41:13] [INFO] DealController.save validated payments {"deal_id":"local_69b6b26f965bf1.71533809","contact_id":"14808","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-18 10:41:13] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14808","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 10:41:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6b26f965bf1.71533809","contact_didar_id":"14808","title":"معامله دوم 9038262630 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9038262630","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"شیرزادی","existing_deal":"YES","existing_deal_id":"local_69b6b26f965bf1.71533809","existing_deal_status":"Pending","server_time":"2026-04-18 10:41:13","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 10:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6b26f965bf1.71533809","contact_id":"14808","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9038262630 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 10:41:13","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:30] [INFO] Checking activity reminders 
[2026-04-18 10:41:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:41:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:41:31] [INFO] Activity save request {"post_data":{"contact_id":"14808","deal_id":"local_69b6b26f965bf1.71533809","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تسویه شد \/ پسر گل","activity_duration":"4","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 10:41:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14808","note_was_empty":true}
[2026-04-18 10:41:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"14808","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Updating virtual stage {"contact_id":"14808","stage_name":"with_purchase","force":false}
[2026-04-18 10:41:31] [INFO] Virtual stage successfully saved {"contact_id":"14808","stage_name":"with_purchase"}
[2026-04-18 10:41:31] [INFO] Virtual stage updated after activity save {"contact_id":"14808"}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6b26f965bf1.71533809","stage":"اتمام","status_change":"Won"}
[2026-04-18 10:41:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e32ea3ae1752.40099969","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e32ea3ae1752.40099969"}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:31] [INFO] Updating virtual stage {"contact_id":"14808","stage_name":"with_purchase","force":false}
[2026-04-18 10:41:31] [INFO] Virtual stage successfully saved {"contact_id":"14808","stage_name":"with_purchase"}
[2026-04-18 10:41:31] [INFO] Virtual stage updated after activity save {"contact_id":"14808"}
[2026-04-18 10:41:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:41:41] [INFO] Checking activity reminders 
[2026-04-18 10:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:41:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:42:00] [INFO] Checking activity reminders 
[2026-04-18 10:42:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:42:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:42:11] [INFO] Checking activity reminders 
[2026-04-18 10:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-18 10:42:30] [INFO] Checking activity reminders 
[2026-04-18 10:42:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:42:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:42:41] [INFO] Checking activity reminders 
[2026-04-18 10:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:43:00] [INFO] Checking activity reminders 
[2026-04-18 10:43:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:43:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:43:11] [INFO] Checking activity reminders 
[2026-04-18 10:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:43:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:43:25","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","contact_id":"7918","is_new_deal":false}
[2026-04-18 10:43:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-18 10:43:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-18 10:43:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-18 10:43:25] [INFO] getContactPrimaryPhone called {"contact_id":"7918"}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:25] [INFO] getContactPrimaryPhone result {"contact_id":"7918","person_found":true,"primary_phone":"9904415700"}
[2026-04-18 10:43:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9904415700"}
[2026-04-18 10:43:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9904415700","contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:43:25"}
[2026-04-18 10:43:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","existing_deal_found":true,"existing_contact_id":"7918","existing_title":"معامله پنجم 9904415700 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:43:25"}
[2026-04-18 10:43:25] [INFO] DealController.save validated payments {"deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 10:43:25] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7918","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 10:43:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7f9e549b7b3.48363944","contact_didar_id":"7918","title":"معامله پنجم 9904415700 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","base_title_used":"معامله پنجم 9904415700","services_text":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی","کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حامد رضایی","existing_deal":"YES","existing_deal_id":"local_69c7f9e549b7b3.48363944","existing_deal_status":"Pending","server_time":"2026-04-18 10:43:25","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:25] [INFO] Deal success processed {"contact_id":"7918","person_name":"حامد رضایی","products_count":1}
[2026-04-18 10:43:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9904415700 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 10:43:25","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:25] [INFO] Updating virtual stage {"contact_id":"7918","stage_name":"with_purchase","force":true}
[2026-04-18 10:43:25] [INFO] Virtual stage successfully saved {"contact_id":"7918","stage_name":"with_purchase"}
[2026-04-18 10:43:25] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","target_stage":"with_purchase"}
[2026-04-18 10:43:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:43:30] [INFO] Checking activity reminders 
[2026-04-18 10:43:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:43:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:44:00] [INFO] Checking activity reminders 
[2026-04-18 10:44:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:44:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:44:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 10:44:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:44:30] [INFO] Checking activity reminders 
[2026-04-18 10:44:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:44:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:45:00] [INFO] Checking activity reminders 
[2026-04-18 10:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:45:30] [INFO] Checking activity reminders 
[2026-04-18 10:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:45:56] [INFO] Checking activity reminders 
[2026-04-18 10:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:46:00] [INFO] Checking activity reminders 
[2026-04-18 10:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:46:02] [INFO] Checking activity reminders 
[2026-04-18 10:46:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:46:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:46:32] [INFO] Checking activity reminders 
[2026-04-18 10:46:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:46:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 10:47:02] [INFO] Checking activity reminders 
[2026-04-18 10:47:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:47:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:47:32] [INFO] Checking activity reminders 
[2026-04-18 10:47:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:47:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:47:50] [INFO] Checking activity reminders 
[2026-04-18 10:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:47:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 10:48:02] [INFO] Checking activity reminders 
[2026-04-18 10:48:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:48:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:48:24] [INFO] Checking activity reminders 
[2026-04-18 10:48:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:48:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:48:32] [INFO] Checking activity reminders 
[2026-04-18 10:48:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:48:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:48:54] [INFO] Checking activity reminders 
[2026-04-18 10:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:49:02] [INFO] Checking activity reminders 
[2026-04-18 10:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:49:25] [INFO] Checking activity reminders 
[2026-04-18 10:49:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:49:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:49:32] [INFO] Checking activity reminders 
[2026-04-18 10:49:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:49:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:49:55] [INFO] Checking activity reminders 
[2026-04-18 10:49:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:49:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:50:02] [INFO] Checking activity reminders 
[2026-04-18 10:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:50:25] [INFO] Checking activity reminders 
[2026-04-18 10:50:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:50:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:50:32] [INFO] Checking activity reminders 
[2026-04-18 10:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:50:55] [INFO] Checking activity reminders 
[2026-04-18 10:50:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:50:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:51:03] [INFO] Checking activity reminders 
[2026-04-18 10:51:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:51:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:51:33] [INFO] Checking activity reminders 
[2026-04-18 10:51:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:51:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:52:03] [INFO] Checking activity reminders 
[2026-04-18 10:52:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:52:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:52:33] [INFO] Checking activity reminders 
[2026-04-18 10:52:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:52:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:53:03] [INFO] Checking activity reminders 
[2026-04-18 10:53:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:53:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:53:33] [INFO] Checking activity reminders 
[2026-04-18 10:53:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:53:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:53:59] [INFO] Checking activity reminders 
[2026-04-18 10:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:54:01] [INFO] Checking activity reminders 
[2026-04-18 10:54:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:54:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:54:31] [INFO] Checking activity reminders 
[2026-04-18 10:54:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:54:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:55:01] [INFO] Checking activity reminders 
[2026-04-18 10:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:55:31] [INFO] Checking activity reminders 
[2026-04-18 10:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:55:43] [INFO] Checking activity reminders 
[2026-04-18 10:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:56:14] [INFO] Checking activity reminders 
[2026-04-18 10:56:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:56:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:56:44] [INFO] Checking activity reminders 
[2026-04-18 10:56:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:56:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:57:03] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"10074","deal_id":"local_699c2455351311.06772514","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:57:03","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 10:57:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"10074","is_new_deal":false}
[2026-04-18 10:57:03] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:03] [INFO] getContactPrimaryPhone called {"contact_id":"10074"}
[2026-04-18 10:57:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:03] [INFO] getContactPrimaryPhone result {"contact_id":"10074","person_found":true,"primary_phone":"9197308066"}
[2026-04-18 10:57:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197308066"}
[2026-04-18 10:57:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197308066","contact_id":"10074","deal_id":"local_699c2455351311.06772514","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:57:03"}
[2026-04-18 10:57:03] [INFO] DealController.save existing deal lookup {"deal_id":"local_699c2455351311.06772514","contact_id":"10074","existing_deal_found":true,"existing_contact_id":"10074","existing_title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:57:03"}
[2026-04-18 10:57:03] [INFO] DealController.save validated payments {"deal_id":"local_699c2455351311.06772514","contact_id":"10074","payments_count":3,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-18 10:57:03] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"10074","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 10:57:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699c2455351311.06772514","contact_didar_id":"10074","title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9197308066","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی برزگر","existing_deal":"YES","existing_deal_id":"local_699c2455351311.06772514","existing_deal_status":"Pending","server_time":"2026-04-18 10:57:03","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 10:57:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:03] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699c2455351311.06772514","contact_id":"10074","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 10:57:03","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:57:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"10074","deal_id":"local_699c2455351311.06772514","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 10:57:14","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"10074","is_new_deal":false}
[2026-04-18 10:57:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 10:57:14] [INFO] getContactPrimaryPhone called {"contact_id":"10074"}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [INFO] getContactPrimaryPhone result {"contact_id":"10074","person_found":true,"primary_phone":"9197308066"}
[2026-04-18 10:57:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197308066"}
[2026-04-18 10:57:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197308066","contact_id":"10074","deal_id":"local_699c2455351311.06772514","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:57:14"}
[2026-04-18 10:57:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_699c2455351311.06772514","contact_id":"10074","existing_deal_found":true,"existing_contact_id":"10074","existing_title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 10:57:14"}
[2026-04-18 10:57:14] [INFO] DealController.save validated payments {"deal_id":"local_699c2455351311.06772514","contact_id":"10074","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 10:57:14] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"10074","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 10:57:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699c2455351311.06772514","contact_didar_id":"10074","title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9197308066","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی برزگر","existing_deal":"YES","existing_deal_id":"local_699c2455351311.06772514","existing_deal_status":"Pending","server_time":"2026-04-18 10:57:14","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [INFO] Deal success processed {"contact_id":"10074","person_name":"علی برزگر","products_count":1}
[2026-04-18 10:57:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699c2455351311.06772514","contact_id":"10074","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197308066 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 10:57:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:14] [INFO] Updating virtual stage {"contact_id":"10074","stage_name":"with_purchase","force":true}
[2026-04-18 10:57:14] [INFO] Virtual stage successfully saved {"contact_id":"10074","stage_name":"with_purchase"}
[2026-04-18 10:57:14] [INFO] Moved contact out of kariz after successful deal {"contact_id":"10074","deal_id":"local_699c2455351311.06772514","target_stage":"with_purchase"}
[2026-04-18 10:57:14] [INFO] Checking activity reminders 
[2026-04-18 10:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:57:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 10:57:17] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 10:57:17] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-18 10:57:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 10:57:44] [INFO] Checking activity reminders 
[2026-04-18 10:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:58:14] [INFO] Checking activity reminders 
[2026-04-18 10:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:58:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 10:58:41] [INFO] Checking activity reminders 
[2026-04-18 10:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:59:11] [INFO] Checking activity reminders 
[2026-04-18 10:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 10:59:41] [INFO] Checking activity reminders 
[2026-04-18 10:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 10:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:00:11] [INFO] Checking activity reminders 
[2026-04-18 11:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:00:42] [INFO] Checking activity reminders 
[2026-04-18 11:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:01:12] [INFO] Checking activity reminders 
[2026-04-18 11:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:01:42] [INFO] Checking activity reminders 
[2026-04-18 11:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:02:12] [INFO] Checking activity reminders 
[2026-04-18 11:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:02:42] [INFO] Checking activity reminders 
[2026-04-18 11:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:03:05] [INFO] Checking activity reminders 
[2026-04-18 11:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:05:01] [INFO] Checking activity reminders 
[2026-04-18 11:05:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:05:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:05:11] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20913","deal_id":"local_69e0a165d8ebe7.65525076","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 11:05:11","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 11:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20913","is_new_deal":false}
[2026-04-18 11:05:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 11:05:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 11:05:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 11:05:11] [INFO] getContactPrimaryPhone called {"contact_id":"20913"}
[2026-04-18 11:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:11] [INFO] getContactPrimaryPhone result {"contact_id":"20913","person_found":true,"primary_phone":"9123893104"}
[2026-04-18 11:05:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123893104"}
[2026-04-18 11:05:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123893104","contact_id":"20913","deal_id":"local_69e0a165d8ebe7.65525076","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 11:05:11"}
[2026-04-18 11:05:11] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a165d8ebe7.65525076","contact_id":"20913","existing_deal_found":true,"existing_contact_id":"20913","existing_title":"معامله سوم 9123893104 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 11:05:11"}
[2026-04-18 11:05:11] [INFO] DealController.save validated payments {"deal_id":"local_69e0a165d8ebe7.65525076","contact_id":"20913","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 11:05:11] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20913","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 11:05:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a165d8ebe7.65525076","contact_didar_id":"20913","title":"معامله سوم 9123893104 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9123893104","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ناصر محمدخانی","existing_deal":"YES","existing_deal_id":"local_69e0a165d8ebe7.65525076","existing_deal_status":"Pending","server_time":"2026-04-18 11:05:11","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 11:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:11] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a165d8ebe7.65525076","contact_id":"20913","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9123893104 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-18 11:05:11","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 11:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Activity save request {"post_data":{"contact_id":"20913","deal_id":"local_69e0a165d8ebe7.65525076","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:05:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20913","note_was_empty":true}
[2026-04-18 11:05:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"20913","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Updating virtual stage {"contact_id":"20913","stage_name":"deal_registered","force":false}
[2026-04-18 11:05:29] [INFO] Virtual stage successfully saved {"contact_id":"20913","stage_name":"deal_registered"}
[2026-04-18 11:05:29] [INFO] Virtual stage updated after activity save {"contact_id":"20913"}
[2026-04-18 11:05:29] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a165d8ebe7.65525076","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 11:05:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e334412e51e0.47226776","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69e334412e51e0.47226776"}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:29] [INFO] Updating virtual stage {"contact_id":"20913","stage_name":"deal_registered","force":false}
[2026-04-18 11:05:29] [INFO] Virtual stage successfully saved {"contact_id":"20913","stage_name":"deal_registered"}
[2026-04-18 11:05:29] [INFO] Virtual stage updated after activity save {"contact_id":"20913"}
[2026-04-18 11:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20913","person_id":"19021"}
[2026-04-18 11:05:31] [INFO] Checking activity reminders 
[2026-04-18 11:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:05:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 11:05:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 11:05:40] [INFO] Checking activity reminders 
[2026-04-18 11:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:06:01] [INFO] Checking activity reminders 
[2026-04-18 11:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:06:11] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 11:06:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 11:06:41] [INFO] Checking activity reminders 
[2026-04-18 11:06:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:06:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:07:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11885","person_id":"9277"}
[2026-04-18 11:07:11] [INFO] Checking activity reminders 
[2026-04-18 11:07:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:07:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:07:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:07:41] [INFO] Checking activity reminders 
[2026-04-18 11:07:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:07:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:08:11] [INFO] Checking activity reminders 
[2026-04-18 11:08:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:08:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:08:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:08:41] [INFO] Checking activity reminders 
[2026-04-18 11:08:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:08:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:09:11] [INFO] Checking activity reminders 
[2026-04-18 11:09:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:09:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:09:41] [INFO] Checking activity reminders 
[2026-04-18 11:09:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:09:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:09:50] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_99","deal_id":"local_69b72ca4f0a651.90282634","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام در بله \r\nشرایط 6 ماهه کانال پرزنت شد \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:09:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:09:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:09:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_99","note_was_empty":true}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:09:50] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered","force":false}
[2026-04-18 11:09:50] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered"}
[2026-04-18 11:09:50] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_99"}
[2026-04-18 11:09:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72ca4f0a651.90282634","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 11:09:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3354654b489.72840279","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:09:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3354654b489.72840279"}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:09:50] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered","force":false}
[2026-04-18 11:09:50] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered"}
[2026-04-18 11:09:50] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_99"}
[2026-04-18 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-18 11:10:11] [INFO] Checking activity reminders 
[2026-04-18 11:10:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:10:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:10:14] [INFO] Checking activity reminders 
[2026-04-18 11:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:10:42] [INFO] Checking activity reminders 
[2026-04-18 11:10:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:10:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:10:44] [INFO] Checking activity reminders 
[2026-04-18 11:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:11:12] [INFO] Checking activity reminders 
[2026-04-18 11:11:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:11:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:11:14] [INFO] Checking activity reminders 
[2026-04-18 11:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:11:42] [INFO] Checking activity reminders 
[2026-04-18 11:11:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:11:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:11:44] [INFO] Checking activity reminders 
[2026-04-18 11:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:12:05] [INFO] Activity save request {"post_data":{"contact_id":"15468","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:12:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:12:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:12:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:12:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:12:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15468","note_was_empty":true}
[2026-04-18 11:12:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"15468","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 11:12:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e335cdc65d21.86013672","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:12:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:12:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e335cdc65d21.86013672"}
[2026-04-18 11:12:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:12:05] [INFO] Updating virtual stage {"contact_id":"15468","stage_name":"contact_followup","force":false}
[2026-04-18 11:12:05] [INFO] Virtual stage successfully saved {"contact_id":"15468","stage_name":"contact_followup"}
[2026-04-18 11:12:05] [INFO] Virtual stage updated after activity save {"contact_id":"15468"}
[2026-04-18 11:12:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 11:12:12] [INFO] Checking activity reminders 
[2026-04-18 11:12:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:12:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:12:14] [INFO] Checking activity reminders 
[2026-04-18 11:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:12:42] [INFO] Checking activity reminders 
[2026-04-18 11:12:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:12:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:12:44] [INFO] Checking activity reminders 
[2026-04-18 11:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:13:12] [INFO] Checking activity reminders 
[2026-04-18 11:13:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:13:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:13:14] [INFO] Checking activity reminders 
[2026-04-18 11:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:13:42] [INFO] Checking activity reminders 
[2026-04-18 11:13:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:13:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:13:44] [INFO] Checking activity reminders 
[2026-04-18 11:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:14:12] [INFO] Checking activity reminders 
[2026-04-18 11:14:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:14:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:14:14] [INFO] Checking activity reminders 
[2026-04-18 11:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:14:42] [INFO] Checking activity reminders 
[2026-04-18 11:14:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:14:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:14:44] [INFO] Checking activity reminders 
[2026-04-18 11:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:15:12] [INFO] Checking activity reminders 
[2026-04-18 11:15:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:15:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:15:14] [INFO] Checking activity reminders 
[2026-04-18 11:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:15:42] [INFO] Checking activity reminders 
[2026-04-18 11:15:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:15:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:15:44] [INFO] Checking activity reminders 
[2026-04-18 11:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:16:12] [INFO] Checking activity reminders 
[2026-04-18 11:16:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:16:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:16:15] [INFO] Checking activity reminders 
[2026-04-18 11:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:16:43] [INFO] Checking activity reminders 
[2026-04-18 11:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:16:45] [INFO] Checking activity reminders 
[2026-04-18 11:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:17:13] [INFO] Checking activity reminders 
[2026-04-18 11:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:17:15] [INFO] Checking activity reminders 
[2026-04-18 11:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:17:43] [INFO] Checking activity reminders 
[2026-04-18 11:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:17:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:17:45] [INFO] Checking activity reminders 
[2026-04-18 11:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:18:13] [INFO] Checking activity reminders 
[2026-04-18 11:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:18:15] [INFO] Checking activity reminders 
[2026-04-18 11:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:18:39] [INFO] Activity save request {"post_data":{"contact_id":"2706","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:18:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:18:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:18:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2706","note_was_empty":true}
[2026-04-18 11:18:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"2706","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 11:18:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e337574b17a8.98719497","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:18:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69e337574b17a8.98719497"}
[2026-04-18 11:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:18:39] [INFO] Updating virtual stage {"contact_id":"2706","stage_name":"deal_registered","force":false}
[2026-04-18 11:18:39] [INFO] Virtual stage successfully saved {"contact_id":"2706","stage_name":"deal_registered"}
[2026-04-18 11:18:39] [INFO] Virtual stage updated after activity save {"contact_id":"2706"}
[2026-04-18 11:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-18 11:18:45] [INFO] Checking activity reminders 
[2026-04-18 11:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:19:15] [INFO] Checking activity reminders 
[2026-04-18 11:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:19:45] [INFO] Checking activity reminders 
[2026-04-18 11:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:20:07] [INFO] Checking activity reminders 
[2026-04-18 11:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:20:15] [INFO] Activity save request {"post_data":{"contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تا اخر هفته تسویه و در کانال عضو میشه \r\nخودش به فکر هست منتظر حقوقه ","activity_duration":"2","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:20:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14954","note_was_empty":true}
[2026-04-18 11:20:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"14954","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Updating virtual stage {"contact_id":"14954","stage_name":"deal_registered","force":false}
[2026-04-18 11:20:15] [INFO] Virtual stage successfully saved {"contact_id":"14954","stage_name":"deal_registered"}
[2026-04-18 11:20:15] [INFO] Virtual stage updated after activity save {"contact_id":"14954"}
[2026-04-18 11:20:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6208c590c62.46842710","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 11:20:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e337b7563e85.79887895","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e337b7563e85.79887895"}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Updating virtual stage {"contact_id":"14954","stage_name":"deal_registered","force":false}
[2026-04-18 11:20:15] [INFO] Virtual stage successfully saved {"contact_id":"14954","stage_name":"deal_registered"}
[2026-04-18 11:20:15] [INFO] Virtual stage updated after activity save {"contact_id":"14954"}
[2026-04-18 11:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-18 11:20:15] [INFO] Checking activity reminders 
[2026-04-18 11:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:20:37] [INFO] Checking activity reminders 
[2026-04-18 11:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:20:45] [INFO] Checking activity reminders 
[2026-04-18 11:20:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:20:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:21:07] [INFO] Checking activity reminders 
[2026-04-18 11:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:21:10] [INFO] Activity save request {"post_data":{"contact_id":"21527","deal_id":"18650","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"طلا کی بفروشه اومد پایین بخره تبدیل به ملک شمال یا خوزستان کنه \/ 15 کیلو طلا","activity_duration":"25","direction":"incoming","current_stage":"پشتیبانی","pipeline_stage":"پشتیبانی","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 11:21:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21527","note_was_empty":true}
[2026-04-18 11:21:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"21527","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:10] [INFO] Updating virtual stage {"contact_id":"21527","stage_name":"deal_registered","force":false}
[2026-04-18 11:21:10] [INFO] Virtual stage successfully saved {"contact_id":"21527","stage_name":"deal_registered"}
[2026-04-18 11:21:10] [INFO] Virtual stage updated after activity save {"contact_id":"21527"}
[2026-04-18 11:21:10] [INFO] Pipeline stage updated after activity save {"deal_id":"18650","stage":"پشتیبانی","status_change":null}
[2026-04-18 11:21:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e337ee1656d8.46927205","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e337ee1656d8.46927205"}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:10] [INFO] Updating virtual stage {"contact_id":"21527","stage_name":"deal_registered","force":false}
[2026-04-18 11:21:10] [INFO] Virtual stage successfully saved {"contact_id":"21527","stage_name":"deal_registered"}
[2026-04-18 11:21:10] [INFO] Virtual stage updated after activity save {"contact_id":"21527"}
[2026-04-18 11:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21527","person_id":"3940"}
[2026-04-18 11:21:15] [INFO] Checking activity reminders 
[2026-04-18 11:21:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:21:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:21:37] [INFO] Checking activity reminders 
[2026-04-18 11:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:21:45] [INFO] Checking activity reminders 
[2026-04-18 11:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:22:07] [INFO] Checking activity reminders 
[2026-04-18 11:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:22:15] [INFO] Checking activity reminders 
[2026-04-18 11:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:22:37] [INFO] Checking activity reminders 
[2026-04-18 11:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:22:45] [INFO] Checking activity reminders 
[2026-04-18 11:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:23:07] [INFO] Checking activity reminders 
[2026-04-18 11:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:23:15] [INFO] Checking activity reminders 
[2026-04-18 11:23:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:23:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:23:37] [INFO] Checking activity reminders 
[2026-04-18 11:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:23:45] [INFO] Checking activity reminders 
[2026-04-18 11:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:24:08] [INFO] Checking activity reminders 
[2026-04-18 11:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:24:15] [INFO] Checking activity reminders 
[2026-04-18 11:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:24:38] [INFO] Checking activity reminders 
[2026-04-18 11:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:24:44] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 11:25:08] [INFO] Checking activity reminders 
[2026-04-18 11:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:25:14] [INFO] Checking activity reminders 
[2026-04-18 11:25:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:25:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:25:38] [INFO] Checking activity reminders 
[2026-04-18 11:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:25:44] [INFO] Checking activity reminders 
[2026-04-18 11:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:26:08] [INFO] Checking activity reminders 
[2026-04-18 11:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:26:14] [INFO] Checking activity reminders 
[2026-04-18 11:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:26:38] [INFO] Checking activity reminders 
[2026-04-18 11:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:26:44] [INFO] Checking activity reminders 
[2026-04-18 11:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:27:08] [INFO] Checking activity reminders 
[2026-04-18 11:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:27:14] [INFO] Checking activity reminders 
[2026-04-18 11:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:27:38] [INFO] Checking activity reminders 
[2026-04-18 11:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:27:44] [INFO] Checking activity reminders 
[2026-04-18 11:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:28:08] [INFO] Checking activity reminders 
[2026-04-18 11:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:28:14] [INFO] Checking activity reminders 
[2026-04-18 11:28:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:28:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:28:38] [INFO] Checking activity reminders 
[2026-04-18 11:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:28:44] [INFO] Checking activity reminders 
[2026-04-18 11:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:29:08] [INFO] Checking activity reminders 
[2026-04-18 11:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:29:14] [INFO] Checking activity reminders 
[2026-04-18 11:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:29:38] [INFO] Checking activity reminders 
[2026-04-18 11:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:29:45] [INFO] Checking activity reminders 
[2026-04-18 11:29:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:29:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:30:08] [INFO] Checking activity reminders 
[2026-04-18 11:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:30:15] [INFO] Checking activity reminders 
[2026-04-18 11:30:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:30:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:30:38] [INFO] Checking activity reminders 
[2026-04-18 11:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:30:45] [INFO] Checking activity reminders 
[2026-04-18 11:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:31:17] [INFO] Checking activity reminders 
[2026-04-18 11:31:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:31:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:31:47] [INFO] Checking activity reminders 
[2026-04-18 11:31:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:31:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:32:17] [INFO] Checking activity reminders 
[2026-04-18 11:32:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:32:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:32:47] [INFO] Checking activity reminders 
[2026-04-18 11:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:33:17] [INFO] Checking activity reminders 
[2026-04-18 11:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:33:26] [INFO] Checking activity reminders 
[2026-04-18 11:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:33:47] [INFO] Checking activity reminders 
[2026-04-18 11:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:33:56] [INFO] Checking activity reminders 
[2026-04-18 11:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:34:17] [INFO] Checking activity reminders 
[2026-04-18 11:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:34:26] [INFO] Checking activity reminders 
[2026-04-18 11:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:34:48] [INFO] Checking activity reminders 
[2026-04-18 11:34:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:34:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:34:56] [INFO] Checking activity reminders 
[2026-04-18 11:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:35:18] [INFO] Checking activity reminders 
[2026-04-18 11:35:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:35:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:35:26] [INFO] Checking activity reminders 
[2026-04-18 11:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:35:48] [INFO] Checking activity reminders 
[2026-04-18 11:35:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:35:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:35:56] [INFO] Checking activity reminders 
[2026-04-18 11:35:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:35:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:36:18] [INFO] Checking activity reminders 
[2026-04-18 11:36:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:36:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:36:26] [INFO] Checking activity reminders 
[2026-04-18 11:36:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:36:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:36:48] [INFO] Checking activity reminders 
[2026-04-18 11:36:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:36:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:36:56] [INFO] Checking activity reminders 
[2026-04-18 11:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:37:18] [INFO] Checking activity reminders 
[2026-04-18 11:37:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:37:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:37:26] [INFO] Checking activity reminders 
[2026-04-18 11:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:37:48] [INFO] Checking activity reminders 
[2026-04-18 11:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:37:56] [INFO] Checking activity reminders 
[2026-04-18 11:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:38:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 11:38:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-18 11:38:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 11:38:18] [INFO] Checking activity reminders 
[2026-04-18 11:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:38:26] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 11:38:26] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-18 11:38:26] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 11:38:26] [INFO] Checking activity reminders 
[2026-04-18 11:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:38:56] [INFO] Checking activity reminders 
[2026-04-18 11:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:39:26] [INFO] Checking activity reminders 
[2026-04-18 11:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:39:57] [INFO] Checking activity reminders 
[2026-04-18 11:39:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:39:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:40:27] [INFO] Checking activity reminders 
[2026-04-18 11:40:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:40:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:40:57] [INFO] Checking activity reminders 
[2026-04-18 11:40:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:40:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:41:27] [INFO] Checking activity reminders 
[2026-04-18 11:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:41:57] [INFO] Checking activity reminders 
[2026-04-18 11:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:42:27] [INFO] Checking activity reminders 
[2026-04-18 11:42:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:42:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:42:57] [INFO] Checking activity reminders 
[2026-04-18 11:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:53:06] [INFO] Checking activity reminders 
[2026-04-18 11:53:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:53:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:53:36] [INFO] Checking activity reminders 
[2026-04-18 11:53:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:53:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:54:07] [INFO] Checking activity reminders 
[2026-04-18 11:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:54:37] [INFO] Checking activity reminders 
[2026-04-18 11:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:55:08] [INFO] Checking activity reminders 
[2026-04-18 11:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:55:38] [INFO] Checking activity reminders 
[2026-04-18 11:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:56:08] [INFO] Checking activity reminders 
[2026-04-18 11:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:56:38] [INFO] Checking activity reminders 
[2026-04-18 11:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:57:08] [INFO] Checking activity reminders 
[2026-04-18 11:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:57:38] [INFO] Checking activity reminders 
[2026-04-18 11:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:58:08] [INFO] Checking activity reminders 
[2026-04-18 11:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:58:23] [INFO] Checking activity reminders 
[2026-04-18 11:58:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:58:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:58:27] [INFO] Checking activity reminders 
[2026-04-18 11:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:58:38] [INFO] Checking activity reminders 
[2026-04-18 11:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:58:57] [INFO] Checking activity reminders 
[2026-04-18 11:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:09] [INFO] Checking activity reminders 
[2026-04-18 11:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:22] [INFO] Checking activity reminders 
[2026-04-18 11:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:24] [INFO] Checking activity reminders 
[2026-04-18 11:59:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:29] [INFO] Checking activity reminders 
[2026-04-18 11:59:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:39] [INFO] Checking activity reminders 
[2026-04-18 11:59:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 11:59:56] [INFO] Checking activity reminders 
[2026-04-18 11:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 11:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:00:00] [INFO] Checking activity reminders 
[2026-04-18 12:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:00:02] [INFO] Checking activity reminders 
[2026-04-18 12:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:00:04] [INFO] Checking activity reminders 
[2026-04-18 12:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:00:09] [INFO] Checking activity reminders 
[2026-04-18 12:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:00:39] [INFO] Checking activity reminders 
[2026-04-18 12:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:01:09] [INFO] Checking activity reminders 
[2026-04-18 12:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:01:38] [INFO] Checking activity reminders 
[2026-04-18 12:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:01:39] [INFO] Checking activity reminders 
[2026-04-18 12:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:02:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:08] [INFO] Checking activity reminders 
[2026-04-18 12:02:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:02:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:02:09] [INFO] Checking activity reminders 
[2026-04-18 12:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:02:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_79","deal_id":"local_69e0a49f2aad26.55018144","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:02:13","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 12:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_79","is_new_deal":false}
[2026-04-18 12:02:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:02:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:02:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:02:13] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_79"}
[2026-04-18 12:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:13] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_79","person_found":true,"primary_phone":"9116827265"}
[2026-04-18 12:02:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9116827265"}
[2026-04-18 12:02:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9116827265","contact_id":"local_1403_09_26_79","deal_id":"local_69e0a49f2aad26.55018144","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 12:02:13"}
[2026-04-18 12:02:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a49f2aad26.55018144","contact_id":"local_1403_09_26_79","existing_deal_found":true,"existing_contact_id":"local_1403_09_26_79","existing_title":"معامله اول 9116827265 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 12:02:13"}
[2026-04-18 12:02:13] [INFO] DealController.save validated payments {"deal_id":"local_69e0a49f2aad26.55018144","contact_id":"local_1403_09_26_79","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 12:02:13] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_1403_09_26_79","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:02:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a49f2aad26.55018144","contact_didar_id":"local_1403_09_26_79","title":"معامله اول 9116827265 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9116827265","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"کیوان رضا زاده","existing_deal":"YES","existing_deal_id":"local_69e0a49f2aad26.55018144","existing_deal_status":"Pending","server_time":"2026-04-18 12:02:13","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 12:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a49f2aad26.55018144","contact_id":"local_1403_09_26_79","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9116827265 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-18 12:02:13","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:02:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:02:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:02:38] [INFO] Checking activity reminders 
[2026-04-18 12:02:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:02:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:02:39] [INFO] Checking activity reminders 
[2026-04-18 12:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:03:08] [INFO] Checking activity reminders 
[2026-04-18 12:03:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:03:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:03:09] [INFO] Checking activity reminders 
[2026-04-18 12:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:03:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_159","deal_id":"local_69e0a55e2c8ad8.49482502","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:03:22","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 12:03:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:03:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_1403_09_26_159","is_new_deal":false}
[2026-04-18 12:03:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:03:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:03:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 12:03:22] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_159"}
[2026-04-18 12:03:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:03:22] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_159","person_found":true,"primary_phone":"9123590858"}
[2026-04-18 12:03:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123590858"}
[2026-04-18 12:03:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123590858","contact_id":"local_1403_09_26_159","deal_id":"local_69e0a55e2c8ad8.49482502","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 12:03:22"}
[2026-04-18 12:03:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a55e2c8ad8.49482502","contact_id":"local_1403_09_26_159","existing_deal_found":true,"existing_contact_id":"local_1403_09_26_159","existing_title":"معامله اول 9123590858 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 12:03:22"}
[2026-04-18 12:03:22] [INFO] DealController.save validated payments {"deal_id":"local_69e0a55e2c8ad8.49482502","contact_id":"local_1403_09_26_159","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 12:03:22] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_1403_09_26_159","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:03:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a55e2c8ad8.49482502","contact_didar_id":"local_1403_09_26_159","title":"معامله اول 9123590858 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9123590858","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضا کوهی فایق","existing_deal":"YES","existing_deal_id":"local_69e0a55e2c8ad8.49482502","existing_deal_status":"Pending","server_time":"2026-04-18 12:03:22","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 12:03:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:03:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a55e2c8ad8.49482502","contact_id":"local_1403_09_26_159","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9123590858 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-18 12:03:22","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:03:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:03:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:03:38] [INFO] Checking activity reminders 
[2026-04-18 12:03:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:03:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:03:39] [INFO] Checking activity reminders 
[2026-04-18 12:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:04:09] [INFO] Checking activity reminders 
[2026-04-18 12:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:04:09] [INFO] Checking activity reminders 
[2026-04-18 12:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:04:39] [INFO] Checking activity reminders 
[2026-04-18 12:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:04:40] [INFO] Checking activity reminders 
[2026-04-18 12:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:05:09] [INFO] Checking activity reminders 
[2026-04-18 12:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:05:10] [INFO] Checking activity reminders 
[2026-04-18 12:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:05:39] [INFO] Checking activity reminders 
[2026-04-18 12:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:05:40] [INFO] Checking activity reminders 
[2026-04-18 12:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:06:09] [INFO] Checking activity reminders 
[2026-04-18 12:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:06:10] [INFO] Checking activity reminders 
[2026-04-18 12:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:06:39] [INFO] Checking activity reminders 
[2026-04-18 12:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:07:09] [INFO] Checking activity reminders 
[2026-04-18 12:07:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:07:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:07:39] [INFO] Checking activity reminders 
[2026-04-18 12:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:08:05] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:08:05] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-18 12:08:05] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:08:09] [INFO] Checking activity reminders 
[2026-04-18 12:08:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:08:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:08:22] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_159","deal_id":"local_69e0a55e2c8ad8.49482502","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:08:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_159","note_was_empty":true}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:22] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_159","stage_name":"new","force":false}
[2026-04-18 12:08:22] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_159","stage_name":"new"}
[2026-04-18 12:08:22] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_159"}
[2026-04-18 12:08:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a55e2c8ad8.49482502","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 12:08:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e342fe71b748.52342627","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e342fe71b748.52342627"}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:22] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_159","stage_name":"deal_registered","force":false}
[2026-04-18 12:08:22] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_159","stage_name":"deal_registered"}
[2026-04-18 12:08:22] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_159"}
[2026-04-18 12:08:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_159","person_id":"21235"}
[2026-04-18 12:08:30] [INFO] Checking activity reminders 
[2026-04-18 12:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:08:37] [INFO] Checking activity reminders 
[2026-04-18 12:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:09:00] [INFO] Checking activity reminders 
[2026-04-18 12:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:09:07] [INFO] Checking activity reminders 
[2026-04-18 12:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:09:37] [INFO] Checking activity reminders 
[2026-04-18 12:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:09:47] [INFO] Checking activity reminders 
[2026-04-18 12:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:10:00] [INFO] Checking activity reminders 
[2026-04-18 12:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:10:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:10:30] [INFO] Checking activity reminders 
[2026-04-18 12:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:10:34] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:10:34] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 12:10:34] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 12:10:35] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 12:10:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 12:10:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-18 12:10:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-18 12:10:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:10:52] [INFO] Checking activity reminders 
[2026-04-18 12:10:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:10:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:11:00] [INFO] Checking activity reminders 
[2026-04-18 12:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:11:11] [INFO] Checking activity reminders 
[2026-04-18 12:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:11:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:11:30] [INFO] Checking activity reminders 
[2026-04-18 12:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:12:00] [INFO] Checking activity reminders 
[2026-04-18 12:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:12:30] [INFO] Checking activity reminders 
[2026-04-18 12:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:13:00] [INFO] Checking activity reminders 
[2026-04-18 12:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:13:11] [INFO] Checking activity reminders 
[2026-04-18 12:13:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:13:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:13:30] [INFO] Checking activity reminders 
[2026-04-18 12:13:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:13:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:13:41] [INFO] Checking activity reminders 
[2026-04-18 12:13:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:13:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:13:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:14:00] [INFO] Checking activity reminders 
[2026-04-18 12:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:14:11] [INFO] Checking activity reminders 
[2026-04-18 12:14:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:14:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:14:30] [INFO] Checking activity reminders 
[2026-04-18 12:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:01] [INFO] Checking activity reminders 
[2026-04-18 12:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:18] [INFO] Checking activity reminders 
[2026-04-18 12:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:18] [INFO] Checking activity reminders 
[2026-04-18 12:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:15:18] [INFO] generateDealTitle result {"contact_id":"local_69dc8794ca28e4.79401978","person_name":"امید رحیمی","mobile":"9330688687","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9330688687"}
[2026-04-18 12:15:18] [INFO] Checking activity reminders 
[2026-04-18 12:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:31] [INFO] Checking activity reminders 
[2026-04-18 12:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:15:48] [INFO] Checking activity reminders 
[2026-04-18 12:15:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:15:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:16:01] [INFO] Checking activity reminders 
[2026-04-18 12:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:16:05] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:16:05","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:16:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_69dc8794ca28e4.79401978","is_new_deal":true}
[2026-04-18 12:16:05] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 12:16:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 12:16:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 12:16:05] [INFO] getContactPrimaryPhone called {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-18 12:16:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:05] [INFO] getContactPrimaryPhone result {"contact_id":"local_69dc8794ca28e4.79401978","person_found":true,"primary_phone":"9330688687"}
[2026-04-18 12:16:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330688687"}
[2026-04-18 12:16:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330688687","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:16:05"}
[2026-04-18 12:16:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:05] [INFO] generateDealTitle result {"contact_id":"local_69dc8794ca28e4.79401978","person_name":"امید رحیمی","mobile":"9330688687","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9330688687"}
[2026-04-18 12:16:05] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69dc8794ca28e4.79401978","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 12:16:05] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69dc8794ca28e4.79401978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:16:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69dc8794ca28e4.79401978","title":"معامله دوم 9330688687 | هوش خودرو","base_title_used":"معامله دوم 9330688687","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":5000000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امید رحیمی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 12:16:05","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:16:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:05] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 12:16:05] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69dc8794ca28e4.79401978","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9330688687 | هوش خودرو","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":5000000,"payment_amount":0,"server_time":"2026-04-18 12:16:05","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:16:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:16:08] [INFO] generateDealTitle result {"contact_id":"local_69dc8794ca28e4.79401978","person_name":"امید رحیمی","mobile":"9330688687","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9330688687"}
[2026-04-18 12:16:19] [INFO] Checking activity reminders 
[2026-04-18 12:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:16:31] [INFO] Checking activity reminders 
[2026-04-18 12:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:16:49] [INFO] Checking activity reminders 
[2026-04-18 12:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:01] [INFO] Checking activity reminders 
[2026-04-18 12:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:14] [INFO] Checking activity reminders 
[2026-04-18 12:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:17] [INFO] generateDealTitle result {"contact_id":"local_69dc8794ca28e4.79401978","person_name":"امید رحیمی","mobile":"9330688687","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9330688687"}
[2026-04-18 12:17:19] [INFO] Checking activity reminders 
[2026-04-18 12:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 12:17:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 12:17:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-18 12:17:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-18 12:17:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:17:31] [INFO] Checking activity reminders 
[2026-04-18 12:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:32] [INFO] Checking activity reminders 
[2026-04-18 12:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:17:45] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:17:45","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:17:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_69dc8794ca28e4.79401978","is_new_deal":true}
[2026-04-18 12:17:45] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-18 12:17:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:17:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:17:45] [INFO] getContactPrimaryPhone called {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-18 12:17:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:45] [INFO] getContactPrimaryPhone result {"contact_id":"local_69dc8794ca28e4.79401978","person_found":true,"primary_phone":"9330688687"}
[2026-04-18 12:17:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330688687"}
[2026-04-18 12:17:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330688687","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:17:45"}
[2026-04-18 12:17:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:45] [INFO] generateDealTitle result {"contact_id":"local_69dc8794ca28e4.79401978","person_name":"امید رحیمی","mobile":"9330688687","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9330688687"}
[2026-04-18 12:17:45] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69dc8794ca28e4.79401978","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 12:17:45] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69dc8794ca28e4.79401978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:17:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69dc8794ca28e4.79401978","title":"معامله سوم 9330688687 | کارشناسی حضوری","base_title_used":"معامله سوم 9330688687","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امید رحیمی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 12:17:45","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:17:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:45] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 12:17:45] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69dc8794ca28e4.79401978","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9330688687 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-18 12:17:45","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:17:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:17:49] [INFO] Checking activity reminders 
[2026-04-18 12:17:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:17:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:18:01] [INFO] Checking activity reminders 
[2026-04-18 12:18:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:18:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:18:20] [INFO] Checking activity reminders 
[2026-04-18 12:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:18:22] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"5 ت پرداخت اول دسترسی افلاین فعال 23 فروردین زد","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:18:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:18:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:18:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69dc8794ca28e4.79401978","note_was_empty":true}
[2026-04-18 12:18:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e34556530ea3.21015839","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:18:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e34556530ea3.21015839"}
[2026-04-18 12:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:18:22] [INFO] Updating virtual stage {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered","force":false}
[2026-04-18 12:18:22] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered"}
[2026-04-18 12:18:22] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-18 12:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-18 12:18:24] [INFO] Activity save request {"post_data":{"contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"9 م واریز .\r\nچک برگشت خورده \/ مشتری وصول نکرده \r\nارسال شماره کارت ","activity_duration":"2","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:18:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12744","note_was_empty":true}
[2026-04-18 12:18:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"12744","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:24] [INFO] Updating virtual stage {"contact_id":"12744","stage_name":"deal_registered","force":false}
[2026-04-18 12:18:24] [INFO] Virtual stage successfully saved {"contact_id":"12744","stage_name":"deal_registered"}
[2026-04-18 12:18:24] [INFO] Virtual stage updated after activity save {"contact_id":"12744"}
[2026-04-18 12:18:24] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c7fa564ab056.29171629","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 12:18:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e345586a9368.46746158","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69e345586a9368.46746158"}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:24] [INFO] Updating virtual stage {"contact_id":"12744","stage_name":"deal_registered","force":false}
[2026-04-18 12:18:24] [INFO] Virtual stage successfully saved {"contact_id":"12744","stage_name":"deal_registered"}
[2026-04-18 12:18:24] [INFO] Virtual stage updated after activity save {"contact_id":"12744"}
[2026-04-18 12:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 12:18:31] [INFO] Checking activity reminders 
[2026-04-18 12:18:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:18:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:18:50] [INFO] Checking activity reminders 
[2026-04-18 12:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:18:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:18:55] [INFO] generateDealTitle result {"contact_id":"21335","person_name":"فتحی","mobile":"9196747219","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9196747219"}
[2026-04-18 12:19:01] [INFO] Checking activity reminders 
[2026-04-18 12:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:19:15] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"21335","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:19:15","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21335","is_new_deal":true}
[2026-04-18 12:19:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-18 12:19:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:19:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:19:15] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-18 12:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:15] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-18 12:19:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-18 12:19:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:19:15"}
[2026-04-18 12:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:15] [INFO] generateDealTitle result {"contact_id":"21335","person_name":"فتحی","mobile":"9196747219","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9196747219"}
[2026-04-18 12:19:15] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21335","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 12:19:15] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21335","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:19:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21335","title":"معامله دوم 9196747219 | کارشناسی حضوری","base_title_used":"معامله دوم 9196747219","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فتحی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 12:19:15","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:15] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 12:19:15] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21335","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9196747219 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-18 12:19:15","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:16] [INFO] generateDealTitle result {"contact_id":"21335","person_name":"فتحی","mobile":"9196747219","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9196747219"}
[2026-04-18 12:19:20] [INFO] Checking activity reminders 
[2026-04-18 12:19:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:19:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:19:31] [INFO] Checking activity reminders 
[2026-04-18 12:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:19:50] [INFO] Checking activity reminders 
[2026-04-18 12:19:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:19:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:19:50] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"21335","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:19:50","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21335","is_new_deal":true}
[2026-04-18 12:19:50] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 12:19:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 12:19:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 12:19:50] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-18 12:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:50] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-18 12:19:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-18 12:19:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:19:50"}
[2026-04-18 12:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:50] [INFO] generateDealTitle result {"contact_id":"21335","person_name":"فتحی","mobile":"9196747219","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9196747219"}
[2026-04-18 12:19:50] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21335","payments_count":0,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 12:19:50] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21335","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:19:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21335","title":"معامله سوم 9196747219 | هوش خودرو","base_title_used":"معامله سوم 9196747219","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":5000000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فتحی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 12:19:50","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:19:50] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 12:19:50] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21335","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9196747219 | هوش خودرو","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":5000000,"payment_amount":0,"server_time":"2026-04-18 12:19:50","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:20:01] [INFO] Checking activity reminders 
[2026-04-18 12:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:20:20] [INFO] Checking activity reminders 
[2026-04-18 12:20:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:20:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:20:31] [INFO] Checking activity reminders 
[2026-04-18 12:20:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:20:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:20:50] [INFO] Checking activity reminders 
[2026-04-18 12:20:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:20:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:20:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:20:57","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:20:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21335","is_new_deal":false}
[2026-04-18 12:20:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-18 12:20:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:20:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-18 12:20:57] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-18 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:20:57] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-18 12:20:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-18 12:20:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:20:57"}
[2026-04-18 12:20:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","existing_deal_found":true,"existing_contact_id":"21335","existing_title":"معامله دوم 9196747219 | کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:20:57"}
[2026-04-18 12:20:57] [INFO] DealController.save validated payments {"deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 12:20:57] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21335","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:20:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e3458b3d0bd7.48260301","contact_didar_id":"21335","title":"معامله دوم 9196747219 | کارشناسی حضوری","base_title_used":"معامله دوم 9196747219","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":10000000,"payment_amount":2500000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69e3458b3d0bd7.48260301","existing_deal_status":"Pending","server_time":"2026-04-18 12:20:57","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:20:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9196747219 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":2500000,"server_time":"2026-04-18 12:20:57","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:21:02] [INFO] Checking activity reminders 
[2026-04-18 12:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:21:20] [INFO] Checking activity reminders 
[2026-04-18 12:21:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:21:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:21:32] [INFO] Checking activity reminders 
[2026-04-18 12:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:21:49] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"21335","deal_id":"local_69e345ae74c4b6.77311240","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 12:21:49","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 12:21:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:21:49] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21335","is_new_deal":false}
[2026-04-18 12:21:49] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 12:21:49] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 12:21:49] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 12:21:49] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-18 12:21:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:21:49] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-18 12:21:49] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-18 12:21:49] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"local_69e345ae74c4b6.77311240","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:21:49"}
[2026-04-18 12:21:49] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e345ae74c4b6.77311240","contact_id":"21335","existing_deal_found":true,"existing_contact_id":"21335","existing_title":"معامله سوم 9196747219 | هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 12:21:49"}
[2026-04-18 12:21:49] [INFO] DealController.save validated payments {"deal_id":"local_69e345ae74c4b6.77311240","contact_id":"21335","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-18 12:21:49] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21335","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 12:21:49] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e345ae74c4b6.77311240","contact_didar_id":"21335","title":"معامله سوم 9196747219 | هوش خودرو","base_title_used":"معامله سوم 9196747219","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69e345ae74c4b6.77311240","existing_deal_status":"Pending","server_time":"2026-04-18 12:21:49","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 12:21:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:21:49] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e345ae74c4b6.77311240","contact_id":"21335","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9196747219 | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-18 12:21:49","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 12:21:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:21:50] [INFO] Checking activity reminders 
[2026-04-18 12:21:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:21:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:22:02] [INFO] Checking activity reminders 
[2026-04-18 12:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:22:09] [INFO] Activity save request {"post_data":{"contact_id":"21335","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"7500 زده \/ هوش کارشناسی تسویه اخر ماه","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:22:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:22:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:22:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21335","note_was_empty":true}
[2026-04-18 12:22:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"21335","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 12:22:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e34639cf8d65.24771007","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:22:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69e34639cf8d65.24771007"}
[2026-04-18 12:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:22:09] [INFO] Updating virtual stage {"contact_id":"21335","stage_name":"deal_registered","force":false}
[2026-04-18 12:22:09] [INFO] Virtual stage successfully saved {"contact_id":"21335","stage_name":"deal_registered"}
[2026-04-18 12:22:09] [INFO] Virtual stage updated after activity save {"contact_id":"21335"}
[2026-04-18 12:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-18 12:22:28] [INFO] Checking activity reminders 
[2026-04-18 12:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:22:29] [INFO] Activity save request {"post_data":{"contact_id":"10149","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فوت شده برادرش جواب داد \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:22:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:22:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:22:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:22:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:22:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10149","note_was_empty":true}
[2026-04-18 12:22:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"10149","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:22:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3464d3682f2.34580101","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:22:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:22:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3464d3682f2.34580101"}
[2026-04-18 12:22:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:22:29] [INFO] Updating virtual stage {"contact_id":"10149","stage_name":"deal_registered","force":false}
[2026-04-18 12:22:29] [INFO] Virtual stage successfully saved {"contact_id":"10149","stage_name":"deal_registered"}
[2026-04-18 12:22:29] [INFO] Virtual stage updated after activity save {"contact_id":"10149"}
[2026-04-18 12:22:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10149","person_id":"18304"}
[2026-04-18 12:22:32] [INFO] Checking activity reminders 
[2026-04-18 12:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:22:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:22:58] [INFO] Checking activity reminders 
[2026-04-18 12:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:23:02] [INFO] Checking activity reminders 
[2026-04-18 12:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:23:28] [INFO] Checking activity reminders 
[2026-04-18 12:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:23:32] [INFO] Checking activity reminders 
[2026-04-18 12:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:23:58] [INFO] Checking activity reminders 
[2026-04-18 12:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:24:02] [INFO] Checking activity reminders 
[2026-04-18 12:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:24:14] [INFO] Activity save request {"post_data":{"contact_id":"15841","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:24:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:24:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:24:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15841","note_was_empty":true}
[2026-04-18 12:24:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"15841","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:24:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e346b6b69956.14120525","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:24:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69e346b6b69956.14120525"}
[2026-04-18 12:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:24:14] [INFO] Updating virtual stage {"contact_id":"15841","stage_name":"deal_registered","force":false}
[2026-04-18 12:24:14] [INFO] Virtual stage successfully saved {"contact_id":"15841","stage_name":"deal_registered"}
[2026-04-18 12:24:14] [INFO] Virtual stage updated after activity save {"contact_id":"15841"}
[2026-04-18 12:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15841","person_id":"17795"}
[2026-04-18 12:24:28] [INFO] Checking activity reminders 
[2026-04-18 12:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:24:32] [INFO] Checking activity reminders 
[2026-04-18 12:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:24:59] [INFO] Checking activity reminders 
[2026-04-18 12:24:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:24:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:25:02] [INFO] Checking activity reminders 
[2026-04-18 12:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:25:29] [INFO] Checking activity reminders 
[2026-04-18 12:25:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:25:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:25:32] [INFO] Checking activity reminders 
[2026-04-18 12:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:25:59] [INFO] Checking activity reminders 
[2026-04-18 12:25:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:25:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:26:02] [INFO] Checking activity reminders 
[2026-04-18 12:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:26:29] [INFO] Checking activity reminders 
[2026-04-18 12:26:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:26:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:26:32] [INFO] Checking activity reminders 
[2026-04-18 12:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:26:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:26:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 12:26:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:26:59] [INFO] Checking activity reminders 
[2026-04-18 12:26:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:26:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:27:02] [INFO] Checking activity reminders 
[2026-04-18 12:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:27:29] [INFO] Checking activity reminders 
[2026-04-18 12:27:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:27:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:27:32] [INFO] Checking activity reminders 
[2026-04-18 12:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:27:59] [INFO] Checking activity reminders 
[2026-04-18 12:27:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:27:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:28:03] [INFO] Checking activity reminders 
[2026-04-18 12:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:28:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:28:29] [INFO] Checking activity reminders 
[2026-04-18 12:28:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:28:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:28:33] [INFO] Checking activity reminders 
[2026-04-18 12:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:28:59] [INFO] Checking activity reminders 
[2026-04-18 12:28:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:28:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:29:03] [INFO] Checking activity reminders 
[2026-04-18 12:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:29:30] [INFO] Checking activity reminders 
[2026-04-18 12:29:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:29:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:29:33] [INFO] Checking activity reminders 
[2026-04-18 12:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:30:00] [INFO] Checking activity reminders 
[2026-04-18 12:30:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:30:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:30:03] [INFO] Checking activity reminders 
[2026-04-18 12:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:30:30] [INFO] Checking activity reminders 
[2026-04-18 12:30:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:30:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:30:33] [INFO] Checking activity reminders 
[2026-04-18 12:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:31:00] [INFO] Checking activity reminders 
[2026-04-18 12:31:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:31:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:31:03] [INFO] Checking activity reminders 
[2026-04-18 12:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:31:30] [INFO] Checking activity reminders 
[2026-04-18 12:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:31:33] [INFO] Checking activity reminders 
[2026-04-18 12:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:32:00] [INFO] Checking activity reminders 
[2026-04-18 12:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:32:03] [INFO] Checking activity reminders 
[2026-04-18 12:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:32:30] [INFO] Checking activity reminders 
[2026-04-18 12:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:32:33] [INFO] Checking activity reminders 
[2026-04-18 12:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:33:00] [INFO] Checking activity reminders 
[2026-04-18 12:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:33:03] [INFO] Checking activity reminders 
[2026-04-18 12:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:33:30] [INFO] Checking activity reminders 
[2026-04-18 12:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:33:34] [INFO] Checking activity reminders 
[2026-04-18 12:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:34:00] [INFO] Checking activity reminders 
[2026-04-18 12:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:34:04] [INFO] Checking activity reminders 
[2026-04-18 12:34:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:34:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:34:31] [INFO] Checking activity reminders 
[2026-04-18 12:34:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:34:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:34:34] [INFO] Checking activity reminders 
[2026-04-18 12:34:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:34:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:35:01] [INFO] Checking activity reminders 
[2026-04-18 12:35:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:35:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:35:04] [INFO] Checking activity reminders 
[2026-04-18 12:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:35:31] [INFO] Checking activity reminders 
[2026-04-18 12:35:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:35:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:35:34] [INFO] Checking activity reminders 
[2026-04-18 12:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:36:01] [INFO] Checking activity reminders 
[2026-04-18 12:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:36:04] [INFO] Checking activity reminders 
[2026-04-18 12:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:36:31] [INFO] Checking activity reminders 
[2026-04-18 12:36:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:36:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:36:34] [INFO] Checking activity reminders 
[2026-04-18 12:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:37:01] [INFO] Checking activity reminders 
[2026-04-18 12:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:37:04] [INFO] Checking activity reminders 
[2026-04-18 12:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:37:21] [INFO] Checking activity reminders 
[2026-04-18 12:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:37:31] [INFO] Checking activity reminders 
[2026-04-18 12:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"814","person_id":"2812"}
[2026-04-18 12:37:51] [INFO] Checking activity reminders 
[2026-04-18 12:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:38:01] [INFO] Checking activity reminders 
[2026-04-18 12:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:38:21] [INFO] Checking activity reminders 
[2026-04-18 12:38:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:38:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:38:31] [INFO] Checking activity reminders 
[2026-04-18 12:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:38:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:38:51] [INFO] Checking activity reminders 
[2026-04-18 12:38:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:38:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:39:01] [INFO] Checking activity reminders 
[2026-04-18 12:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:39:17] [INFO] Activity save request {"post_data":{"contact_id":"987","deal_id":"local_69b316955557b9.12574454","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال شبا ملت \r\nتا اخر ماه تسویه ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:39:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"987","note_was_empty":true}
[2026-04-18 12:39:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"987","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:17] [INFO] Updating virtual stage {"contact_id":"987","stage_name":"deal_registered","force":false}
[2026-04-18 12:39:17] [INFO] Virtual stage successfully saved {"contact_id":"987","stage_name":"deal_registered"}
[2026-04-18 12:39:17] [INFO] Virtual stage updated after activity save {"contact_id":"987"}
[2026-04-18 12:39:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b316955557b9.12574454","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 12:39:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e34a3d555bb9.56652820","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e34a3d555bb9.56652820"}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:17] [INFO] Updating virtual stage {"contact_id":"987","stage_name":"deal_registered","force":false}
[2026-04-18 12:39:17] [INFO] Virtual stage successfully saved {"contact_id":"987","stage_name":"deal_registered"}
[2026-04-18 12:39:17] [INFO] Virtual stage updated after activity save {"contact_id":"987"}
[2026-04-18 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-18 12:39:21] [INFO] Checking activity reminders 
[2026-04-18 12:39:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:39:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:39:23] [INFO] Checking activity reminders 
[2026-04-18 12:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:39:31] [INFO] Checking activity reminders 
[2026-04-18 12:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:39:38] [INFO] Activity save request {"post_data":{"contact_id":"12975","deal_id":"local_695d104f7625c7.49882149","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"برای کانال 6 ماهه پرزنت شد \r\n27 تومان بدون پشتیبانی \r\nقرار شد اطلاع بده ","activity_duration":"2","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:39:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12975","note_was_empty":true}
[2026-04-18 12:39:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"12975","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:38] [INFO] Updating virtual stage {"contact_id":"12975","stage_name":"deal_registered","force":false}
[2026-04-18 12:39:38] [INFO] Virtual stage successfully saved {"contact_id":"12975","stage_name":"deal_registered"}
[2026-04-18 12:39:38] [INFO] Virtual stage updated after activity save {"contact_id":"12975"}
[2026-04-18 12:39:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695d104f7625c7.49882149","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 12:39:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e34a52a2e131.74470314","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e34a52a2e131.74470314"}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:38] [INFO] Updating virtual stage {"contact_id":"12975","stage_name":"deal_registered","force":false}
[2026-04-18 12:39:38] [INFO] Virtual stage successfully saved {"contact_id":"12975","stage_name":"deal_registered"}
[2026-04-18 12:39:38] [INFO] Virtual stage updated after activity save {"contact_id":"12975"}
[2026-04-18 12:39:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-18 12:39:53] [INFO] Checking activity reminders 
[2026-04-18 12:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:40:02] [INFO] Checking activity reminders 
[2026-04-18 12:40:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:40:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:40:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:40:23] [INFO] Checking activity reminders 
[2026-04-18 12:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:40:32] [INFO] Checking activity reminders 
[2026-04-18 12:40:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:40:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:40:53] [INFO] Checking activity reminders 
[2026-04-18 12:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:41:02] [INFO] Checking activity reminders 
[2026-04-18 12:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:41:23] [INFO] Checking activity reminders 
[2026-04-18 12:41:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:41:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:41:32] [INFO] Checking activity reminders 
[2026-04-18 12:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:41:54] [INFO] Checking activity reminders 
[2026-04-18 12:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:42:02] [INFO] Checking activity reminders 
[2026-04-18 12:42:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:42:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:42:24] [INFO] Checking activity reminders 
[2026-04-18 12:42:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:42:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:42:32] [INFO] Checking activity reminders 
[2026-04-18 12:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:42:54] [INFO] Checking activity reminders 
[2026-04-18 12:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:43:02] [INFO] Checking activity reminders 
[2026-04-18 12:43:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:43:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:43:24] [INFO] Checking activity reminders 
[2026-04-18 12:43:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:43:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:43:32] [INFO] Checking activity reminders 
[2026-04-18 12:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:43:54] [INFO] Checking activity reminders 
[2026-04-18 12:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:44:02] [INFO] Checking activity reminders 
[2026-04-18 12:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:44:24] [INFO] Checking activity reminders 
[2026-04-18 12:44:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:44:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:44:32] [INFO] Checking activity reminders 
[2026-04-18 12:44:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:44:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:44:54] [INFO] Checking activity reminders 
[2026-04-18 12:44:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:44:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:45:02] [INFO] Checking activity reminders 
[2026-04-18 12:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:45:24] [INFO] Checking activity reminders 
[2026-04-18 12:45:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:45:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:45:33] [INFO] Checking activity reminders 
[2026-04-18 12:45:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:45:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:45:54] [INFO] Checking activity reminders 
[2026-04-18 12:45:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:45:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:46:03] [INFO] Checking activity reminders 
[2026-04-18 12:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:46:24] [INFO] Checking activity reminders 
[2026-04-18 12:46:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:46:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:46:33] [INFO] Checking activity reminders 
[2026-04-18 12:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:46:55] [INFO] Checking activity reminders 
[2026-04-18 12:46:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:46:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:47:25] [INFO] Checking activity reminders 
[2026-04-18 12:47:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:47:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:47:55] [INFO] Checking activity reminders 
[2026-04-18 12:47:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:47:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:48:22] [INFO] Activity save request {"post_data":{"contact_id":"5976","deal_id":"local_69d692eef2d4e0.85419950","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 12:48:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5976","note_was_empty":true}
[2026-04-18 12:48:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"5976","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:22] [INFO] Updating virtual stage {"contact_id":"5976","stage_name":"deal_registered","force":false}
[2026-04-18 12:48:22] [INFO] Virtual stage successfully saved {"contact_id":"5976","stage_name":"deal_registered"}
[2026-04-18 12:48:22] [INFO] Virtual stage updated after activity save {"contact_id":"5976"}
[2026-04-18 12:48:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d692eef2d4e0.85419950","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 12:48:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e34c5e9d4137.30187318","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e34c5e9d4137.30187318"}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:22] [INFO] Updating virtual stage {"contact_id":"5976","stage_name":"deal_registered","force":false}
[2026-04-18 12:48:22] [INFO] Virtual stage successfully saved {"contact_id":"5976","stage_name":"deal_registered"}
[2026-04-18 12:48:22] [INFO] Virtual stage updated after activity save {"contact_id":"5976"}
[2026-04-18 12:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5976","person_id":"9184"}
[2026-04-18 12:48:25] [INFO] Checking activity reminders 
[2026-04-18 12:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:48:55] [INFO] Checking activity reminders 
[2026-04-18 12:48:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:48:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:49:25] [INFO] Checking activity reminders 
[2026-04-18 12:49:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:49:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:49:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 12:49:55] [INFO] Checking activity reminders 
[2026-04-18 12:49:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:49:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:50:25] [INFO] Checking activity reminders 
[2026-04-18 12:50:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:50:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:50:55] [INFO] Checking activity reminders 
[2026-04-18 12:50:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:50:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:51:19] [INFO] Checking activity reminders 
[2026-04-18 12:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:51:49] [INFO] Checking activity reminders 
[2026-04-18 12:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:52:19] [INFO] Checking activity reminders 
[2026-04-18 12:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:52:49] [INFO] Checking activity reminders 
[2026-04-18 12:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:53:19] [INFO] Checking activity reminders 
[2026-04-18 12:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:53:49] [INFO] Checking activity reminders 
[2026-04-18 12:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:54:19] [INFO] Checking activity reminders 
[2026-04-18 12:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:54:49] [INFO] Checking activity reminders 
[2026-04-18 12:54:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:54:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:55:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:55:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 12:55:19] [INFO] Checking activity reminders 
[2026-04-18 12:55:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:55:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:55:50] [INFO] Checking activity reminders 
[2026-04-18 12:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:56:20] [INFO] Checking activity reminders 
[2026-04-18 12:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:56:50] [INFO] Checking activity reminders 
[2026-04-18 12:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:57:14] [INFO] Checking activity reminders 
[2026-04-18 12:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:57:20] [INFO] Checking activity reminders 
[2026-04-18 12:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:57:42] [INFO] Checking activity reminders 
[2026-04-18 12:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:57:50] [INFO] Checking activity reminders 
[2026-04-18 12:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:57:52] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 12:57:52] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 12:57:52] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 12:57:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 12:57:52] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 12:57:52] [INFO] [DEBUG] getDidarUsers - Found users {"count":9,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"}]}
[2026-04-18 12:57:52] [INFO] [DEBUG] getDidarUsers - Returning users {"count":9,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1}]}
[2026-04-18 12:58:20] [INFO] Checking activity reminders 
[2026-04-18 12:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:58:22] [INFO] Checking activity reminders 
[2026-04-18 12:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:58:50] [INFO] Checking activity reminders 
[2026-04-18 12:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:58:53] [INFO] Checking activity reminders 
[2026-04-18 12:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:59:20] [INFO] Checking activity reminders 
[2026-04-18 12:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:59:23] [INFO] Checking activity reminders 
[2026-04-18 12:59:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:59:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 12:59:50] [INFO] Checking activity reminders 
[2026-04-18 12:59:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 12:59:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:00:02] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:00:02] [INFO] Master password used for login {"user_id":"1717","identifier":"خانم بهمن دار","role":"accountant"}
[2026-04-18 13:00:02] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"accountant","via_master":true}
[2026-04-18 13:00:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:00:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:00:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:00:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:00:20] [INFO] Checking activity reminders 
[2026-04-18 13:00:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:00:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:00:33] [INFO] Checking activity reminders 
[2026-04-18 13:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:00:47] [INFO] Checking activity reminders 
[2026-04-18 13:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:00:47] [INFO] Checking activity reminders 
[2026-04-18 13:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:00:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:00:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:00:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:00:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:00:57] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:00:57] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 13:00:57] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 13:00:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:00:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:00:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:00:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:01:17] [INFO] Checking activity reminders 
[2026-04-18 13:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:01:28] [INFO] Checking activity reminders 
[2026-04-18 13:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:01:47] [INFO] Checking activity reminders 
[2026-04-18 13:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:01:58] [INFO] Checking activity reminders 
[2026-04-18 13:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:02:17] [INFO] Checking activity reminders 
[2026-04-18 13:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:02:28] [INFO] Checking activity reminders 
[2026-04-18 13:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:02:47] [INFO] Checking activity reminders 
[2026-04-18 13:02:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:02:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:02:58] [INFO] Checking activity reminders 
[2026-04-18 13:02:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:02:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:03:17] [INFO] Checking activity reminders 
[2026-04-18 13:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:03:21] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:03:21] [INFO] Master password used for login {"user_id":"1717","identifier":"خانم بهمن دار","role":"accountant"}
[2026-04-18 13:03:21] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"accountant","via_master":true}
[2026-04-18 13:03:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:03:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:03:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:03:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:03:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:03:35] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-18 13:03:43] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:03:43] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 13:03:43] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 13:03:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:03:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:03:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:03:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:03:47] [INFO] Checking activity reminders 
[2026-04-18 13:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:04:17] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:04:17] [INFO] Master password used for login {"user_id":"1717","identifier":"خانم بهمن دار","role":"system"}
[2026-04-18 13:04:17] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":true}
[2026-04-18 13:04:17] [INFO] Checking activity reminders 
[2026-04-18 13:04:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:04:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:04:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:04:17] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:04:17] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:04:17] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:04:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:04:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:04:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:04:47] [INFO] Checking activity reminders 
[2026-04-18 13:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:04:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:04:50] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 13:04:50] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 13:04:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:04:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:04:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:04:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:04:56] [INFO] Checking activity reminders 
[2026-04-18 13:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:05:17] [INFO] Checking activity reminders 
[2026-04-18 13:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:05:20] [INFO] Lead update received {"contact_id":"local_1403_09_26_79","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 13:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:05:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_1403_09_26_79"}
[2026-04-18 13:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:05:26] [INFO] Checking activity reminders 
[2026-04-18 13:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:05:48] [INFO] Checking activity reminders 
[2026-04-18 13:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:05:56] [INFO] Checking activity reminders 
[2026-04-18 13:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:06:18] [INFO] Checking activity reminders 
[2026-04-18 13:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:06:26] [INFO] Checking activity reminders 
[2026-04-18 13:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:06:48] [INFO] Checking activity reminders 
[2026-04-18 13:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:06:56] [INFO] Checking activity reminders 
[2026-04-18 13:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:07:18] [INFO] Checking activity reminders 
[2026-04-18 13:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:07:35] [INFO] Checking activity reminders 
[2026-04-18 13:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:07:48] [INFO] Checking activity reminders 
[2026-04-18 13:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:07:57] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_79","deal_id":"local_69e0a49f2aad26.55018144","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"بابل\r\nقبللا نوسان گیری در طلا و دلار داشته \r\nمشکلاتی پیش اومده که الان انجام نمیده \r\nاصلا نمیدونست از کجا و برای چی تماس گرفتیم \r\nارسال پیامک \r\nبله نداره \r\nارسال پیام در بله بعد از نصب ","activity_duration":"4","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:07:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:07:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:07:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_79","note_was_empty":true}
[2026-04-18 13:07:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:57] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_79","stage_name":"new","force":false}
[2026-04-18 13:07:57] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_79","stage_name":"new"}
[2026-04-18 13:07:57] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_79"}
[2026-04-18 13:07:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a49f2aad26.55018144","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 13:07:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e350f5f0f235.62800518","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:07:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e350f5f0f235.62800518"}
[2026-04-18 13:07:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:57] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_79","stage_name":"deal_registered","force":false}
[2026-04-18 13:07:57] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_79","stage_name":"deal_registered"}
[2026-04-18 13:07:57] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_79"}
[2026-04-18 13:07:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_79","person_id":"21156"}
[2026-04-18 13:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:07:59] [INFO] Master password used for login {"user_id":"1717","identifier":"خانم بهمن دار","role":"system"}
[2026-04-18 13:07:59] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":true}
[2026-04-18 13:08:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:08:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:08:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:08:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:08:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:08:18] [INFO] Checking activity reminders 
[2026-04-18 13:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:08:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:08:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:08:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:08:31] [INFO] Checking activity reminders 
[2026-04-18 13:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:08:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:08:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:08:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:08:48] [INFO] Checking activity reminders 
[2026-04-18 13:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 13:09:01] [INFO] Checking activity reminders 
[2026-04-18 13:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:09:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 13:09:18] [INFO] Checking activity reminders 
[2026-04-18 13:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:09:20] [INFO] Activity save request {"post_data":{"contact_id":"408","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ملک داره میفروشه حدودا 6 میلیارد نقد میاد دستش بع میاد تو کانال \r\nکشتران در بندر عباس \r\nپرزنت 405 \r\nخانمش میخواد عضو بشه ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:09:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:09:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:09:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"408","note_was_empty":true}
[2026-04-18 13:09:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"408","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:09:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3514813e998.31275097","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:09:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3514813e998.31275097"}
[2026-04-18 13:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:09:20] [INFO] Updating virtual stage {"contact_id":"408","stage_name":"deal_registered","force":false}
[2026-04-18 13:09:20] [INFO] Virtual stage successfully saved {"contact_id":"408","stage_name":"deal_registered"}
[2026-04-18 13:09:20] [INFO] Virtual stage updated after activity save {"contact_id":"408"}
[2026-04-18 13:09:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:09:31] [INFO] Checking activity reminders 
[2026-04-18 13:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:09:48] [INFO] Checking activity reminders 
[2026-04-18 13:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:10:01] [INFO] Checking activity reminders 
[2026-04-18 13:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:10:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:10:18] [INFO] Checking activity reminders 
[2026-04-18 13:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:10:31] [INFO] Checking activity reminders 
[2026-04-18 13:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:10:48] [INFO] Checking activity reminders 
[2026-04-18 13:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:11:01] [INFO] Checking activity reminders 
[2026-04-18 13:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:11:19] [INFO] Checking activity reminders 
[2026-04-18 13:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:11:31] [INFO] Checking activity reminders 
[2026-04-18 13:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:11:49] [INFO] Checking activity reminders 
[2026-04-18 13:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:01] [INFO] Checking activity reminders 
[2026-04-18 13:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:19] [INFO] Checking activity reminders 
[2026-04-18 13:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:25] [INFO] Checking activity reminders 
[2026-04-18 13:12:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:31] [INFO] Checking activity reminders 
[2026-04-18 13:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:12:49] [INFO] Checking activity reminders 
[2026-04-18 13:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:12:55] [INFO] Checking activity reminders 
[2026-04-18 13:12:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:12:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:01] [INFO] Checking activity reminders 
[2026-04-18 13:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:10] [INFO] Activity save request {"post_data":{"contact_id":"17137","deal_id":"local_69e0a014c2ce22.07034313","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"3","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:13:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17137","note_was_empty":true}
[2026-04-18 13:13:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"17137","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:10] [INFO] Updating virtual stage {"contact_id":"17137","stage_name":"deal_registered","force":false}
[2026-04-18 13:13:10] [INFO] Virtual stage successfully saved {"contact_id":"17137","stage_name":"deal_registered"}
[2026-04-18 13:13:10] [INFO] Virtual stage updated after activity save {"contact_id":"17137"}
[2026-04-18 13:13:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a014c2ce22.07034313","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 13:13:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3522ec6f483.11953860","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3522ec6f483.11953860"}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:10] [INFO] Updating virtual stage {"contact_id":"17137","stage_name":"deal_registered","force":false}
[2026-04-18 13:13:10] [INFO] Virtual stage successfully saved {"contact_id":"17137","stage_name":"deal_registered"}
[2026-04-18 13:13:10] [INFO] Virtual stage updated after activity save {"contact_id":"17137"}
[2026-04-18 13:13:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:13:19] [INFO] Checking activity reminders 
[2026-04-18 13:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:13:25] [INFO] Checking activity reminders 
[2026-04-18 13:13:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:31] [INFO] Checking activity reminders 
[2026-04-18 13:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:49] [INFO] Checking activity reminders 
[2026-04-18 13:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:13:55] [INFO] Checking activity reminders 
[2026-04-18 13:13:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:13:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:01] [INFO] Checking activity reminders 
[2026-04-18 13:14:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:19] [INFO] Checking activity reminders 
[2026-04-18 13:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:25] [INFO] Checking activity reminders 
[2026-04-18 13:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:31] [INFO] Checking activity reminders 
[2026-04-18 13:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:49] [INFO] Checking activity reminders 
[2026-04-18 13:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:14:56] [INFO] Checking activity reminders 
[2026-04-18 13:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:01] [INFO] Checking activity reminders 
[2026-04-18 13:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:19] [INFO] Checking activity reminders 
[2026-04-18 13:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:26] [INFO] Checking activity reminders 
[2026-04-18 13:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:31] [INFO] Checking activity reminders 
[2026-04-18 13:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:15:49] [INFO] Checking activity reminders 
[2026-04-18 13:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:15:56] [INFO] Checking activity reminders 
[2026-04-18 13:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:01] [INFO] Checking activity reminders 
[2026-04-18 13:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:15] [INFO] Activity save request {"post_data":{"contact_id":"17137","deal_id":"local_69e0a014c2ce22.07034313","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"چند تا ماشین قیمت بالا برداتهش نقد نیست \/ مشتری اومد مجدد تماس","activity_duration":"5","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:16:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17137","note_was_empty":true}
[2026-04-18 13:16:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"17137","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:15] [INFO] Updating virtual stage {"contact_id":"17137","stage_name":"deal_registered","force":false}
[2026-04-18 13:16:15] [INFO] Virtual stage successfully saved {"contact_id":"17137","stage_name":"deal_registered"}
[2026-04-18 13:16:15] [INFO] Virtual stage updated after activity save {"contact_id":"17137"}
[2026-04-18 13:16:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a014c2ce22.07034313","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:16:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e352e78b7f73.07164477","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e352e78b7f73.07164477"}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:15] [INFO] Updating virtual stage {"contact_id":"17137","stage_name":"deal_registered","force":false}
[2026-04-18 13:16:15] [INFO] Virtual stage successfully saved {"contact_id":"17137","stage_name":"deal_registered"}
[2026-04-18 13:16:15] [INFO] Virtual stage updated after activity save {"contact_id":"17137"}
[2026-04-18 13:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-18 13:16:19] [INFO] Checking activity reminders 
[2026-04-18 13:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:16:26] [INFO] Checking activity reminders 
[2026-04-18 13:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:31] [INFO] Checking activity reminders 
[2026-04-18 13:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:50] [INFO] Checking activity reminders 
[2026-04-18 13:16:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:16:56] [INFO] Checking activity reminders 
[2026-04-18 13:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:01] [INFO] Checking activity reminders 
[2026-04-18 13:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:02] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:17:02] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-18 13:17:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:17:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:17:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:17:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:17:20] [INFO] Checking activity reminders 
[2026-04-18 13:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:17:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:17:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:17:26] [INFO] Checking activity reminders 
[2026-04-18 13:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:17:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:17:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:17:32] [INFO] Checking activity reminders 
[2026-04-18 13:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:32] [INFO] Checking activity reminders 
[2026-04-18 13:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:50] [INFO] Checking activity reminders 
[2026-04-18 13:17:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:17:56] [INFO] Checking activity reminders 
[2026-04-18 13:17:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:17:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:02] [INFO] Checking activity reminders 
[2026-04-18 13:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:14] [INFO] Activity save request {"post_data":{"contact_id":"13757","deal_id":"local_69e0a0397c73a4.53365625","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:18:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"13757","note_was_empty":true}
[2026-04-18 13:18:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"13757","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:14] [INFO] Updating virtual stage {"contact_id":"13757","stage_name":"deal_registered","force":false}
[2026-04-18 13:18:14] [INFO] Virtual stage successfully saved {"contact_id":"13757","stage_name":"deal_registered"}
[2026-04-18 13:18:14] [INFO] Virtual stage updated after activity save {"contact_id":"13757"}
[2026-04-18 13:18:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0397c73a4.53365625","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:18:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3535e3bc203.35083436","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3535e3bc203.35083436"}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:14] [INFO] Updating virtual stage {"contact_id":"13757","stage_name":"deal_registered","force":false}
[2026-04-18 13:18:14] [INFO] Virtual stage successfully saved {"contact_id":"13757","stage_name":"deal_registered"}
[2026-04-18 13:18:14] [INFO] Virtual stage updated after activity save {"contact_id":"13757"}
[2026-04-18 13:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-18 13:18:20] [INFO] Checking activity reminders 
[2026-04-18 13:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:26] [INFO] Checking activity reminders 
[2026-04-18 13:18:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:32] [INFO] Checking activity reminders 
[2026-04-18 13:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:34] [INFO] Checking activity reminders 
[2026-04-18 13:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:18:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 13:18:50] [INFO] Checking activity reminders 
[2026-04-18 13:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:18:56] [INFO] Checking activity reminders 
[2026-04-18 13:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:02] [INFO] Checking activity reminders 
[2026-04-18 13:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:04] [INFO] Checking activity reminders 
[2026-04-18 13:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:20] [INFO] Checking activity reminders 
[2026-04-18 13:19:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:26] [INFO] Checking activity reminders 
[2026-04-18 13:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:31] [INFO] Checking activity reminders 
[2026-04-18 13:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:50] [INFO] Checking activity reminders 
[2026-04-18 13:19:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:56] [INFO] Checking activity reminders 
[2026-04-18 13:19:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:19:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:19:59] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:19:59] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:19:59] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:20:01] [INFO] Checking activity reminders 
[2026-04-18 13:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 13:20:07] [INFO] Checking activity reminders 
[2026-04-18 13:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:20:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:20:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:20:20] [INFO] Checking activity reminders 
[2026-04-18 13:20:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:26] [INFO] Checking activity reminders 
[2026-04-18 13:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 13:20:37] [INFO] Checking activity reminders 
[2026-04-18 13:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:50] [INFO] Checking activity reminders 
[2026-04-18 13:20:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:20:56] [INFO] Checking activity reminders 
[2026-04-18 13:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:21:20] [INFO] Checking activity reminders 
[2026-04-18 13:21:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:21:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:21:27] [INFO] Checking activity reminders 
[2026-04-18 13:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:21:50] [INFO] Checking activity reminders 
[2026-04-18 13:21:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:21:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:21:57] [INFO] Checking activity reminders 
[2026-04-18 13:21:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:21:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:22:21] [INFO] Checking activity reminders 
[2026-04-18 13:22:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:22:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:22:27] [INFO] Checking activity reminders 
[2026-04-18 13:22:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:22:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:22:40] [INFO] Checking activity reminders 
[2026-04-18 13:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:22:51] [INFO] Checking activity reminders 
[2026-04-18 13:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:22:57] [INFO] Checking activity reminders 
[2026-04-18 13:22:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:22:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:23:21] [INFO] Checking activity reminders 
[2026-04-18 13:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:23:27] [INFO] Checking activity reminders 
[2026-04-18 13:23:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:23:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:23:51] [INFO] Checking activity reminders 
[2026-04-18 13:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:23:57] [INFO] Checking activity reminders 
[2026-04-18 13:23:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:23:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:24:21] [INFO] Checking activity reminders 
[2026-04-18 13:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:24:27] [INFO] Checking activity reminders 
[2026-04-18 13:24:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:24:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:24:51] [INFO] Checking activity reminders 
[2026-04-18 13:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:24:57] [INFO] Checking activity reminders 
[2026-04-18 13:24:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:24:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:25:21] [INFO] Checking activity reminders 
[2026-04-18 13:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:25:27] [INFO] Checking activity reminders 
[2026-04-18 13:25:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:25:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:25:51] [INFO] Checking activity reminders 
[2026-04-18 13:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:25:58] [INFO] Checking activity reminders 
[2026-04-18 13:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:26:21] [INFO] Checking activity reminders 
[2026-04-18 13:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:26:28] [INFO] Checking activity reminders 
[2026-04-18 13:26:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:26:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:26:51] [INFO] Checking activity reminders 
[2026-04-18 13:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:26:58] [INFO] Checking activity reminders 
[2026-04-18 13:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:09] [INFO] Checking activity reminders 
[2026-04-18 13:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:21] [INFO] Checking activity reminders 
[2026-04-18 13:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:28] [INFO] Checking activity reminders 
[2026-04-18 13:27:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:33] [INFO] Checking activity reminders 
[2026-04-18 13:27:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:52] [INFO] Checking activity reminders 
[2026-04-18 13:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:27:58] [INFO] Checking activity reminders 
[2026-04-18 13:27:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:27:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:28:22] [INFO] Checking activity reminders 
[2026-04-18 13:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:28:28] [INFO] Checking activity reminders 
[2026-04-18 13:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:28:52] [INFO] Checking activity reminders 
[2026-04-18 13:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:28:58] [INFO] Checking activity reminders 
[2026-04-18 13:28:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:28:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:29:22] [INFO] Checking activity reminders 
[2026-04-18 13:29:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:29:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:29:29] [INFO] Checking activity reminders 
[2026-04-18 13:29:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:29:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:29:52] [INFO] Checking activity reminders 
[2026-04-18 13:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:29:59] [INFO] Checking activity reminders 
[2026-04-18 13:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:30:22] [INFO] Checking activity reminders 
[2026-04-18 13:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:30:29] [INFO] Checking activity reminders 
[2026-04-18 13:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:30:52] [INFO] Checking activity reminders 
[2026-04-18 13:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:30:59] [INFO] Checking activity reminders 
[2026-04-18 13:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:31:22] [INFO] Checking activity reminders 
[2026-04-18 13:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:31:29] [INFO] Checking activity reminders 
[2026-04-18 13:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:31:35] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3360","deal_id":"local_69b533eb614698.79634681","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 13:31:35","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 13:31:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:35] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3360","is_new_deal":false}
[2026-04-18 13:31:35] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 13:31:35] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:31:35] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:31:35] [INFO] getContactPrimaryPhone called {"contact_id":"3360"}
[2026-04-18 13:31:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:35] [INFO] getContactPrimaryPhone result {"contact_id":"3360","person_found":true,"primary_phone":"9052054153"}
[2026-04-18 13:31:35] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9052054153"}
[2026-04-18 13:31:35] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9052054153","contact_id":"3360","deal_id":"local_69b533eb614698.79634681","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:31:35"}
[2026-04-18 13:31:35] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b533eb614698.79634681","contact_id":"3360","existing_deal_found":true,"existing_contact_id":"3360","existing_title":"معامله سوم 9052054153 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:31:35"}
[2026-04-18 13:31:35] [INFO] DealController.save validated payments {"deal_id":"local_69b533eb614698.79634681","contact_id":"3360","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 13:31:35] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3360","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 13:31:35] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b533eb614698.79634681","contact_didar_id":"3360","title":"معامله سوم 9052054153 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9052054153","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"یلقی","existing_deal":"YES","existing_deal_id":"local_69b533eb614698.79634681","existing_deal_status":"Pending","server_time":"2026-04-18 13:31:35","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 13:31:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:35] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b533eb614698.79634681","contact_id":"3360","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9052054153 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 13:31:35","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 13:31:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:52] [INFO] Checking activity reminders 
[2026-04-18 13:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:31:53] [INFO] Activity save request {"post_data":{"contact_id":"3360","deal_id":"local_69b533eb614698.79634681","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:31:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3360","note_was_empty":true}
[2026-04-18 13:31:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"3360","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:53] [INFO] Updating virtual stage {"contact_id":"3360","stage_name":"deal_registered","force":false}
[2026-04-18 13:31:53] [INFO] Virtual stage successfully saved {"contact_id":"3360","stage_name":"deal_registered"}
[2026-04-18 13:31:53] [INFO] Virtual stage updated after activity save {"contact_id":"3360"}
[2026-04-18 13:31:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533eb614698.79634681","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 13:31:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35691602c17.99446271","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35691602c17.99446271"}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:53] [INFO] Updating virtual stage {"contact_id":"3360","stage_name":"deal_registered","force":false}
[2026-04-18 13:31:53] [INFO] Virtual stage successfully saved {"contact_id":"3360","stage_name":"deal_registered"}
[2026-04-18 13:31:53] [INFO] Virtual stage updated after activity save {"contact_id":"3360"}
[2026-04-18 13:31:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-18 13:31:59] [INFO] Checking activity reminders 
[2026-04-18 13:31:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:31:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:32:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:32:22] [INFO] Checking activity reminders 
[2026-04-18 13:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:32:29] [INFO] Checking activity reminders 
[2026-04-18 13:32:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:32:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:32:53] [INFO] Checking activity reminders 
[2026-04-18 13:32:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:32:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:32:59] [INFO] Checking activity reminders 
[2026-04-18 13:32:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:32:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:33:10] [INFO] Activity save request {"post_data":{"contact_id":"88","deal_id":"local_69d6206a229041.44776372","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پرزنت 6 ماهه کانال \r\nبهش گفتم فرصت های کانال از دست میدی \r\nدر صورت تمدید 27 دیگه واریز و یکساله در کانال باش ","activity_duration":"8","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:33:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"88","note_was_empty":true}
[2026-04-18 13:33:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"88","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:10] [INFO] Updating virtual stage {"contact_id":"88","stage_name":"deal_registered","force":false}
[2026-04-18 13:33:10] [INFO] Virtual stage successfully saved {"contact_id":"88","stage_name":"deal_registered"}
[2026-04-18 13:33:10] [INFO] Virtual stage updated after activity save {"contact_id":"88"}
[2026-04-18 13:33:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6206a229041.44776372","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 13:33:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e356de52bd50.34403975","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e356de52bd50.34403975"}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:10] [INFO] Updating virtual stage {"contact_id":"88","stage_name":"deal_registered","force":false}
[2026-04-18 13:33:10] [INFO] Virtual stage successfully saved {"contact_id":"88","stage_name":"deal_registered"}
[2026-04-18 13:33:10] [INFO] Virtual stage updated after activity save {"contact_id":"88"}
[2026-04-18 13:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"88","deal_id":"local_69d6206a229041.44776372","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 13:33:20","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 13:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"88","is_new_deal":false}
[2026-04-18 13:33:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 13:33:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:33:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:33:20] [INFO] getContactPrimaryPhone called {"contact_id":"88"}
[2026-04-18 13:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:20] [INFO] getContactPrimaryPhone result {"contact_id":"88","person_found":true,"primary_phone":"9213968015"}
[2026-04-18 13:33:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9213968015"}
[2026-04-18 13:33:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9213968015","contact_id":"88","deal_id":"local_69d6206a229041.44776372","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:33:20"}
[2026-04-18 13:33:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6206a229041.44776372","contact_id":"88","existing_deal_found":true,"existing_contact_id":"88","existing_title":"معامله سوم 9213968015 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:33:20"}
[2026-04-18 13:33:20] [INFO] DealController.save validated payments {"deal_id":"local_69d6206a229041.44776372","contact_id":"88","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-18 13:33:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"88","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 13:33:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6206a229041.44776372","contact_didar_id":"88","title":"معامله سوم 9213968015 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9213968015","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"قمری","existing_deal":"YES","existing_deal_id":"local_69d6206a229041.44776372","existing_deal_status":"Pending","server_time":"2026-04-18 13:33:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 13:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6206a229041.44776372","contact_id":"88","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9213968015 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 13:33:20","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 13:33:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-18 13:33:23] [INFO] Checking activity reminders 
[2026-04-18 13:33:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:33:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:33:53] [INFO] Checking activity reminders 
[2026-04-18 13:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:34:19] [INFO] Checking activity reminders 
[2026-04-18 13:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:34:23] [INFO] Checking activity reminders 
[2026-04-18 13:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:34:49] [INFO] Checking activity reminders 
[2026-04-18 13:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:34:53] [INFO] Checking activity reminders 
[2026-04-18 13:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:35:03] [INFO] Activity save request {"post_data":{"contact_id":"11768","deal_id":"local_699d72d59585d5.67909885","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تازه از سفر برگشته \r\nپرزنت 6 ماهه \r\nمیخواد یکساله باشه \r\nنقد و چک پرداخت ","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:35:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11768","note_was_empty":true}
[2026-04-18 13:35:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"11768","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:03] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-18 13:35:03] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-18 13:35:03] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-18 13:35:03] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d72d59585d5.67909885","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 13:35:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3574fa3e936.01106185","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3574fa3e936.01106185"}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:03] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-18 13:35:03] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-18 13:35:03] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-18 13:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:19] [INFO] Checking activity reminders 
[2026-04-18 13:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:35:23] [INFO] Checking activity reminders 
[2026-04-18 13:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:35:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11768","deal_id":"local_699d72d59585d5.67909885","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 13:35:43","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 13:35:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11768","is_new_deal":false}
[2026-04-18 13:35:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 13:35:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:35:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:35:43] [INFO] getContactPrimaryPhone called {"contact_id":"11768"}
[2026-04-18 13:35:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:43] [INFO] getContactPrimaryPhone result {"contact_id":"11768","person_found":true,"primary_phone":"9148077284"}
[2026-04-18 13:35:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9148077284"}
[2026-04-18 13:35:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9148077284","contact_id":"11768","deal_id":"local_699d72d59585d5.67909885","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:35:43"}
[2026-04-18 13:35:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d72d59585d5.67909885","contact_id":"11768","existing_deal_found":true,"existing_contact_id":"11768","existing_title":"معامله سوم 9148077284 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 13:35:43"}
[2026-04-18 13:35:43] [INFO] DealController.save validated payments {"deal_id":"local_699d72d59585d5.67909885","contact_id":"11768","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-18 13:35:43] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11768","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 13:35:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d72d59585d5.67909885","contact_didar_id":"11768","title":"معامله سوم 9148077284 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9148077284","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"زارع دوست","existing_deal":"YES","existing_deal_id":"local_699d72d59585d5.67909885","existing_deal_status":"Pending","server_time":"2026-04-18 13:35:43","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 13:35:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d72d59585d5.67909885","contact_id":"11768","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9148077284 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 13:35:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 13:35:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-18 13:35:53] [INFO] Checking activity reminders 
[2026-04-18 13:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:36:24] [INFO] Checking activity reminders 
[2026-04-18 13:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:36:36] [INFO] Checking activity reminders 
[2026-04-18 13:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:36:54] [INFO] Checking activity reminders 
[2026-04-18 13:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:37:03] [INFO] Checking activity reminders 
[2026-04-18 13:37:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:37:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:37:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:07] [INFO] Checking activity reminders 
[2026-04-18 13:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:37:24] [INFO] Checking activity reminders 
[2026-04-18 13:37:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:37:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:37:24] [INFO] Activity save request {"post_data":{"contact_id":"20843","deal_id":"local_69e0a123170753.23513014","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"3","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:37:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20843","note_was_empty":true}
[2026-04-18 13:37:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"20843","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:24] [INFO] Updating virtual stage {"contact_id":"20843","stage_name":"deal_registered","force":false}
[2026-04-18 13:37:24] [INFO] Virtual stage successfully saved {"contact_id":"20843","stage_name":"deal_registered"}
[2026-04-18 13:37:24] [INFO] Virtual stage updated after activity save {"contact_id":"20843"}
[2026-04-18 13:37:24] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a123170753.23513014","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:37:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e357dceab7a9.35524557","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69e357dceab7a9.35524557"}
[2026-04-18 13:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:24] [INFO] Updating virtual stage {"contact_id":"20843","stage_name":"deal_registered","force":false}
[2026-04-18 13:37:24] [INFO] Virtual stage successfully saved {"contact_id":"20843","stage_name":"deal_registered"}
[2026-04-18 13:37:24] [INFO] Virtual stage updated after activity save {"contact_id":"20843"}
[2026-04-18 13:37:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-18 13:37:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:37:33] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:37:33] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 13:37:33] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 13:37:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 13:37:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 13:37:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 13:37:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 13:37:37] [INFO] Checking activity reminders 
[2026-04-18 13:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:37:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7625","deal_id":"local_6950f6a3883cf9.46713438","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 13:37:50","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 13:37:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7625","is_new_deal":false}
[2026-04-18 13:37:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 13:37:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 13:37:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 13:37:50] [INFO] getContactPrimaryPhone called {"contact_id":"7625"}
[2026-04-18 13:37:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:50] [INFO] getContactPrimaryPhone result {"contact_id":"7625","person_found":true,"primary_phone":"9153849748"}
[2026-04-18 13:37:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9153849748"}
[2026-04-18 13:37:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9153849748","contact_id":"7625","deal_id":"local_6950f6a3883cf9.46713438","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 13:37:50"}
[2026-04-18 13:37:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f6a3883cf9.46713438","contact_id":"7625","existing_deal_found":true,"existing_contact_id":"7625","existing_title":"معامله اول 9153849748 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 13:37:50"}
[2026-04-18 13:37:50] [INFO] DealController.save validated payments {"deal_id":"local_6950f6a3883cf9.46713438","contact_id":"7625","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 13:37:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"7625","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 13:37:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f6a3883cf9.46713438","contact_didar_id":"7625","title":"معامله اول 9153849748 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9153849748","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":29000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"علی رضازاده","existing_deal":"YES","existing_deal_id":"local_6950f6a3883cf9.46713438","existing_deal_status":"Pending","server_time":"2026-04-18 13:37:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 13:37:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f6a3883cf9.46713438","contact_id":"7625","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9153849748 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":29000000,"server_time":"2026-04-18 13:37:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 13:37:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:37:54] [INFO] Checking activity reminders 
[2026-04-18 13:37:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:37:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:03] [INFO] Checking activity reminders 
[2026-04-18 13:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:07] [INFO] Checking activity reminders 
[2026-04-18 13:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-18 13:38:24] [INFO] Checking activity reminders 
[2026-04-18 13:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:37] [INFO] Checking activity reminders 
[2026-04-18 13:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:43] [INFO] Checking activity reminders 
[2026-04-18 13:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:38:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:38:54] [INFO] Checking activity reminders 
[2026-04-18 13:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:39:08] [INFO] Checking activity reminders 
[2026-04-18 13:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:39:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"3821","deal_id":"local_699aba76226317.35282569","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 13:39:13","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 13:39:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"3821","is_new_deal":false}
[2026-04-18 13:39:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 13:39:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:39:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 13:39:13] [INFO] getContactPrimaryPhone called {"contact_id":"3821"}
[2026-04-18 13:39:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:13] [INFO] getContactPrimaryPhone result {"contact_id":"3821","person_found":true,"primary_phone":"9123187467"}
[2026-04-18 13:39:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123187467"}
[2026-04-18 13:39:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123187467","contact_id":"3821","deal_id":"local_699aba76226317.35282569","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 13:39:13"}
[2026-04-18 13:39:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","existing_deal_found":true,"existing_contact_id":"3821","existing_title":"معامله دوم 9123187467 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 13:39:13"}
[2026-04-18 13:39:13] [INFO] DealController.save validated payments {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-18 13:39:13] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"3821","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 13:39:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aba76226317.35282569","contact_didar_id":"3821","title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9123187467","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"شهبازی","existing_deal":"YES","existing_deal_id":"local_699aba76226317.35282569","existing_deal_status":"Pending","server_time":"2026-04-18 13:39:13","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 13:39:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aba76226317.35282569","contact_id":"3821","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 13:39:13","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 13:39:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:13] [INFO] Checking activity reminders 
[2026-04-18 13:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:39:24] [INFO] Checking activity reminders 
[2026-04-18 13:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:39:38] [INFO] Checking activity reminders 
[2026-04-18 13:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:39:45] [INFO] Activity save request {"post_data":{"contact_id":"20649","deal_id":"local_69e0a242b65465.39175749","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:39:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20649","note_was_empty":true}
[2026-04-18 13:39:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"20649","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:45] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-18 13:39:45] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-18 13:39:45] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-18 13:39:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a242b65465.39175749","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:39:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35869147fd8.78792244","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35869147fd8.78792244"}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:45] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-18 13:39:45] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-18 13:39:45] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-18 13:39:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-18 13:39:46] [INFO] Lead update received {"contact_id":"3821","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 13:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3821"}
[2026-04-18 13:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-18 13:39:54] [INFO] Checking activity reminders 
[2026-04-18 13:39:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:39:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:40:08] [INFO] Checking activity reminders 
[2026-04-18 13:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:40:09] [INFO] Checking activity reminders 
[2026-04-18 13:40:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:40:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:40:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2300","person_id":"16066"}
[2026-04-18 13:40:24] [INFO] Checking activity reminders 
[2026-04-18 13:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:40:38] [INFO] Checking activity reminders 
[2026-04-18 13:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:40:55] [INFO] Checking activity reminders 
[2026-04-18 13:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:41:08] [INFO] Checking activity reminders 
[2026-04-18 13:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:41:25] [INFO] Checking activity reminders 
[2026-04-18 13:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:41:38] [INFO] Checking activity reminders 
[2026-04-18 13:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:41:55] [INFO] Checking activity reminders 
[2026-04-18 13:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:41:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:08] [INFO] Checking activity reminders 
[2026-04-18 13:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:42:23] [INFO] Activity save request {"post_data":{"contact_id":"15468","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در کانال دیگه ای عضویت کانال دارند ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:42:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15468","note_was_empty":true}
[2026-04-18 13:42:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"15468","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:42:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35907d675e0.70452238","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35907d675e0.70452238"}
[2026-04-18 13:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:23] [INFO] Updating virtual stage {"contact_id":"15468","stage_name":"contact_followup","force":false}
[2026-04-18 13:42:23] [INFO] Virtual stage successfully saved {"contact_id":"15468","stage_name":"contact_followup"}
[2026-04-18 13:42:23] [INFO] Virtual stage updated after activity save {"contact_id":"15468"}
[2026-04-18 13:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-18 13:42:25] [INFO] Checking activity reminders 
[2026-04-18 13:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:42:38] [INFO] Checking activity reminders 
[2026-04-18 13:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:42:51] [INFO] Checking activity reminders 
[2026-04-18 13:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:43:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-18 13:43:21] [INFO] Checking activity reminders 
[2026-04-18 13:43:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:43:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:43:51] [INFO] Checking activity reminders 
[2026-04-18 13:43:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:43:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:44:16] [INFO] Checking activity reminders 
[2026-04-18 13:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:44:21] [INFO] Checking activity reminders 
[2026-04-18 13:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:44:27] [INFO] Checking activity reminders 
[2026-04-18 13:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:44:52] [INFO] Checking activity reminders 
[2026-04-18 13:44:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:44:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:45:14] [INFO] Checking activity reminders 
[2026-04-18 13:45:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:45:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:45:22] [INFO] Checking activity reminders 
[2026-04-18 13:45:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:45:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:45:52] [INFO] Checking activity reminders 
[2026-04-18 13:45:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:45:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:46:07] [INFO] Checking activity reminders 
[2026-04-18 13:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:46:22] [INFO] Checking activity reminders 
[2026-04-18 13:46:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:46:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:46:52] [INFO] Checking activity reminders 
[2026-04-18 13:46:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:46:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:47:08] [INFO] Checking activity reminders 
[2026-04-18 13:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:47:22] [INFO] Checking activity reminders 
[2026-04-18 13:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:47:38] [INFO] Checking activity reminders 
[2026-04-18 13:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:47:52] [INFO] Checking activity reminders 
[2026-04-18 13:47:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:47:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:48:22] [INFO] Checking activity reminders 
[2026-04-18 13:48:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:48:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:48:43] [INFO] Checking activity reminders 
[2026-04-18 13:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:48:52] [INFO] Checking activity reminders 
[2026-04-18 13:48:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:48:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:49:22] [INFO] Checking activity reminders 
[2026-04-18 13:49:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:49:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:49:52] [INFO] Checking activity reminders 
[2026-04-18 13:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:49:55] [INFO] Checking activity reminders 
[2026-04-18 13:49:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:49:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:50:22] [INFO] Checking activity reminders 
[2026-04-18 13:50:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:50:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:50:25] [INFO] Checking activity reminders 
[2026-04-18 13:50:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:50:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:50:52] [INFO] Checking activity reminders 
[2026-04-18 13:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:50:55] [INFO] Checking activity reminders 
[2026-04-18 13:50:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:50:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:51:19] [INFO] Activity save request {"post_data":{"contact_id":"649","deal_id":"local_69d6983b84a696.07775607","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تو ذهنش حس خوب نداره میگه هر کی هست کانال سیگنال همه چی هست \/ دید دادم گفتم اتفاقا 7بازار اصلی هست برات خوبه میدونی کی ماشین بخری بفروشی پشتیبان داری با استاد هستی \/ قرار شد مجدد فکر کنه اطلاع","activity_duration":"30","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:51:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"649","note_was_empty":true}
[2026-04-18 13:51:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"649","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:19] [INFO] Updating virtual stage {"contact_id":"649","stage_name":"deal_registered","force":false}
[2026-04-18 13:51:19] [INFO] Virtual stage successfully saved {"contact_id":"649","stage_name":"deal_registered"}
[2026-04-18 13:51:19] [INFO] Virtual stage updated after activity save {"contact_id":"649"}
[2026-04-18 13:51:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6983b84a696.07775607","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 13:51:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35b1f8ad223.02046094","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35b1f8ad223.02046094"}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:19] [INFO] Updating virtual stage {"contact_id":"649","stage_name":"deal_registered","force":false}
[2026-04-18 13:51:19] [INFO] Virtual stage successfully saved {"contact_id":"649","stage_name":"deal_registered"}
[2026-04-18 13:51:19] [INFO] Virtual stage updated after activity save {"contact_id":"649"}
[2026-04-18 13:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"649","person_id":"4729"}
[2026-04-18 13:51:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 13:51:22] [INFO] Checking activity reminders 
[2026-04-18 13:51:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:51:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:51:25] [INFO] Checking activity reminders 
[2026-04-18 13:51:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:51:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:51:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:51:47] [INFO] Checking activity reminders 
[2026-04-18 13:51:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:51:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:51:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:51:55] [INFO] Checking activity reminders 
[2026-04-18 13:51:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:51:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:52:18] [INFO] Checking activity reminders 
[2026-04-18 13:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:52:25] [INFO] Checking activity reminders 
[2026-04-18 13:52:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:52:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:52:35] [INFO] Activity save request {"post_data":{"contact_id":"15035","deal_id":"local_69d2100e4470e8.16765666","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خودش تو فکر تمدید و عضویت هست \r\nچک زیاد داره \r\nدر اولین فرصت انجام میده ","activity_duration":"33","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:52:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15035","note_was_empty":true}
[2026-04-18 13:52:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"15035","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:35] [INFO] Updating virtual stage {"contact_id":"15035","stage_name":"deal_registered","force":false}
[2026-04-18 13:52:35] [INFO] Virtual stage successfully saved {"contact_id":"15035","stage_name":"deal_registered"}
[2026-04-18 13:52:35] [INFO] Virtual stage updated after activity save {"contact_id":"15035"}
[2026-04-18 13:52:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d2100e4470e8.16765666","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:52:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35b6b16e073.78552979","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35b6b16e073.78552979"}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:35] [INFO] Updating virtual stage {"contact_id":"15035","stage_name":"deal_registered","force":false}
[2026-04-18 13:52:35] [INFO] Virtual stage successfully saved {"contact_id":"15035","stage_name":"deal_registered"}
[2026-04-18 13:52:35] [INFO] Virtual stage updated after activity save {"contact_id":"15035"}
[2026-04-18 13:52:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-18 13:52:48] [INFO] Checking activity reminders 
[2026-04-18 13:52:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:52:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:52:56] [INFO] Checking activity reminders 
[2026-04-18 13:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:53:01] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:53:01] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:53:01] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:53:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:18] [INFO] Checking activity reminders 
[2026-04-18 13:53:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:53:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:53:18] [INFO] Activity save request {"post_data":{"contact_id":"20933","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:53:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20933","note_was_empty":true}
[2026-04-18 13:53:18] [INFO] Didar write disabled; saving activity locally {"contact_id":"20933","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 13:53:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35b96c9cdb2.18499254","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35b96c9cdb2.18499254"}
[2026-04-18 13:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:18] [INFO] Updating virtual stage {"contact_id":"20933","stage_name":"deal_registered","force":false}
[2026-04-18 13:53:18] [INFO] Virtual stage successfully saved {"contact_id":"20933","stage_name":"deal_registered"}
[2026-04-18 13:53:18] [INFO] Virtual stage updated after activity save {"contact_id":"20933"}
[2026-04-18 13:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20933","person_id":"4625"}
[2026-04-18 13:53:26] [INFO] Checking activity reminders 
[2026-04-18 13:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:53:48] [INFO] Checking activity reminders 
[2026-04-18 13:53:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:53:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:53:56] [INFO] Checking activity reminders 
[2026-04-18 13:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:54:05] [INFO] Activity save request {"post_data":{"contact_id":"20949","deal_id":"local_69e0a1b366dd96.96133851","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری ","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:54:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20949","note_was_empty":true}
[2026-04-18 13:54:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"20949","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:05] [INFO] Updating virtual stage {"contact_id":"20949","stage_name":"deal_registered","force":false}
[2026-04-18 13:54:05] [INFO] Virtual stage successfully saved {"contact_id":"20949","stage_name":"deal_registered"}
[2026-04-18 13:54:05] [INFO] Virtual stage updated after activity save {"contact_id":"20949"}
[2026-04-18 13:54:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a1b366dd96.96133851","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:54:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35bc5bf1640.44578143","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35bc5bf1640.44578143"}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:05] [INFO] Updating virtual stage {"contact_id":"20949","stage_name":"deal_registered","force":false}
[2026-04-18 13:54:05] [INFO] Virtual stage successfully saved {"contact_id":"20949","stage_name":"deal_registered"}
[2026-04-18 13:54:05] [INFO] Virtual stage updated after activity save {"contact_id":"20949"}
[2026-04-18 13:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-18 13:54:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:54:10] [INFO] Checking activity reminders 
[2026-04-18 13:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 13:54:26] [INFO] Checking activity reminders 
[2026-04-18 13:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:54:39] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:54:39] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:54:39] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:54:40] [INFO] Checking activity reminders 
[2026-04-18 13:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:54:42] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:54:42] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:54:42] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:54:56] [INFO] Checking activity reminders 
[2026-04-18 13:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:55:10] [INFO] Checking activity reminders 
[2026-04-18 13:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:55:12] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:55:12] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:55:12] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:55:26] [INFO] Checking activity reminders 
[2026-04-18 13:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:55:41] [INFO] Checking activity reminders 
[2026-04-18 13:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:55:56] [INFO] Checking activity reminders 
[2026-04-18 13:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:56:11] [INFO] Checking activity reminders 
[2026-04-18 13:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:56:26] [INFO] Checking activity reminders 
[2026-04-18 13:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:56:41] [INFO] Checking activity reminders 
[2026-04-18 13:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:56:53] [INFO] Activity save request {"post_data":{"contact_id":"21016","deal_id":"local_69e0a0565a7254.18535634","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 13:56:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21016","note_was_empty":true}
[2026-04-18 13:56:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"21016","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:53] [INFO] Updating virtual stage {"contact_id":"21016","stage_name":"deal_registered","force":false}
[2026-04-18 13:56:53] [INFO] Virtual stage successfully saved {"contact_id":"21016","stage_name":"deal_registered"}
[2026-04-18 13:56:53] [INFO] Virtual stage updated after activity save {"contact_id":"21016"}
[2026-04-18 13:56:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0565a7254.18535634","stage":"تماس پیگیری","status_change":null}
[2026-04-18 13:56:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35c6daf8821.35588682","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35c6daf8821.35588682"}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:53] [INFO] Updating virtual stage {"contact_id":"21016","stage_name":"deal_registered","force":false}
[2026-04-18 13:56:53] [INFO] Virtual stage successfully saved {"contact_id":"21016","stage_name":"deal_registered"}
[2026-04-18 13:56:53] [INFO] Virtual stage updated after activity save {"contact_id":"21016"}
[2026-04-18 13:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-18 13:56:56] [INFO] Checking activity reminders 
[2026-04-18 13:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:57:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 13:57:11] [INFO] Checking activity reminders 
[2026-04-18 13:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:57:26] [INFO] Checking activity reminders 
[2026-04-18 13:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:57:41] [INFO] Checking activity reminders 
[2026-04-18 13:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:57:56] [INFO] Checking activity reminders 
[2026-04-18 13:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:58:11] [INFO] Checking activity reminders 
[2026-04-18 13:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:58:26] [INFO] Checking activity reminders 
[2026-04-18 13:58:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:58:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:58:41] [INFO] Checking activity reminders 
[2026-04-18 13:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:58:57] [INFO] Checking activity reminders 
[2026-04-18 13:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:59:11] [INFO] Checking activity reminders 
[2026-04-18 13:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:59:27] [INFO] Checking activity reminders 
[2026-04-18 13:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:59:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:59:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 13:59:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 13:59:41] [INFO] Checking activity reminders 
[2026-04-18 13:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 13:59:57] [INFO] Checking activity reminders 
[2026-04-18 13:59:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 13:59:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:00:11] [INFO] Checking activity reminders 
[2026-04-18 14:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:00:27] [INFO] Checking activity reminders 
[2026-04-18 14:00:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:00:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:00:41] [INFO] Checking activity reminders 
[2026-04-18 14:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:00:57] [INFO] Checking activity reminders 
[2026-04-18 14:00:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:00:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:01:12] [INFO] Checking activity reminders 
[2026-04-18 14:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:01:27] [INFO] Checking activity reminders 
[2026-04-18 14:01:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:01:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:01:42] [INFO] Checking activity reminders 
[2026-04-18 14:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:01:57] [INFO] Checking activity reminders 
[2026-04-18 14:01:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:01:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:02:12] [INFO] Checking activity reminders 
[2026-04-18 14:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:02:27] [INFO] Checking activity reminders 
[2026-04-18 14:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:02:42] [INFO] Checking activity reminders 
[2026-04-18 14:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:02:57] [INFO] Checking activity reminders 
[2026-04-18 14:02:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:02:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:03:12] [INFO] Checking activity reminders 
[2026-04-18 14:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:03:25] [INFO] Checking activity reminders 
[2026-04-18 14:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:03:27] [INFO] Checking activity reminders 
[2026-04-18 14:03:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:03:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:03:55] [INFO] Checking activity reminders 
[2026-04-18 14:03:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:03:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:03:58] [INFO] Checking activity reminders 
[2026-04-18 14:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:04:25] [INFO] Checking activity reminders 
[2026-04-18 14:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:04:28] [INFO] Checking activity reminders 
[2026-04-18 14:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:04:55] [INFO] Checking activity reminders 
[2026-04-18 14:04:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:04:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:04:58] [INFO] Checking activity reminders 
[2026-04-18 14:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:05:26] [INFO] Checking activity reminders 
[2026-04-18 14:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:05:28] [INFO] Checking activity reminders 
[2026-04-18 14:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:05:31] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc84ae9147f9.41801026","deal_id":"local_69dc84aea2652","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:05:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69dc84ae9147f9.41801026","note_was_empty":true}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:31] [INFO] Updating virtual stage {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered","force":false}
[2026-04-18 14:05:31] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered"}
[2026-04-18 14:05:31] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc84ae9147f9.41801026"}
[2026-04-18 14:05:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69dc84aea2652","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 14:05:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35e73919323.88951369","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35e73919323.88951369"}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:31] [INFO] Updating virtual stage {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered","force":false}
[2026-04-18 14:05:31] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered"}
[2026-04-18 14:05:31] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc84ae9147f9.41801026"}
[2026-04-18 14:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:39] [INFO] Activity save request {"post_data":{"contact_id":"20596","deal_id":"local_69e0a0a786eaf7.88461155","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تمدید یا 79ت یا تا اخر شهریور 39ت \/ \r\n39 رو گفتم نقد کامل باید بزنی \/ 79 دو مرحله \/ امروز بیعانه میزنه سر ماه میگه کدوم و تسویه چطور ","activity_duration":"10","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:05:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20596","note_was_empty":true}
[2026-04-18 14:05:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"20596","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:39] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-18 14:05:39] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-18 14:05:39] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-18 14:05:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0a786eaf7.88461155","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 14:05:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35e7bb53e58.24237702","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35e7bb53e58.24237702"}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:39] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-18 14:05:39] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-18 14:05:39] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-18 14:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-18 14:05:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69dc84ae9147f9.41801026","deal_id":"local_69dc84aea2652","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 14:05:54","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 14:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69dc84ae9147f9.41801026","is_new_deal":false}
[2026-04-18 14:05:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:05:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:05:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:05:54] [INFO] getContactPrimaryPhone called {"contact_id":"local_69dc84ae9147f9.41801026"}
[2026-04-18 14:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:54] [INFO] getContactPrimaryPhone result {"contact_id":"local_69dc84ae9147f9.41801026","person_found":true,"primary_phone":"9130210021"}
[2026-04-18 14:05:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9130210021"}
[2026-04-18 14:05:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9130210021","contact_id":"local_69dc84ae9147f9.41801026","deal_id":"local_69dc84aea2652","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:05:54"}
[2026-04-18 14:05:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_69dc84aea2652","contact_id":"local_69dc84ae9147f9.41801026","existing_deal_found":true,"existing_contact_id":"local_69dc84ae9147f9.41801026","existing_title":"معامله اول 9130210021 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:05:54"}
[2026-04-18 14:05:54] [INFO] DealController.save validated payments {"deal_id":"local_69dc84aea2652","contact_id":"local_69dc84ae9147f9.41801026","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 14:05:54] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69dc84ae9147f9.41801026","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 14:05:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69dc84aea2652","contact_didar_id":"local_69dc84ae9147f9.41801026","title":"معامله اول 9130210021 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9130210021","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدعلی مودت","existing_deal":"YES","existing_deal_id":"local_69dc84aea2652","existing_deal_status":"Pending","server_time":"2026-04-18 14:05:54","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 14:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69dc84aea2652","contact_id":"local_69dc84ae9147f9.41801026","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9130210021 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-18 14:05:54","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 14:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-18 14:05:56] [INFO] Checking activity reminders 
[2026-04-18 14:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:05:58] [INFO] Checking activity reminders 
[2026-04-18 14:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:06:21] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:06:21] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:06:21] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:06:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:06:26] [INFO] Checking activity reminders 
[2026-04-18 14:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:06:28] [INFO] Checking activity reminders 
[2026-04-18 14:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:06:56] [INFO] Checking activity reminders 
[2026-04-18 14:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:06:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:06:58] [INFO] Checking activity reminders 
[2026-04-18 14:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:07:15] [INFO] Activity save request {"post_data":{"contact_id":"17261","deal_id":"local_694688331afe97.88015634","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"جلسه بود شرایط صحبت نداشت \r\n","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:07:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"17261","note_was_empty":true}
[2026-04-18 14:07:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"17261","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:15] [INFO] Updating virtual stage {"contact_id":"17261","stage_name":"deal_registered","force":false}
[2026-04-18 14:07:15] [INFO] Virtual stage successfully saved {"contact_id":"17261","stage_name":"deal_registered"}
[2026-04-18 14:07:15] [INFO] Virtual stage updated after activity save {"contact_id":"17261"}
[2026-04-18 14:07:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694688331afe97.88015634","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 14:07:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35edb433d46.66565319","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35edb433d46.66565319"}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:15] [INFO] Updating virtual stage {"contact_id":"17261","stage_name":"deal_registered","force":false}
[2026-04-18 14:07:15] [INFO] Virtual stage successfully saved {"contact_id":"17261","stage_name":"deal_registered"}
[2026-04-18 14:07:15] [INFO] Virtual stage updated after activity save {"contact_id":"17261"}
[2026-04-18 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17261","person_id":"5011"}
[2026-04-18 14:07:26] [INFO] Checking activity reminders 
[2026-04-18 14:07:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:07:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:07:28] [INFO] Checking activity reminders 
[2026-04-18 14:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:07:56] [INFO] Checking activity reminders 
[2026-04-18 14:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:07:58] [INFO] Checking activity reminders 
[2026-04-18 14:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:08:26] [INFO] Checking activity reminders 
[2026-04-18 14:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:08:28] [INFO] Checking activity reminders 
[2026-04-18 14:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:08:56] [INFO] Checking activity reminders 
[2026-04-18 14:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:08:58] [INFO] Checking activity reminders 
[2026-04-18 14:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:09:15] [INFO] Activity save request {"post_data":{"contact_id":"20686","deal_id":"local_69e0a0ca019012.42913643","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرای طنداره خیلی \/ پشت فرمون بود فردا یا پس فردا خودش تماس","activity_duration":"5","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:09:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20686","note_was_empty":true}
[2026-04-18 14:09:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"20686","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:15] [INFO] Updating virtual stage {"contact_id":"20686","stage_name":"deal_registered","force":false}
[2026-04-18 14:09:15] [INFO] Virtual stage successfully saved {"contact_id":"20686","stage_name":"deal_registered"}
[2026-04-18 14:09:15] [INFO] Virtual stage updated after activity save {"contact_id":"20686"}
[2026-04-18 14:09:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0ca019012.42913643","stage":"تماس پیگیری","status_change":null}
[2026-04-18 14:09:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e35f53273d20.42521181","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e35f53273d20.42521181"}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:15] [INFO] Updating virtual stage {"contact_id":"20686","stage_name":"deal_registered","force":false}
[2026-04-18 14:09:15] [INFO] Virtual stage successfully saved {"contact_id":"20686","stage_name":"deal_registered"}
[2026-04-18 14:09:15] [INFO] Virtual stage updated after activity save {"contact_id":"20686"}
[2026-04-18 14:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-18 14:09:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:09:26] [INFO] Checking activity reminders 
[2026-04-18 14:09:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:09:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:09:28] [INFO] Checking activity reminders 
[2026-04-18 14:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:09:56] [INFO] Checking activity reminders 
[2026-04-18 14:09:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:09:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:09:58] [INFO] Checking activity reminders 
[2026-04-18 14:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:10:26] [INFO] Checking activity reminders 
[2026-04-18 14:10:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:10:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:10:28] [INFO] Checking activity reminders 
[2026-04-18 14:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:10:39] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:10:39] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:10:39] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:10:57] [INFO] Checking activity reminders 
[2026-04-18 14:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:10:58] [INFO] Checking activity reminders 
[2026-04-18 14:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:11:25] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:11:25] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:11:25] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:11:27] [INFO] Checking activity reminders 
[2026-04-18 14:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:11:28] [INFO] Checking activity reminders 
[2026-04-18 14:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:11:57] [INFO] Checking activity reminders 
[2026-04-18 14:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:11:58] [INFO] Checking activity reminders 
[2026-04-18 14:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:12:27] [INFO] Checking activity reminders 
[2026-04-18 14:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:12:28] [INFO] Checking activity reminders 
[2026-04-18 14:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:12:57] [INFO] Checking activity reminders 
[2026-04-18 14:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:12:59] [INFO] Checking activity reminders 
[2026-04-18 14:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:13:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:13:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:13:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:13:27] [INFO] Checking activity reminders 
[2026-04-18 14:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:13:29] [INFO] Checking activity reminders 
[2026-04-18 14:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:13:57] [INFO] Checking activity reminders 
[2026-04-18 14:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:13:59] [INFO] Checking activity reminders 
[2026-04-18 14:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:14:23] [INFO] Checking activity reminders 
[2026-04-18 14:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:14:29] [INFO] Checking activity reminders 
[2026-04-18 14:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:14:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69cd230ef155f2.07282058","deal_id":"local_69cd230f0d666","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 14:14:36","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 14:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:14:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69cd230ef155f2.07282058","is_new_deal":false}
[2026-04-18 14:14:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:14:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:14:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 14:14:36] [INFO] getContactPrimaryPhone called {"contact_id":"local_69cd230ef155f2.07282058"}
[2026-04-18 14:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:14:36] [INFO] getContactPrimaryPhone result {"contact_id":"local_69cd230ef155f2.07282058","person_found":true,"primary_phone":"9010983277"}
[2026-04-18 14:14:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9010983277"}
[2026-04-18 14:14:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9010983277","contact_id":"local_69cd230ef155f2.07282058","deal_id":"local_69cd230f0d666","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:14:36"}
[2026-04-18 14:14:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_69cd230f0d666","contact_id":"local_69cd230ef155f2.07282058","existing_deal_found":true,"existing_contact_id":"local_69cd230ef155f2.07282058","existing_title":"معامله اول 9010983277 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:14:36"}
[2026-04-18 14:14:36] [INFO] DealController.save validated payments {"deal_id":"local_69cd230f0d666","contact_id":"local_69cd230ef155f2.07282058","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-18 14:14:36] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69cd230ef155f2.07282058","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 14:14:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69cd230f0d666","contact_didar_id":"local_69cd230ef155f2.07282058","title":"معامله اول 9010983277 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9010983277","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خانم حسینی","existing_deal":"YES","existing_deal_id":"local_69cd230f0d666","existing_deal_status":"Pending","server_time":"2026-04-18 14:14:36","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 14:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:14:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69cd230f0d666","contact_id":"local_69cd230ef155f2.07282058","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9010983277 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-18 14:14:36","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 14:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:14:53] [INFO] Checking activity reminders 
[2026-04-18 14:14:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:14:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:14:59] [INFO] Checking activity reminders 
[2026-04-18 14:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:15:06] [INFO] Activity save request {"post_data":{"contact_id":"local_69cd230ef155f2.07282058","deal_id":"local_69cd230f0d666","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خاموش \r\nپیام در بله ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:15:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69cd230ef155f2.07282058","note_was_empty":true}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:06] [INFO] Updating virtual stage {"contact_id":"local_69cd230ef155f2.07282058","stage_name":"deal_registered","force":false}
[2026-04-18 14:15:06] [INFO] Virtual stage successfully saved {"contact_id":"local_69cd230ef155f2.07282058","stage_name":"deal_registered"}
[2026-04-18 14:15:06] [INFO] Virtual stage updated after activity save {"contact_id":"local_69cd230ef155f2.07282058"}
[2026-04-18 14:15:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69cd230f0d666","stage":"تماس پیگیری","status_change":null}
[2026-04-18 14:15:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e360b20b9740.77103699","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e360b20b9740.77103699"}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:06] [INFO] Updating virtual stage {"contact_id":"local_69cd230ef155f2.07282058","stage_name":"deal_registered","force":false}
[2026-04-18 14:15:06] [INFO] Virtual stage successfully saved {"contact_id":"local_69cd230ef155f2.07282058","stage_name":"deal_registered"}
[2026-04-18 14:15:06] [INFO] Virtual stage updated after activity save {"contact_id":"local_69cd230ef155f2.07282058"}
[2026-04-18 14:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-18 14:15:23] [INFO] Checking activity reminders 
[2026-04-18 14:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:15:29] [INFO] Checking activity reminders 
[2026-04-18 14:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:15:32] [INFO] Activity save request {"post_data":{"contact_id":"665","deal_id":"local_69e0a7617cf173.32932098","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ساعت 18 تماس \/ معدن بود گفت ساعت 5:30 میرسه","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:15:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"665","note_was_empty":true}
[2026-04-18 14:15:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"665","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:32] [INFO] Updating virtual stage {"contact_id":"665","stage_name":"deal_registered","force":false}
[2026-04-18 14:15:32] [INFO] Virtual stage successfully saved {"contact_id":"665","stage_name":"deal_registered"}
[2026-04-18 14:15:32] [INFO] Virtual stage updated after activity save {"contact_id":"665"}
[2026-04-18 14:15:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a7617cf173.32932098","stage":"تماس پیگیری","status_change":null}
[2026-04-18 14:15:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e360cc847840.64488187","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e360cc847840.64488187"}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:32] [INFO] Updating virtual stage {"contact_id":"665","stage_name":"deal_registered","force":false}
[2026-04-18 14:15:32] [INFO] Virtual stage successfully saved {"contact_id":"665","stage_name":"deal_registered"}
[2026-04-18 14:15:32] [INFO] Virtual stage updated after activity save {"contact_id":"665"}
[2026-04-18 14:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-18 14:15:53] [INFO] Checking activity reminders 
[2026-04-18 14:15:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:15:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:15:59] [INFO] Checking activity reminders 
[2026-04-18 14:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Activity save request {"post_data":{"contact_id":"7992","deal_id":"local_69d4dbda85c419.62616226","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:16:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7992","note_was_empty":true}
[2026-04-18 14:16:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"7992","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Updating virtual stage {"contact_id":"7992","stage_name":"deal_registered","force":false}
[2026-04-18 14:16:22] [INFO] Virtual stage successfully saved {"contact_id":"7992","stage_name":"deal_registered"}
[2026-04-18 14:16:22] [INFO] Virtual stage updated after activity save {"contact_id":"7992"}
[2026-04-18 14:16:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4dbda85c419.62616226","stage":"تماس پیگیری","status_change":null}
[2026-04-18 14:16:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e360fedd5843.35624340","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e360fedd5843.35624340"}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:22] [INFO] Updating virtual stage {"contact_id":"7992","stage_name":"deal_registered","force":false}
[2026-04-18 14:16:22] [INFO] Virtual stage successfully saved {"contact_id":"7992","stage_name":"deal_registered"}
[2026-04-18 14:16:22] [INFO] Virtual stage updated after activity save {"contact_id":"7992"}
[2026-04-18 14:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:23] [INFO] Checking activity reminders 
[2026-04-18 14:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:16:29] [INFO] Checking activity reminders 
[2026-04-18 14:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:16:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7992","deal_id":"local_69d4dbda85c419.62616226","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 14:16:33","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 14:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7992","is_new_deal":false}
[2026-04-18 14:16:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 14:16:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 14:16:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 14:16:33] [INFO] getContactPrimaryPhone called {"contact_id":"7992"}
[2026-04-18 14:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:33] [INFO] getContactPrimaryPhone result {"contact_id":"7992","person_found":true,"primary_phone":"9157452585"}
[2026-04-18 14:16:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9157452585"}
[2026-04-18 14:16:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9157452585","contact_id":"7992","deal_id":"local_69d4dbda85c419.62616226","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:16:33"}
[2026-04-18 14:16:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d4dbda85c419.62616226","contact_id":"7992","existing_deal_found":true,"existing_contact_id":"7992","existing_title":"معامله دوم 9157452585 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 14:16:33"}
[2026-04-18 14:16:33] [INFO] DealController.save validated payments {"deal_id":"local_69d4dbda85c419.62616226","contact_id":"7992","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-18 14:16:33] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7992","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 14:16:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d4dbda85c419.62616226","contact_didar_id":"7992","title":"معامله دوم 9157452585 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9157452585","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"نصرتی","existing_deal":"YES","existing_deal_id":"local_69d4dbda85c419.62616226","existing_deal_status":"Pending","server_time":"2026-04-18 14:16:33","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 14:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:33] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d4dbda85c419.62616226","contact_id":"7992","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9157452585 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 14:16:33","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 14:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7992","person_id":"3348"}
[2026-04-18 14:16:41] [INFO] Checking activity reminders 
[2026-04-18 14:16:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:16:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:16:52] [INFO] Activity save request {"post_data":{"contact_id":"3588","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:16:52] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 14:16:52] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:16:52] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3588","note_was_empty":true}
[2026-04-18 14:16:52] [INFO] Didar write disabled; saving activity locally {"contact_id":"3588","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 14:16:52] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3611c2582b3.01809345","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:16:52] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3611c2582b3.01809345"}
[2026-04-18 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:16:52] [INFO] Updating virtual stage {"contact_id":"3588","stage_name":"deal_registered","force":false}
[2026-04-18 14:16:52] [INFO] Virtual stage successfully saved {"contact_id":"3588","stage_name":"deal_registered"}
[2026-04-18 14:16:52] [INFO] Virtual stage updated after activity save {"contact_id":"3588"}
[2026-04-18 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3588","person_id":"600"}
[2026-04-18 14:16:55] [INFO] Checking activity reminders 
[2026-04-18 14:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:16:59] [INFO] Checking activity reminders 
[2026-04-18 14:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:02] [INFO] Checking activity reminders 
[2026-04-18 14:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:04] [INFO] Checking activity reminders 
[2026-04-18 14:17:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:05] [INFO] Checking activity reminders 
[2026-04-18 14:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:09] [INFO] Checking activity reminders 
[2026-04-18 14:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:14] [INFO] Checking activity reminders 
[2026-04-18 14:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:29] [INFO] Checking activity reminders 
[2026-04-18 14:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:45] [INFO] Checking activity reminders 
[2026-04-18 14:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:17:59] [INFO] Checking activity reminders 
[2026-04-18 14:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:18:15] [INFO] Checking activity reminders 
[2026-04-18 14:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:18:29] [INFO] Checking activity reminders 
[2026-04-18 14:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:18:45] [INFO] Checking activity reminders 
[2026-04-18 14:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:18:59] [INFO] Checking activity reminders 
[2026-04-18 14:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:19:15] [INFO] Checking activity reminders 
[2026-04-18 14:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:19:30] [INFO] Checking activity reminders 
[2026-04-18 14:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:19:45] [INFO] Checking activity reminders 
[2026-04-18 14:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:20:00] [INFO] Checking activity reminders 
[2026-04-18 14:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:20:30] [INFO] Checking activity reminders 
[2026-04-18 14:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:21:00] [INFO] Checking activity reminders 
[2026-04-18 14:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:21:30] [INFO] Checking activity reminders 
[2026-04-18 14:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:22:00] [INFO] Checking activity reminders 
[2026-04-18 14:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:22:30] [INFO] Checking activity reminders 
[2026-04-18 14:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:23:00] [INFO] Checking activity reminders 
[2026-04-18 14:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:24:45] [INFO] Checking activity reminders 
[2026-04-18 14:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:25:15] [INFO] Checking activity reminders 
[2026-04-18 14:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:25:45] [INFO] Checking activity reminders 
[2026-04-18 14:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:33:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:33:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"check_reminders"}
[2026-04-18 14:33:00] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_didar_users"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_users_list"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_kpi_products"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-18 14:42:38] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:39] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_products"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_leads"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:44] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:45] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:45] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_leads"}
[2026-04-18 14:42:45] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:45] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:47] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:48] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:48] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_leads"}
[2026-04-18 14:42:48] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:48] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:51] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_didar_users"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_users_list"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_kpi_products"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-18 14:42:53] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:42:56] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:43:06] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:43:06] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-18 14:43:06] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:43:06] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-18 14:43:58] [WARNING] Auth check failed - not authenticated {"session_id":"tb15q29jrdkua98ku0jp8pko1h","session_keys":[],"action":"log_client_event"}
[2026-04-18 14:43:58] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-18 14:43:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 14:43:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 14:44:29] [INFO] Checking activity reminders 
[2026-04-18 14:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:44:34] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 14:44:34] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 14:44:34] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 14:45:02] [INFO] Checking activity reminders 
[2026-04-18 14:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:45:22] [INFO] Checking activity reminders 
[2026-04-18 14:45:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:45:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:45:30] [INFO] Checking activity reminders 
[2026-04-18 14:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 14:49:09] [INFO] Checking activity reminders 
[2026-04-18 14:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 14:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:02:11] [INFO] Checking activity reminders 
[2026-04-18 15:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [INFO] Checking activity reminders 
[2026-04-18 15:02:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:02:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"get_products"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"get_deals"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"get_deals"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"r7m3eceblvltmtb55nvlhqcfeg","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:02:46] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-18 15:02:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 15:02:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-18 15:03:16] [INFO] Checking activity reminders 
[2026-04-18 15:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:03:46] [INFO] Checking activity reminders 
[2026-04-18 15:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:04:16] [INFO] Checking activity reminders 
[2026-04-18 15:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:04:46] [INFO] Checking activity reminders 
[2026-04-18 15:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:05:16] [INFO] Checking activity reminders 
[2026-04-18 15:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:05:46] [INFO] Checking activity reminders 
[2026-04-18 15:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:06:16] [INFO] Checking activity reminders 
[2026-04-18 15:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:06:47] [INFO] Checking activity reminders 
[2026-04-18 15:06:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:06:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:07:17] [INFO] Checking activity reminders 
[2026-04-18 15:07:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:07:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:07:47] [INFO] Checking activity reminders 
[2026-04-18 15:07:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:07:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:08:17] [INFO] Checking activity reminders 
[2026-04-18 15:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:08:47] [INFO] Checking activity reminders 
[2026-04-18 15:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:09:17] [INFO] Checking activity reminders 
[2026-04-18 15:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:09:47] [INFO] Checking activity reminders 
[2026-04-18 15:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:10:17] [INFO] Checking activity reminders 
[2026-04-18 15:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:10:47] [INFO] Checking activity reminders 
[2026-04-18 15:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:11:17] [INFO] Checking activity reminders 
[2026-04-18 15:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:11:47] [INFO] Checking activity reminders 
[2026-04-18 15:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:12:17] [INFO] Checking activity reminders 
[2026-04-18 15:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:12:47] [INFO] Checking activity reminders 
[2026-04-18 15:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:13:18] [INFO] Checking activity reminders 
[2026-04-18 15:13:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:13:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:13:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:13:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_products"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_deals"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_deals"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:13:48] [INFO] Checking activity reminders 
[2026-04-18 15:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_products"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_leads"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:17] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:18] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_products"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_deals"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_deals"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:19] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:21] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:21] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:21] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"get_deals"}
[2026-04-18 15:14:21] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:21] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:25] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:25] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:14:25] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:27] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:30] [WARNING] Auth check failed - not authenticated {"session_id":"6jgmih6vrjp7d1ihsdbhtg4c43","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:14:30] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 15:14:31] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 15:14:32] [INFO] Checking activity reminders 
[2026-04-18 15:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:14:34] [INFO] Checking activity reminders 
[2026-04-18 15:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:14:35] [INFO] Checking activity reminders 
[2026-04-18 15:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-18 15:15:05] [INFO] Checking activity reminders 
[2026-04-18 15:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:15:36] [INFO] Checking activity reminders 
[2026-04-18 15:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:15:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7993","deal_id":"local_69ca923d2c1e37.10964407","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 15:15:48","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 15:15:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-18 15:15:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7993","is_new_deal":false}
[2026-04-18 15:15:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 15:15:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 15:15:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 15:15:48] [INFO] getContactPrimaryPhone called {"contact_id":"7993"}
[2026-04-18 15:15:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-18 15:15:48] [INFO] getContactPrimaryPhone result {"contact_id":"7993","person_found":true,"primary_phone":"9123077796"}
[2026-04-18 15:15:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123077796"}
[2026-04-18 15:15:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123077796","contact_id":"7993","deal_id":"local_69ca923d2c1e37.10964407","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 15:15:48"}
[2026-04-18 15:15:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","existing_deal_found":true,"existing_contact_id":"7993","existing_title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 15:15:48"}
[2026-04-18 15:15:48] [INFO] DealController.save validated payments {"deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","payments_count":4,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 15:15:48] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7993","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 15:15:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca923d2c1e37.10964407","contact_didar_id":"7993","title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","base_title_used":"معامله پنجم 9123077796","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":51500000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"معتمدپور","existing_deal":"YES","existing_deal_id":"local_69ca923d2c1e37.10964407","existing_deal_status":"Pending","server_time":"2026-04-18 15:15:48","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 15:15:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-18 15:15:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":51500000,"server_time":"2026-04-18 15:15:48","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 15:15:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-18 15:16:06] [INFO] Checking activity reminders 
[2026-04-18 15:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:16:36] [INFO] Checking activity reminders 
[2026-04-18 15:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:17:06] [INFO] Checking activity reminders 
[2026-04-18 15:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:17:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 15:17:36] [INFO] Checking activity reminders 
[2026-04-18 15:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:18:06] [INFO] Checking activity reminders 
[2026-04-18 15:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:18:36] [INFO] Checking activity reminders 
[2026-04-18 15:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:19:06] [INFO] Checking activity reminders 
[2026-04-18 15:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:19:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 15:19:09","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 15:19:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 15:19:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"12744","is_new_deal":false}
[2026-04-18 15:19:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 15:19:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 15:19:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 15:19:09] [INFO] getContactPrimaryPhone called {"contact_id":"12744"}
[2026-04-18 15:19:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 15:19:09] [INFO] getContactPrimaryPhone result {"contact_id":"12744","person_found":true,"primary_phone":"9387121570"}
[2026-04-18 15:19:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9387121570"}
[2026-04-18 15:19:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9387121570","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 15:19:09"}
[2026-04-18 15:19:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","existing_deal_found":true,"existing_contact_id":"12744","existing_title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 15:19:09"}
[2026-04-18 15:19:09] [INFO] DealController.save validated payments {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 15:19:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12744","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 15:19:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7fa564ab056.29171629","contact_didar_id":"12744","title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9387121570","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسین معتمدی","existing_deal":"YES","existing_deal_id":"local_69c7fa564ab056.29171629","existing_deal_status":"Pending","server_time":"2026-04-18 15:19:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 15:19:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 15:19:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":39000000,"server_time":"2026-04-18 15:19:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 15:19:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-18 15:19:36] [INFO] Checking activity reminders 
[2026-04-18 15:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:19:39] [INFO] Checking activity reminders 
[2026-04-18 15:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:20:09] [INFO] Checking activity reminders 
[2026-04-18 15:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:20:39] [INFO] Checking activity reminders 
[2026-04-18 15:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:21:09] [INFO] Checking activity reminders 
[2026-04-18 15:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:21:39] [INFO] Checking activity reminders 
[2026-04-18 15:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:22:09] [INFO] Checking activity reminders 
[2026-04-18 15:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:22:26] [INFO] Checking activity reminders 
[2026-04-18 15:22:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:22:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:22:39] [INFO] Checking activity reminders 
[2026-04-18 15:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:22:56] [INFO] Checking activity reminders 
[2026-04-18 15:22:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:22:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:23:09] [INFO] Checking activity reminders 
[2026-04-18 15:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:23:26] [INFO] Checking activity reminders 
[2026-04-18 15:23:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:23:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:23:39] [INFO] Checking activity reminders 
[2026-04-18 15:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:23:56] [INFO] Checking activity reminders 
[2026-04-18 15:23:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:23:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:24:10] [INFO] Checking activity reminders 
[2026-04-18 15:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:24:26] [INFO] Checking activity reminders 
[2026-04-18 15:24:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:24:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:24:40] [INFO] Checking activity reminders 
[2026-04-18 15:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:24:53] [INFO] Checking activity reminders 
[2026-04-18 15:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:24:56] [INFO] Checking activity reminders 
[2026-04-18 15:24:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:24:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:25:10] [INFO] Checking activity reminders 
[2026-04-18 15:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:25:26] [INFO] Checking activity reminders 
[2026-04-18 15:25:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:25:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:25:40] [INFO] Checking activity reminders 
[2026-04-18 15:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:25:56] [INFO] Checking activity reminders 
[2026-04-18 15:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:26:10] [INFO] Checking activity reminders 
[2026-04-18 15:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:26:26] [INFO] Checking activity reminders 
[2026-04-18 15:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:26:40] [INFO] Checking activity reminders 
[2026-04-18 15:26:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:26:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:26:56] [INFO] Checking activity reminders 
[2026-04-18 15:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:27:10] [INFO] Checking activity reminders 
[2026-04-18 15:27:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:27:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:27:26] [INFO] Checking activity reminders 
[2026-04-18 15:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:27:40] [INFO] Checking activity reminders 
[2026-04-18 15:27:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:27:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:27:52] [INFO] Checking activity reminders 
[2026-04-18 15:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:27:56] [INFO] Checking activity reminders 
[2026-04-18 15:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:28:23] [INFO] Checking activity reminders 
[2026-04-18 15:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:28:27] [INFO] Checking activity reminders 
[2026-04-18 15:28:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:28:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:28:36] [INFO] Checking activity reminders 
[2026-04-18 15:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:28:57] [INFO] Checking activity reminders 
[2026-04-18 15:28:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:28:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:29:06] [INFO] Checking activity reminders 
[2026-04-18 15:29:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:29:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:29:27] [INFO] Checking activity reminders 
[2026-04-18 15:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:29:36] [INFO] Checking activity reminders 
[2026-04-18 15:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:29:38] [INFO] Checking activity reminders 
[2026-04-18 15:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:29:57] [INFO] Checking activity reminders 
[2026-04-18 15:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:30:08] [INFO] Checking activity reminders 
[2026-04-18 15:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:30:27] [INFO] Checking activity reminders 
[2026-04-18 15:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:30:38] [INFO] Checking activity reminders 
[2026-04-18 15:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:30:57] [INFO] Checking activity reminders 
[2026-04-18 15:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:31:08] [INFO] Checking activity reminders 
[2026-04-18 15:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:31:27] [INFO] Checking activity reminders 
[2026-04-18 15:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:31:38] [INFO] Checking activity reminders 
[2026-04-18 15:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:31:57] [INFO] Checking activity reminders 
[2026-04-18 15:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:32:08] [INFO] Checking activity reminders 
[2026-04-18 15:32:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:32:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:32:27] [INFO] Checking activity reminders 
[2026-04-18 15:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:32:38] [INFO] Checking activity reminders 
[2026-04-18 15:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:32:57] [INFO] Checking activity reminders 
[2026-04-18 15:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:33:08] [INFO] Checking activity reminders 
[2026-04-18 15:33:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:33:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:33:27] [INFO] Checking activity reminders 
[2026-04-18 15:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:33:39] [INFO] Checking activity reminders 
[2026-04-18 15:33:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:33:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:33:48] [INFO] Checking activity reminders 
[2026-04-18 15:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:33:57] [INFO] Checking activity reminders 
[2026-04-18 15:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:09] [INFO] Checking activity reminders 
[2026-04-18 15:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:14] [INFO] Checking activity reminders 
[2026-04-18 15:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:27] [INFO] Checking activity reminders 
[2026-04-18 15:34:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:39] [INFO] Checking activity reminders 
[2026-04-18 15:34:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:57] [INFO] Checking activity reminders 
[2026-04-18 15:34:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:34:58] [INFO] Checking activity reminders 
[2026-04-18 15:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:35:09] [INFO] Checking activity reminders 
[2026-04-18 15:35:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:35:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:35:19] [INFO] Checking activity reminders 
[2026-04-18 15:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:35:28] [INFO] Checking activity reminders 
[2026-04-18 15:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:35:39] [INFO] Checking activity reminders 
[2026-04-18 15:35:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:35:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:35:58] [INFO] Checking activity reminders 
[2026-04-18 15:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:09] [INFO] Checking activity reminders 
[2026-04-18 15:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:09] [INFO] Checking activity reminders 
[2026-04-18 15:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:22] [INFO] Checking activity reminders 
[2026-04-18 15:36:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:28] [INFO] Checking activity reminders 
[2026-04-18 15:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:39] [INFO] Checking activity reminders 
[2026-04-18 15:36:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:36:58] [INFO] Checking activity reminders 
[2026-04-18 15:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:37:09] [INFO] Checking activity reminders 
[2026-04-18 15:37:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:37:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:37:28] [INFO] Checking activity reminders 
[2026-04-18 15:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:37:39] [INFO] Checking activity reminders 
[2026-04-18 15:37:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:37:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:37:58] [INFO] Checking activity reminders 
[2026-04-18 15:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:38:09] [INFO] Checking activity reminders 
[2026-04-18 15:38:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:38:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:38:28] [INFO] Checking activity reminders 
[2026-04-18 15:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:38:39] [INFO] Checking activity reminders 
[2026-04-18 15:38:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:38:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:38:58] [INFO] Checking activity reminders 
[2026-04-18 15:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:39:09] [INFO] Checking activity reminders 
[2026-04-18 15:39:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:39:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:39:28] [INFO] Checking activity reminders 
[2026-04-18 15:39:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:39:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:39:39] [INFO] Checking activity reminders 
[2026-04-18 15:39:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:39:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:39:59] [INFO] Checking activity reminders 
[2026-04-18 15:39:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:39:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:40:09] [INFO] Checking activity reminders 
[2026-04-18 15:40:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:40:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:40:29] [INFO] Checking activity reminders 
[2026-04-18 15:40:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:40:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:40:40] [INFO] Checking activity reminders 
[2026-04-18 15:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:40:59] [INFO] Checking activity reminders 
[2026-04-18 15:40:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:40:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:41:10] [INFO] Checking activity reminders 
[2026-04-18 15:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:41:29] [INFO] Checking activity reminders 
[2026-04-18 15:41:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:41:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:41:40] [INFO] Checking activity reminders 
[2026-04-18 15:41:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:41:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:41:59] [INFO] Checking activity reminders 
[2026-04-18 15:41:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:41:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:42:10] [INFO] Checking activity reminders 
[2026-04-18 15:42:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:42:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:42:29] [INFO] Checking activity reminders 
[2026-04-18 15:42:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:42:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:42:40] [INFO] Checking activity reminders 
[2026-04-18 15:42:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:42:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:42:42] [INFO] Checking activity reminders 
[2026-04-18 15:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:42:59] [INFO] Checking activity reminders 
[2026-04-18 15:42:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:42:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:04] [INFO] Checking activity reminders 
[2026-04-18 15:43:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-18 15:43:10] [INFO] Checking activity reminders 
[2026-04-18 15:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:29] [INFO] Checking activity reminders 
[2026-04-18 15:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:36] [INFO] Checking activity reminders 
[2026-04-18 15:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:40] [INFO] Checking activity reminders 
[2026-04-18 15:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:43:59] [INFO] Checking activity reminders 
[2026-04-18 15:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:44:10] [INFO] Checking activity reminders 
[2026-04-18 15:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:44:29] [INFO] Checking activity reminders 
[2026-04-18 15:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:44:40] [INFO] Checking activity reminders 
[2026-04-18 15:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:45:00] [INFO] Checking activity reminders 
[2026-04-18 15:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:45:10] [INFO] Checking activity reminders 
[2026-04-18 15:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:45:30] [INFO] Checking activity reminders 
[2026-04-18 15:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:45:40] [INFO] Checking activity reminders 
[2026-04-18 15:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:46:00] [INFO] Checking activity reminders 
[2026-04-18 15:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:46:11] [INFO] Checking activity reminders 
[2026-04-18 15:46:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:46:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:46:30] [INFO] Checking activity reminders 
[2026-04-18 15:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:46:41] [INFO] Checking activity reminders 
[2026-04-18 15:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:47:00] [INFO] Checking activity reminders 
[2026-04-18 15:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:47:11] [INFO] Checking activity reminders 
[2026-04-18 15:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:47:30] [INFO] Checking activity reminders 
[2026-04-18 15:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:47:41] [INFO] Checking activity reminders 
[2026-04-18 15:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:47:59] [INFO] Checking activity reminders 
[2026-04-18 15:47:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:47:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:48:00] [INFO] Checking activity reminders 
[2026-04-18 15:48:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:48:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:48:29] [INFO] Checking activity reminders 
[2026-04-18 15:48:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:48:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:48:30] [INFO] Checking activity reminders 
[2026-04-18 15:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:48:59] [INFO] Checking activity reminders 
[2026-04-18 15:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:49:00] [INFO] Checking activity reminders 
[2026-04-18 15:49:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:49:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:49:29] [INFO] Checking activity reminders 
[2026-04-18 15:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:49:30] [INFO] Checking activity reminders 
[2026-04-18 15:49:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:49:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:50:00] [INFO] Checking activity reminders 
[2026-04-18 15:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:50:00] [INFO] Checking activity reminders 
[2026-04-18 15:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:50:30] [INFO] Checking activity reminders 
[2026-04-18 15:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:50:30] [INFO] Checking activity reminders 
[2026-04-18 15:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:51:00] [INFO] Checking activity reminders 
[2026-04-18 15:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:51:00] [INFO] Checking activity reminders 
[2026-04-18 15:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:51:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:51:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:51:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:51:30] [INFO] Checking activity reminders 
[2026-04-18 15:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:51:30] [INFO] Checking activity reminders 
[2026-04-18 15:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:00] [INFO] Checking activity reminders 
[2026-04-18 15:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:01] [INFO] Checking activity reminders 
[2026-04-18 15:52:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:30] [INFO] Checking activity reminders 
[2026-04-18 15:52:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:31] [INFO] Checking activity reminders 
[2026-04-18 15:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:56] [INFO] Checking activity reminders 
[2026-04-18 15:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:52:57] [INFO] Checking activity reminders 
[2026-04-18 15:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:53:01] [INFO] Checking activity reminders 
[2026-04-18 15:53:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:53:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:53:27] [INFO] Checking activity reminders 
[2026-04-18 15:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:53:31] [INFO] Checking activity reminders 
[2026-04-18 15:53:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:53:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:53:58] [INFO] Checking activity reminders 
[2026-04-18 15:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:54:01] [INFO] Checking activity reminders 
[2026-04-18 15:54:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:54:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:54:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:54:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:54:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:54:28] [INFO] Checking activity reminders 
[2026-04-18 15:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:54:31] [INFO] Checking activity reminders 
[2026-04-18 15:54:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:54:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:54:58] [INFO] Checking activity reminders 
[2026-04-18 15:54:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:54:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:55:01] [INFO] Checking activity reminders 
[2026-04-18 15:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:55:28] [INFO] Checking activity reminders 
[2026-04-18 15:55:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:55:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:55:31] [INFO] Checking activity reminders 
[2026-04-18 15:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:55:58] [INFO] Checking activity reminders 
[2026-04-18 15:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:56:01] [INFO] Checking activity reminders 
[2026-04-18 15:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:56:28] [INFO] Checking activity reminders 
[2026-04-18 15:56:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:56:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:56:31] [INFO] Checking activity reminders 
[2026-04-18 15:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:56:58] [INFO] Checking activity reminders 
[2026-04-18 15:56:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:56:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:57:01] [INFO] Checking activity reminders 
[2026-04-18 15:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 15:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 15:57:28] [INFO] Checking activity reminders 
[2026-04-18 15:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:57:31] [INFO] Checking activity reminders 
[2026-04-18 15:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:57:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 15:57:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 15:57:58] [INFO] Checking activity reminders 
[2026-04-18 15:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:58:01] [INFO] Checking activity reminders 
[2026-04-18 15:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:58:28] [INFO] Checking activity reminders 
[2026-04-18 15:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:58:31] [INFO] Checking activity reminders 
[2026-04-18 15:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:58:58] [INFO] Checking activity reminders 
[2026-04-18 15:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:59:01] [INFO] Checking activity reminders 
[2026-04-18 15:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:59:28] [INFO] Checking activity reminders 
[2026-04-18 15:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:59:31] [INFO] Checking activity reminders 
[2026-04-18 15:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 15:59:59] [INFO] Checking activity reminders 
[2026-04-18 15:59:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 15:59:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:00:02] [INFO] Checking activity reminders 
[2026-04-18 16:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:00:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:00:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 16:00:03] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:00:29] [INFO] Checking activity reminders 
[2026-04-18 16:00:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:00:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:00:32] [INFO] Checking activity reminders 
[2026-04-18 16:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:00:59] [INFO] Checking activity reminders 
[2026-04-18 16:00:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:00:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:01:02] [INFO] Checking activity reminders 
[2026-04-18 16:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:01:30] [INFO] Checking activity reminders 
[2026-04-18 16:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:01:32] [INFO] Checking activity reminders 
[2026-04-18 16:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:02:00] [INFO] Checking activity reminders 
[2026-04-18 16:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_leads"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:22] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:29] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:30] [INFO] Checking activity reminders 
[2026-04-18 16:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:02:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-18 16:02:40] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:41] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:44] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:47] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 16:02:51] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:52] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:58] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:58] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 16:02:58] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 16:02:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 16:02:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 16:02:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 16:02:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 16:02:59] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:02:59] [WARNING] Login attempt failed - wrong password {"user_id":"10","identifier":"خانم  بردبار"}
[2026-04-18 16:03:00] [INFO] Checking activity reminders 
[2026-04-18 16:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:03:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:07] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:03:07] [INFO] User logged in {"user_id":"10","email":"hanaficars.academy5@gmail.com","role":"agent","via_master":false}
[2026-04-18 16:03:16] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 16:03:29] [INFO] Checking activity reminders 
[2026-04-18 16:03:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:03:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:03:30] [INFO] Checking activity reminders 
[2026-04-18 16:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:03:46] [INFO] Checking activity reminders 
[2026-04-18 16:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:03:47] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:03:47","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:47] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"7918","is_new_deal":false}
[2026-04-18 16:03:47] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:03:47] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:03:47] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:03:47] [INFO] getContactPrimaryPhone called {"contact_id":"7918"}
[2026-04-18 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:47] [INFO] getContactPrimaryPhone result {"contact_id":"7918","person_found":true,"primary_phone":"9904415700"}
[2026-04-18 16:03:47] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9904415700"}
[2026-04-18 16:03:47] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9904415700","contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:03:47"}
[2026-04-18 16:03:47] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","existing_deal_found":true,"existing_contact_id":"7918","existing_title":"معامله پنجم 9904415700 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:03:47"}
[2026-04-18 16:03:47] [INFO] DealController.save validated payments {"deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","payments_count":3,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:03:47] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7918","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:03:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7f9e549b7b3.48363944","contact_didar_id":"7918","title":"معامله پنجم 9904415700 | کانال VIP بدون پشتیبان","base_title_used":"معامله پنجم 9904415700","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حامد رضایی","existing_deal":"YES","existing_deal_id":"local_69c7f9e549b7b3.48363944","existing_deal_status":"Won","server_time":"2026-04-18 16:03:47","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:47] [INFO] Deal success processed {"contact_id":"7918","person_name":"حامد رضایی","products_count":1}
[2026-04-18 16:03:47] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7f9e549b7b3.48363944","contact_id":"7918","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله پنجم 9904415700 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 16:03:47","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:47] [INFO] Updating virtual stage {"contact_id":"7918","stage_name":"with_purchase","force":true}
[2026-04-18 16:03:47] [INFO] Virtual stage successfully saved {"contact_id":"7918","stage_name":"with_purchase"}
[2026-04-18 16:03:47] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7918","deal_id":"local_69c7f9e549b7b3.48363944","target_stage":"with_purchase"}
[2026-04-18 16:03:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:03:59] [INFO] Checking activity reminders 
[2026-04-18 16:03:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:03:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:04:00] [INFO] Checking activity reminders 
[2026-04-18 16:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-18 16:04:27] [WARNING] Auth check failed - not authenticated {"session_id":"ugq8lca6taltpmhi49rvip6fnf","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:04:28] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-18 16:04:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 16:04:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 16:04:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 16:04:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 16:04:30] [INFO] Checking activity reminders 
[2026-04-18 16:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:04:39] [INFO] Checking activity reminders 
[2026-04-18 16:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-18 16:04:49] [INFO] Checking activity reminders 
[2026-04-18 16:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:05:00] [INFO] Checking activity reminders 
[2026-04-18 16:05:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:05:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:05:30] [INFO] Checking activity reminders 
[2026-04-18 16:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:05:35] [INFO] Checking activity reminders 
[2026-04-18 16:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:06:00] [INFO] Checking activity reminders 
[2026-04-18 16:06:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:06:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:06:07] [INFO] Checking activity reminders 
[2026-04-18 16:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:06:29] [INFO] Checking activity reminders 
[2026-04-18 16:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:06:31] [INFO] Checking activity reminders 
[2026-04-18 16:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:06:37] [INFO] Checking activity reminders 
[2026-04-18 16:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:07:01] [INFO] Checking activity reminders 
[2026-04-18 16:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:07:31] [INFO] Checking activity reminders 
[2026-04-18 16:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:08:01] [INFO] Checking activity reminders 
[2026-04-18 16:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:08:31] [INFO] Checking activity reminders 
[2026-04-18 16:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:08:36] [INFO] Checking activity reminders 
[2026-04-18 16:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:08:43] [INFO] Checking activity reminders 
[2026-04-18 16:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:00] [INFO] Checking activity reminders 
[2026-04-18 16:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:01] [INFO] Checking activity reminders 
[2026-04-18 16:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1546","person_id":"19727"}
[2026-04-18 16:09:13] [INFO] Checking activity reminders 
[2026-04-18 16:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1546","person_id":"19727"}
[2026-04-18 16:09:31] [INFO] Checking activity reminders 
[2026-04-18 16:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:43] [INFO] Checking activity reminders 
[2026-04-18 16:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:09:51] [ERROR] Failed to get support logs {"contact_id":"1546","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-18 16:09:51] [ERROR] Error getting support logs {"contact_id":"1546","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-18 16:09:57] [INFO] Checking activity reminders 
[2026-04-18 16:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:01] [INFO] Checking activity reminders 
[2026-04-18 16:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:13] [INFO] Checking activity reminders 
[2026-04-18 16:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:22] [INFO] Checking activity reminders 
[2026-04-18 16:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:24] [INFO] Checking activity reminders 
[2026-04-18 16:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:31] [INFO] Checking activity reminders 
[2026-04-18 16:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-18 16:10:47] [INFO] Checking activity reminders 
[2026-04-18 16:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 16:10:54] [INFO] Checking activity reminders 
[2026-04-18 16:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:11:01] [INFO] Checking activity reminders 
[2026-04-18 16:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:11:01] [INFO] Lead update received {"contact_id":"21037","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 16:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 16:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 16:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 16:11:01] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21037"}
[2026-04-18 16:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 16:11:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14258","person_id":"12236"}
[2026-04-18 16:11:24] [INFO] Checking activity reminders 
[2026-04-18 16:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:11:31] [INFO] Checking activity reminders 
[2026-04-18 16:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:11:54] [INFO] Checking activity reminders 
[2026-04-18 16:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:02] [INFO] Checking activity reminders 
[2026-04-18 16:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:12:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:12:03] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_152","person_name":"نیکخواه","mobile":"9126407493","existing_deals":0,"ordinal":"اول","title":"معامله اول 9126407493"}
[2026-04-18 16:12:03] [INFO] Checking activity reminders 
[2026-04-18 16:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:12] [INFO] Checking activity reminders 
[2026-04-18 16:12:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:12:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:32] [INFO] Checking activity reminders 
[2026-04-18 16:12:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:12:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:33] [INFO] Checking activity reminders 
[2026-04-18 16:12:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:12:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14906","person_id":"10470"}
[2026-04-18 16:12:45] [ERROR] Failed to get support logs {"contact_id":"14906","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-18 16:12:45] [ERROR] Error getting support logs {"contact_id":"14906","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-18 16:13:02] [INFO] Checking activity reminders 
[2026-04-18 16:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:13:21] [INFO] Checking activity reminders 
[2026-04-18 16:13:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:13:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:13:30] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"local_1403_09_26_152","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:13:30","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"local_1403_09_26_152","is_new_deal":true}
[2026-04-18 16:13:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:13:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:13:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 16:13:30] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_152"}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:30] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_152","person_found":true,"primary_phone":"9126407493"}
[2026-04-18 16:13:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126407493"}
[2026-04-18 16:13:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126407493","contact_id":"local_1403_09_26_152","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 16:13:30"}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:30] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_152","person_name":"نیکخواه","mobile":"9126407493","existing_deals":0,"ordinal":"اول","title":"معامله اول 9126407493"}
[2026-04-18 16:13:30] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_1403_09_26_152","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-18 16:13:30] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_1403_09_26_152","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 16:13:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_1403_09_26_152","title":"معامله اول 9126407493 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9126407493","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"نیکخواه","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 16:13:30","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:30] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 16:13:30] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_1403_09_26_152","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9126407493 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-18 16:13:30","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:13:31] [INFO] Checking activity reminders 
[2026-04-18 16:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:13:32] [INFO] Checking activity reminders 
[2026-04-18 16:13:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:13:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:13:36] [INFO] Checking activity reminders 
[2026-04-18 16:13:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:13:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:13:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-18 16:13:56] [INFO] Lead update received {"contact_id":"11874","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 16:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-18 16:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-18 16:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-18 16:13:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11874"}
[2026-04-18 16:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-18 16:14:02] [INFO] Checking activity reminders 
[2026-04-18 16:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:10] [INFO] Checking activity reminders 
[2026-04-18 16:14:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-18 16:14:16] [INFO] Checking activity reminders 
[2026-04-18 16:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:24] [INFO] Checking activity reminders 
[2026-04-18 16:14:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:32] [INFO] Checking activity reminders 
[2026-04-18 16:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:33] [INFO] Checking activity reminders 
[2026-04-18 16:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:14:53] [INFO] Checking activity reminders 
[2026-04-18 16:14:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:14:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:15:02] [INFO] Checking activity reminders 
[2026-04-18 16:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20988","person_id":"6919"}
[2026-04-18 16:15:15] [INFO] Checking activity reminders 
[2026-04-18 16:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:15:23] [INFO] Checking activity reminders 
[2026-04-18 16:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:15:32] [INFO] Checking activity reminders 
[2026-04-18 16:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:15:53] [INFO] Checking activity reminders 
[2026-04-18 16:15:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:15:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:02] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_152","deal_id":"local_69e37c72611085.81763851","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تمام سرمایه در طلای فیزیکی \r\nبرای کانال شرایط جنگ پیش اومد فکر کرده 1000 دلاره \r\nمجدد پرزنت 54 تومانی \r\n20 بیعانه واریز \r\nتسویه در اردیبهشت \r\nارسال شماره کارت در بله ","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 16:16:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_152","note_was_empty":true}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:02] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"new","force":false}
[2026-04-18 16:16:02] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"new"}
[2026-04-18 16:16:02] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-18 16:16:02] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e37c72611085.81763851","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 16:16:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e37d0ac9e0e3.05803405","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69e37d0ac9e0e3.05803405"}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:02] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered","force":false}
[2026-04-18 16:16:02] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered"}
[2026-04-18 16:16:02] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-18 16:16:02] [INFO] Checking activity reminders 
[2026-04-18 16:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-18 16:16:05] [INFO] Checking activity reminders 
[2026-04-18 16:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:07] [INFO] Checking activity reminders 
[2026-04-18 16:16:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:16:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20988","person_id":"6919"}
[2026-04-18 16:16:36] [INFO] Checking activity reminders 
[2026-04-18 16:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:37] [INFO] Checking activity reminders 
[2026-04-18 16:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:16:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-18 16:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:17:06] [INFO] Checking activity reminders 
[2026-04-18 16:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:17:08] [INFO] Checking activity reminders 
[2026-04-18 16:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-18 16:17:36] [INFO] Checking activity reminders 
[2026-04-18 16:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:17:37] [INFO] Checking activity reminders 
[2026-04-18 16:17:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:17:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:17:53] [INFO] Checking activity reminders 
[2026-04-18 16:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:18:05] [INFO] Checking activity reminders 
[2026-04-18 16:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:18:06] [INFO] Checking activity reminders 
[2026-04-18 16:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:18:36] [INFO] Checking activity reminders 
[2026-04-18 16:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:19:06] [INFO] Checking activity reminders 
[2026-04-18 16:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:19:36] [INFO] Checking activity reminders 
[2026-04-18 16:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:19:46] [INFO] Checking activity reminders 
[2026-04-18 16:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:19:48] [INFO] generateDealTitle result {"contact_id":"local_1403_09_26_30","person_name":"پاکدامن","mobile":"9122342663","existing_deals":0,"ordinal":"اول","title":"معامله اول 9122342663"}
[2026-04-18 16:19:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:20:03] [INFO] Checking activity reminders 
[2026-04-18 16:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:20:06] [INFO] Checking activity reminders 
[2026-04-18 16:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:20:15] [INFO] Checking activity reminders 
[2026-04-18 16:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:20:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:20:34] [INFO] Checking activity reminders 
[2026-04-18 16:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:20:36] [INFO] Checking activity reminders 
[2026-04-18 16:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:20:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1287","deal_id":"local_695b9016428ce3.84832385","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:20:36","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:20:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:20:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1287","is_new_deal":false}
[2026-04-18 16:20:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:20:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:20:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:20:36] [INFO] getContactPrimaryPhone called {"contact_id":"1287"}
[2026-04-18 16:20:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:20:36] [INFO] getContactPrimaryPhone result {"contact_id":"1287","person_found":true,"primary_phone":"9166122906"}
[2026-04-18 16:20:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9166122906"}
[2026-04-18 16:20:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9166122906","contact_id":"1287","deal_id":"local_695b9016428ce3.84832385","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:20:36"}
[2026-04-18 16:20:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b9016428ce3.84832385","contact_id":"1287","existing_deal_found":true,"existing_contact_id":"1287","existing_title":"معامله دوم 9166122906 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:20:36"}
[2026-04-18 16:20:36] [INFO] DealController.save validated payments {"deal_id":"local_695b9016428ce3.84832385","contact_id":"1287","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:20:36] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1287","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:20:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b9016428ce3.84832385","contact_didar_id":"1287","title":"معامله دوم 9166122906 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9166122906","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":49000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"ابوالفضل معلانی","existing_deal":"YES","existing_deal_id":"local_695b9016428ce3.84832385","existing_deal_status":"Pending","server_time":"2026-04-18 16:20:36","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:20:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:20:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b9016428ce3.84832385","contact_id":"1287","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9166122906 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":49000000,"server_time":"2026-04-18 16:20:36","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:20:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:20:56] [INFO] Checking activity reminders 
[2026-04-18 16:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:21:06] [INFO] Checking activity reminders 
[2026-04-18 16:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:21:35] [INFO] Checking activity reminders 
[2026-04-18 16:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:21:36] [INFO] Checking activity reminders 
[2026-04-18 16:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:21:39] [INFO] Checking activity reminders 
[2026-04-18 16:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:22:07] [INFO] Checking activity reminders 
[2026-04-18 16:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:22:09] [INFO] Checking activity reminders 
[2026-04-18 16:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:22:37] [INFO] Checking activity reminders 
[2026-04-18 16:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:23:07] [INFO] Checking activity reminders 
[2026-04-18 16:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:23:37] [INFO] Checking activity reminders 
[2026-04-18 16:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:24:04] [INFO] Checking activity reminders 
[2026-04-18 16:24:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:24:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:24:07] [INFO] Checking activity reminders 
[2026-04-18 16:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:24:35] [INFO] Checking activity reminders 
[2026-04-18 16:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:24:37] [INFO] Checking activity reminders 
[2026-04-18 16:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:25:07] [INFO] Checking activity reminders 
[2026-04-18 16:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:25:28] [INFO] Checking activity reminders 
[2026-04-18 16:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:25:37] [INFO] Checking activity reminders 
[2026-04-18 16:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:26:07] [INFO] Checking activity reminders 
[2026-04-18 16:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:26:13] [INFO] Checking activity reminders 
[2026-04-18 16:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:26:18] [INFO] Checking activity reminders 
[2026-04-18 16:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:26:35] [INFO] Checking activity reminders 
[2026-04-18 16:26:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:26:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:26:37] [INFO] Checking activity reminders 
[2026-04-18 16:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:27:05] [INFO] Checking activity reminders 
[2026-04-18 16:27:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:27:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:27:07] [INFO] Checking activity reminders 
[2026-04-18 16:27:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:27:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:27:37] [INFO] Checking activity reminders 
[2026-04-18 16:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:27:47] [INFO] Checking activity reminders 
[2026-04-18 16:27:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:27:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:00] [INFO] Checking activity reminders 
[2026-04-18 16:28:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:08] [INFO] Checking activity reminders 
[2026-04-18 16:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:14] [INFO] Checking activity reminders 
[2026-04-18 16:28:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-18 16:28:19] [INFO] Checking activity reminders 
[2026-04-18 16:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:38] [INFO] Checking activity reminders 
[2026-04-18 16:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:44] [INFO] Checking activity reminders 
[2026-04-18 16:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:28:50] [INFO] Checking activity reminders 
[2026-04-18 16:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:08] [INFO] Checking activity reminders 
[2026-04-18 16:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:14] [INFO] Checking activity reminders 
[2026-04-18 16:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:20] [INFO] Checking activity reminders 
[2026-04-18 16:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:27] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_30","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت 405 \/ میگه برای من خیلی یکساله زیاده \r\nبهش 6 ماهه معرفی کردم \r\nشهرستان بود \/ جهت یاداوری تشکر کرد \r\nتا اخر هفته میاد تهران هماهنگ میکنه ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:29:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 16:29:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:29:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_30","note_was_empty":true}
[2026-04-18 16:29:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3802facd122.94633645","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:29:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3802facd122.94633645"}
[2026-04-18 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:29:27] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_30","stage_name":"contact_followup","force":false}
[2026-04-18 16:29:27] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_30","stage_name":"contact_followup"}
[2026-04-18 16:29:27] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_30"}
[2026-04-18 16:29:27] [INFO] Checking activity reminders 
[2026-04-18 16:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-18 16:29:38] [INFO] Checking activity reminders 
[2026-04-18 16:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:50] [INFO] Checking activity reminders 
[2026-04-18 16:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:29:59] [INFO] Checking activity reminders 
[2026-04-18 16:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:30:08] [INFO] Checking activity reminders 
[2026-04-18 16:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:30:20] [INFO] Checking activity reminders 
[2026-04-18 16:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:30:38] [INFO] Checking activity reminders 
[2026-04-18 16:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:30:50] [INFO] Checking activity reminders 
[2026-04-18 16:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:31:08] [INFO] Checking activity reminders 
[2026-04-18 16:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:31:20] [INFO] Checking activity reminders 
[2026-04-18 16:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:31:38] [INFO] Checking activity reminders 
[2026-04-18 16:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:31:50] [INFO] Checking activity reminders 
[2026-04-18 16:31:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:31:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:08] [INFO] Checking activity reminders 
[2026-04-18 16:32:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:32:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:32:11] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"3248","deal_id":"local_695e3277905852.02397200","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:32:11","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:32:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"3248","is_new_deal":false}
[2026-04-18 16:32:11] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-18 16:32:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-18 16:32:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-18 16:32:11] [INFO] getContactPrimaryPhone called {"contact_id":"3248"}
[2026-04-18 16:32:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:11] [INFO] getContactPrimaryPhone result {"contact_id":"3248","person_found":true,"primary_phone":"9126524561"}
[2026-04-18 16:32:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126524561"}
[2026-04-18 16:32:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126524561","contact_id":"3248","deal_id":"local_695e3277905852.02397200","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:32:11"}
[2026-04-18 16:32:11] [INFO] DealController.save existing deal lookup {"deal_id":"local_695e3277905852.02397200","contact_id":"3248","existing_deal_found":true,"existing_contact_id":"3248","existing_title":"معامله سوم 9126524561 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:32:11"}
[2026-04-18 16:32:11] [INFO] DealController.save validated payments {"deal_id":"local_695e3277905852.02397200","contact_id":"3248","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 16:32:11] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"3248","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:32:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695e3277905852.02397200","contact_didar_id":"3248","title":"معامله سوم 9126524561 | CIP","base_title_used":"معامله سوم 9126524561","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"سیدهادی عبادی","existing_deal":"YES","existing_deal_id":"local_695e3277905852.02397200","existing_deal_status":"Pending","server_time":"2026-04-18 16:32:11","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:32:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:11] [INFO] Deal success processed {"contact_id":"3248","person_name":"سیدهادی عبادی","products_count":1}
[2026-04-18 16:32:11] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695e3277905852.02397200","contact_id":"3248","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9126524561 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-18 16:32:11","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:32:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:11] [INFO] Updating virtual stage {"contact_id":"3248","stage_name":"with_purchase","force":true}
[2026-04-18 16:32:11] [INFO] Virtual stage successfully saved {"contact_id":"3248","stage_name":"with_purchase"}
[2026-04-18 16:32:11] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3248","deal_id":"local_695e3277905852.02397200","target_stage":"with_purchase"}
[2026-04-18 16:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:32:13] [INFO] Checking activity reminders 
[2026-04-18 16:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:32:20] [INFO] Checking activity reminders 
[2026-04-18 16:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:32:38] [INFO] Checking activity reminders 
[2026-04-18 16:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:32:50] [INFO] Checking activity reminders 
[2026-04-18 16:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:32:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2753","person_id":"14365"}
[2026-04-18 16:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:21] [INFO] Checking activity reminders 
[2026-04-18 16:33:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:33:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:33:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_699162b9846618.87148560","deal_id":"local_699162b986015","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:33:50","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_699162b9846618.87148560","is_new_deal":false}
[2026-04-18 16:33:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:33:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:33:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:33:50] [INFO] getContactPrimaryPhone called {"contact_id":"local_699162b9846618.87148560"}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:50] [INFO] getContactPrimaryPhone result {"contact_id":"local_699162b9846618.87148560","person_found":true,"primary_phone":"9111317237"}
[2026-04-18 16:33:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111317237"}
[2026-04-18 16:33:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111317237","contact_id":"local_699162b9846618.87148560","deal_id":"local_699162b986015","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:33:50"}
[2026-04-18 16:33:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_699162b986015","contact_id":"local_699162b9846618.87148560","existing_deal_found":true,"existing_contact_id":"local_699162b9846618.87148560","existing_title":"معامله اول 9111317237 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:33:50"}
[2026-04-18 16:33:50] [INFO] DealController.save validated payments {"deal_id":"local_699162b986015","contact_id":"local_699162b9846618.87148560","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:33:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_699162b9846618.87148560","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:33:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699162b986015","contact_didar_id":"local_699162b9846618.87148560","title":"معامله اول 9111317237 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9111317237","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"کاظم زاده","existing_deal":"YES","existing_deal_id":"local_699162b986015","existing_deal_status":"Pending","server_time":"2026-04-18 16:33:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:50] [INFO] Deal success processed {"contact_id":"local_699162b9846618.87148560","person_name":"کاظم زاده","products_count":1}
[2026-04-18 16:33:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699162b986015","contact_id":"local_699162b9846618.87148560","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9111317237 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 16:33:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:50] [INFO] Updating virtual stage {"contact_id":"local_699162b9846618.87148560","stage_name":"with_purchase","force":true}
[2026-04-18 16:33:50] [INFO] Virtual stage successfully saved {"contact_id":"local_699162b9846618.87148560","stage_name":"with_purchase"}
[2026-04-18 16:33:50] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_699162b9846618.87148560","deal_id":"local_699162b986015","target_stage":"with_purchase"}
[2026-04-18 16:33:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699162b9846618.87148560","person_id":"21681"}
[2026-04-18 16:33:52] [INFO] Checking activity reminders 
[2026-04-18 16:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:33:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_6991615e6c80a5.60125528","deal_id":"local_6991615e6de8f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:34:13","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_6991615e6c80a5.60125528","is_new_deal":false}
[2026-04-18 16:34:13] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-18 16:34:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-18 16:34:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-18 16:34:13] [INFO] getContactPrimaryPhone called {"contact_id":"local_6991615e6c80a5.60125528"}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [INFO] getContactPrimaryPhone result {"contact_id":"local_6991615e6c80a5.60125528","person_found":true,"primary_phone":"9114378040"}
[2026-04-18 16:34:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9114378040"}
[2026-04-18 16:34:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9114378040","contact_id":"local_6991615e6c80a5.60125528","deal_id":"local_6991615e6de8f","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:34:13"}
[2026-04-18 16:34:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_6991615e6de8f","contact_id":"local_6991615e6c80a5.60125528","existing_deal_found":true,"existing_contact_id":"local_6991615e6c80a5.60125528","existing_title":"معامله اول 9114378040 | هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:34:13"}
[2026-04-18 16:34:13] [INFO] DealController.save validated payments {"deal_id":"local_6991615e6de8f","contact_id":"local_6991615e6c80a5.60125528","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 16:34:13] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_6991615e6c80a5.60125528","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:34:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6991615e6de8f","contact_didar_id":"local_6991615e6c80a5.60125528","title":"معامله اول 9114378040 | هوش خودرو","base_title_used":"معامله اول 9114378040","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"محمدرضا یونسی","existing_deal":"YES","existing_deal_id":"local_6991615e6de8f","existing_deal_status":"Pending","server_time":"2026-04-18 16:34:13","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [INFO] Deal success processed {"contact_id":"local_6991615e6c80a5.60125528","person_name":"محمدرضا یونسی","products_count":1}
[2026-04-18 16:34:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6991615e6de8f","contact_id":"local_6991615e6c80a5.60125528","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9114378040 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-04-18 16:34:13","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:13] [INFO] Updating virtual stage {"contact_id":"local_6991615e6c80a5.60125528","stage_name":"with_purchase","force":true}
[2026-04-18 16:34:13] [INFO] Virtual stage successfully saved {"contact_id":"local_6991615e6c80a5.60125528","stage_name":"with_purchase"}
[2026-04-18 16:34:13] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_6991615e6c80a5.60125528","deal_id":"local_6991615e6de8f","target_stage":"with_purchase"}
[2026-04-18 16:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6991615e6c80a5.60125528","person_id":"21672"}
[2026-04-18 16:34:22] [INFO] Checking activity reminders 
[2026-04-18 16:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:34:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:34:52] [INFO] Checking activity reminders 
[2026-04-18 16:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:34:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:23] [INFO] Checking activity reminders 
[2026-04-18 16:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:35:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"15070","deal_id":"local_6989b81d56b3c5.45464237","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:35:33","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"15070","is_new_deal":false}
[2026-04-18 16:35:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:35:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:35:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:35:33] [INFO] getContactPrimaryPhone called {"contact_id":"15070"}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:33] [INFO] getContactPrimaryPhone result {"contact_id":"15070","person_found":true,"primary_phone":"9128015578"}
[2026-04-18 16:35:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128015578"}
[2026-04-18 16:35:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128015578","contact_id":"15070","deal_id":"local_6989b81d56b3c5.45464237","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:35:33"}
[2026-04-18 16:35:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_6989b81d56b3c5.45464237","contact_id":"15070","existing_deal_found":true,"existing_contact_id":"15070","existing_title":"معامله سوم 9128015578 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:35:33"}
[2026-04-18 16:35:33] [INFO] DealController.save validated payments {"deal_id":"local_6989b81d56b3c5.45464237","contact_id":"15070","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:35:33] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"15070","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:35:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6989b81d56b3c5.45464237","contact_didar_id":"15070","title":"معامله سوم 9128015578 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9128015578","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"خانم شکری","existing_deal":"YES","existing_deal_id":"local_6989b81d56b3c5.45464237","existing_deal_status":"Pending","server_time":"2026-04-18 16:35:33","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:33] [INFO] Deal success processed {"contact_id":"15070","person_name":"خانم شکری","products_count":1}
[2026-04-18 16:35:33] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6989b81d56b3c5.45464237","contact_id":"15070","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9128015578 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 16:35:33","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:33] [INFO] Updating virtual stage {"contact_id":"15070","stage_name":"with_purchase","force":true}
[2026-04-18 16:35:33] [INFO] Virtual stage successfully saved {"contact_id":"15070","stage_name":"with_purchase"}
[2026-04-18 16:35:33] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15070","deal_id":"local_6989b81d56b3c5.45464237","target_stage":"with_purchase"}
[2026-04-18 16:35:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15070","person_id":"20716"}
[2026-04-18 16:35:53] [INFO] Checking activity reminders 
[2026-04-18 16:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:23] [INFO] Checking activity reminders 
[2026-04-18 16:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:23] [INFO] Checking activity reminders 
[2026-04-18 16:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:35] [INFO] Checking activity reminders 
[2026-04-18 16:36:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:36:53] [INFO] Checking activity reminders 
[2026-04-18 16:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:54] [INFO] Checking activity reminders 
[2026-04-18 16:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:36:57] [INFO] Checking activity reminders 
[2026-04-18 16:36:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:36:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:37:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"999","deal_id":"local_6950edea49f264.56610985","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:37:07","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"999","is_new_deal":false}
[2026-04-18 16:37:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:07] [INFO] getContactPrimaryPhone called {"contact_id":"999"}
[2026-04-18 16:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:07] [INFO] getContactPrimaryPhone result {"contact_id":"999","person_found":true,"primary_phone":"9133290572"}
[2026-04-18 16:37:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133290572"}
[2026-04-18 16:37:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133290572","contact_id":"999","deal_id":"local_6950edea49f264.56610985","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:37:07"}
[2026-04-18 16:37:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950edea49f264.56610985","contact_id":"999","existing_deal_found":true,"existing_contact_id":"999","existing_title":"معامله اول 9133290572 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:37:07"}
[2026-04-18 16:37:07] [INFO] DealController.save validated payments {"deal_id":"local_6950edea49f264.56610985","contact_id":"999","payments_count":3,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:37:07] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"999","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:37:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950edea49f264.56610985","contact_didar_id":"999","title":"معامله اول 9133290572 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9133290572","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"حمیدرضا احمدی","existing_deal":"YES","existing_deal_id":"local_6950edea49f264.56610985","existing_deal_status":"Pending","server_time":"2026-04-18 16:37:07","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950edea49f264.56610985","contact_id":"999","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133290572 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 16:37:07","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"999","deal_id":"local_6950edea49f264.56610985","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:37:19","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"999","is_new_deal":false}
[2026-04-18 16:37:19] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:19] [INFO] getContactPrimaryPhone called {"contact_id":"999"}
[2026-04-18 16:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [INFO] getContactPrimaryPhone result {"contact_id":"999","person_found":true,"primary_phone":"9133290572"}
[2026-04-18 16:37:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133290572"}
[2026-04-18 16:37:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133290572","contact_id":"999","deal_id":"local_6950edea49f264.56610985","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:37:19"}
[2026-04-18 16:37:19] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950edea49f264.56610985","contact_id":"999","existing_deal_found":true,"existing_contact_id":"999","existing_title":"معامله اول 9133290572 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:37:19"}
[2026-04-18 16:37:19] [INFO] DealController.save validated payments {"deal_id":"local_6950edea49f264.56610985","contact_id":"999","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 16:37:19] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"999","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:37:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950edea49f264.56610985","contact_didar_id":"999","title":"معامله اول 9133290572 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9133290572","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"حمیدرضا احمدی","existing_deal":"YES","existing_deal_id":"local_6950edea49f264.56610985","existing_deal_status":"Pending","server_time":"2026-04-18 16:37:19","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [INFO] Deal success processed {"contact_id":"999","person_name":"حمیدرضا احمدی","products_count":1}
[2026-04-18 16:37:19] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950edea49f264.56610985","contact_id":"999","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133290572 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 16:37:19","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:19] [INFO] Updating virtual stage {"contact_id":"999","stage_name":"with_purchase","force":true}
[2026-04-18 16:37:19] [INFO] Virtual stage successfully saved {"contact_id":"999","stage_name":"with_purchase"}
[2026-04-18 16:37:19] [INFO] Moved contact out of kariz after successful deal {"contact_id":"999","deal_id":"local_6950edea49f264.56610985","target_stage":"with_purchase"}
[2026-04-18 16:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-18 16:37:23] [INFO] Checking activity reminders 
[2026-04-18 16:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:37:27] [INFO] Checking activity reminders 
[2026-04-18 16:37:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:37:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:37:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:37:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4281","deal_id":"local_69998d5249e3c8.56066858","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:37:38","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:37:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4281","is_new_deal":false}
[2026-04-18 16:37:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:37:38] [INFO] getContactPrimaryPhone called {"contact_id":"4281"}
[2026-04-18 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:37:38] [INFO] getContactPrimaryPhone result {"contact_id":"4281","person_found":true,"primary_phone":"9125679202"}
[2026-04-18 16:37:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9125679202"}
[2026-04-18 16:37:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9125679202","contact_id":"4281","deal_id":"local_69998d5249e3c8.56066858","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 16:37:38"}
[2026-04-18 16:37:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69998d5249e3c8.56066858","contact_id":"4281","existing_deal_found":true,"existing_contact_id":"4281","existing_title":"معامله سوم 9125679202 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 16:37:38"}
[2026-04-18 16:37:38] [INFO] DealController.save validated payments {"deal_id":"local_69998d5249e3c8.56066858","contact_id":"4281","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 16:37:38] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"4281","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 16:37:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69998d5249e3c8.56066858","contact_didar_id":"4281","title":"معامله سوم 9125679202 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9125679202","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":41000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"چاووش چاووش","existing_deal":"YES","existing_deal_id":"local_69998d5249e3c8.56066858","existing_deal_status":"Pending","server_time":"2026-04-18 16:37:38","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:37:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69998d5249e3c8.56066858","contact_id":"4281","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9125679202 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":41000000,"server_time":"2026-04-18 16:37:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:37:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:37:53] [INFO] Checking activity reminders 
[2026-04-18 16:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:37:57] [INFO] Checking activity reminders 
[2026-04-18 16:37:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:37:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:38:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:38:07","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:38:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:38:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5166","is_new_deal":false}
[2026-04-18 16:38:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:38:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:38:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:38:07] [INFO] getContactPrimaryPhone called {"contact_id":"5166"}
[2026-04-18 16:38:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:38:07] [INFO] getContactPrimaryPhone result {"contact_id":"5166","person_found":true,"primary_phone":"9368367287"}
[2026-04-18 16:38:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9368367287"}
[2026-04-18 16:38:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9368367287","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:38:07"}
[2026-04-18 16:38:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","existing_deal_found":true,"existing_contact_id":"5166","existing_title":"معامله دوم 9368367287 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:38:07"}
[2026-04-18 16:38:07] [INFO] DealController.save validated payments {"deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:38:07] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"5166","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:38:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b8fb62b9680.66018036","contact_didar_id":"5166","title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9368367287","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"پویا علیزاده","existing_deal":"YES","existing_deal_id":"local_695b8fb62b9680.66018036","existing_deal_status":"Pending","server_time":"2026-04-18 16:38:07","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:38:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:38:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 16:38:07","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:38:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-18 16:38:24] [INFO] Checking activity reminders 
[2026-04-18 16:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:38:27] [INFO] Checking activity reminders 
[2026-04-18 16:38:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:38:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:38:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-18 16:38:54] [INFO] Checking activity reminders 
[2026-04-18 16:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:38:57] [INFO] Checking activity reminders 
[2026-04-18 16:38:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:38:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:39:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5057","person_id":"7656"}
[2026-04-18 16:39:19] [INFO] Activity save request {"post_data":{"contact_id":"4281","deal_id":"local_69998d5249e3c8.56066858","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"چک های مشتری اش پاس نشده \/ در طلا 18 خریده متضرر شده \r\nتا اخر اردیبهشت تسویه نکرد 6 اهه براش میزنم ","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 16:39:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4281","note_was_empty":true}
[2026-04-18 16:39:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"4281","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:19] [INFO] Updating virtual stage {"contact_id":"4281","stage_name":"deal_registered","force":false}
[2026-04-18 16:39:19] [INFO] Virtual stage successfully saved {"contact_id":"4281","stage_name":"deal_registered"}
[2026-04-18 16:39:19] [INFO] Virtual stage updated after activity save {"contact_id":"4281"}
[2026-04-18 16:39:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69998d5249e3c8.56066858","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 16:39:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3827f555fb0.33438287","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3827f555fb0.33438287"}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:19] [INFO] Updating virtual stage {"contact_id":"4281","stage_name":"deal_registered","force":false}
[2026-04-18 16:39:19] [INFO] Virtual stage successfully saved {"contact_id":"4281","stage_name":"deal_registered"}
[2026-04-18 16:39:19] [INFO] Virtual stage updated after activity save {"contact_id":"4281"}
[2026-04-18 16:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4281","person_id":"18455"}
[2026-04-18 16:39:24] [INFO] Checking activity reminders 
[2026-04-18 16:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:39:27] [INFO] Checking activity reminders 
[2026-04-18 16:39:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:39:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:39:58] [INFO] Checking activity reminders 
[2026-04-18 16:39:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:39:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:40:24] [INFO] Checking activity reminders 
[2026-04-18 16:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:40:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:28] [INFO] Checking activity reminders 
[2026-04-18 16:40:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:40:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:40:30] [INFO] Checking activity reminders 
[2026-04-18 16:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:40:42] [INFO] Activity save request {"post_data":{"contact_id":"local_695cc3ba045d98.86248747","deal_id":"local_69b53a766e21c1.63962287","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 16:40:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_695cc3ba045d98.86248747","note_was_empty":true}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:42] [INFO] Updating virtual stage {"contact_id":"local_695cc3ba045d98.86248747","stage_name":"deal_registered","force":false}
[2026-04-18 16:40:42] [INFO] Virtual stage successfully saved {"contact_id":"local_695cc3ba045d98.86248747","stage_name":"deal_registered"}
[2026-04-18 16:40:42] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cc3ba045d98.86248747"}
[2026-04-18 16:40:42] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b53a766e21c1.63962287","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 16:40:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e382d24d2164.45117181","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69e382d24d2164.45117181"}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:42] [INFO] Updating virtual stage {"contact_id":"local_695cc3ba045d98.86248747","stage_name":"deal_registered","force":false}
[2026-04-18 16:40:42] [INFO] Virtual stage successfully saved {"contact_id":"local_695cc3ba045d98.86248747","stage_name":"deal_registered"}
[2026-04-18 16:40:42] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cc3ba045d98.86248747"}
[2026-04-18 16:40:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-18 16:40:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5057","deal_id":"local_6947f13dbae0a1.25212844","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:40:43","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:40:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5057","person_id":"7656"}
[2026-04-18 16:40:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5057","is_new_deal":false}
[2026-04-18 16:40:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:40:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:40:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:40:43] [INFO] getContactPrimaryPhone called {"contact_id":"5057"}
[2026-04-18 16:40:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5057","person_id":"7656"}
[2026-04-18 16:40:43] [INFO] getContactPrimaryPhone result {"contact_id":"5057","person_found":true,"primary_phone":"9913187633"}
[2026-04-18 16:40:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9913187633"}
[2026-04-18 16:40:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9913187633","contact_id":"5057","deal_id":"local_6947f13dbae0a1.25212844","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:40:43"}
[2026-04-18 16:40:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_6947f13dbae0a1.25212844","contact_id":"5057","existing_deal_found":true,"existing_contact_id":"5057","existing_title":"معامله اول 9913187633 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:40:43"}
[2026-04-18 16:40:43] [INFO] DealController.save validated payments {"deal_id":"local_6947f13dbae0a1.25212844","contact_id":"5057","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:40:43] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"5057","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:40:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6947f13dbae0a1.25212844","contact_didar_id":"5057","title":"معامله اول 9913187633 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9913187633","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"حسین پور","existing_deal":"YES","existing_deal_id":"local_6947f13dbae0a1.25212844","existing_deal_status":"Pending","server_time":"2026-04-18 16:40:43","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:40:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5057","person_id":"7656"}
[2026-04-18 16:40:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6947f13dbae0a1.25212844","contact_id":"5057","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9913187633 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 16:40:43","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5057","person_id":"7656"}
[2026-04-18 16:40:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-18 16:40:58] [INFO] Checking activity reminders 
[2026-04-18 16:40:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:40:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:41:00] [INFO] Checking activity reminders 
[2026-04-18 16:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:41:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"6188","deal_id":"local_6947e606039832.68898504","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:41:12","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-18 16:41:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"6188","is_new_deal":false}
[2026-04-18 16:41:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:12] [INFO] getContactPrimaryPhone called {"contact_id":"6188"}
[2026-04-18 16:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-18 16:41:12] [INFO] getContactPrimaryPhone result {"contact_id":"6188","person_found":true,"primary_phone":"9220726974"}
[2026-04-18 16:41:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9220726974"}
[2026-04-18 16:41:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9220726974","contact_id":"6188","deal_id":"local_6947e606039832.68898504","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:41:12"}
[2026-04-18 16:41:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_6947e606039832.68898504","contact_id":"6188","existing_deal_found":true,"existing_contact_id":"6188","existing_title":"معامله اول 9220726974 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:41:12"}
[2026-04-18 16:41:12] [INFO] DealController.save validated payments {"deal_id":"local_6947e606039832.68898504","contact_id":"6188","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:41:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"6188","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:41:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6947e606039832.68898504","contact_didar_id":"6188","title":"معامله اول 9220726974 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9220726974","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":35000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"ماهان خدادادی","existing_deal":"YES","existing_deal_id":"local_6947e606039832.68898504","existing_deal_status":"Pending","server_time":"2026-04-18 16:41:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-18 16:41:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6947e606039832.68898504","contact_id":"6188","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9220726974 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":35000000,"server_time":"2026-04-18 16:41:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-18 16:41:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:41:30] [INFO] Checking activity reminders 
[2026-04-18 16:41:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:41:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:41:39] [INFO] Checking activity reminders 
[2026-04-18 16:41:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:41:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:41:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2773","deal_id":"local_6947c05291dac1.09500342","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:41:42","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:41:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:41:42] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2773","is_new_deal":false}
[2026-04-18 16:41:42] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:42] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:42] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:41:42] [INFO] getContactPrimaryPhone called {"contact_id":"2773"}
[2026-04-18 16:41:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:41:42] [INFO] getContactPrimaryPhone result {"contact_id":"2773","person_found":true,"primary_phone":"9177170448"}
[2026-04-18 16:41:42] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9177170448"}
[2026-04-18 16:41:42] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9177170448","contact_id":"2773","deal_id":"local_6947c05291dac1.09500342","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:41:42"}
[2026-04-18 16:41:42] [INFO] DealController.save existing deal lookup {"deal_id":"local_6947c05291dac1.09500342","contact_id":"2773","existing_deal_found":true,"existing_contact_id":"2773","existing_title":"معامله اول 9177170448 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:41:42"}
[2026-04-18 16:41:42] [INFO] DealController.save validated payments {"deal_id":"local_6947c05291dac1.09500342","contact_id":"2773","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:41:42] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2773","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:41:42] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6947c05291dac1.09500342","contact_didar_id":"2773","title":"معامله اول 9177170448 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9177170448","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"عربی","existing_deal":"YES","existing_deal_id":"local_6947c05291dac1.09500342","existing_deal_status":"Pending","server_time":"2026-04-18 16:41:42","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:41:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:41:42] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6947c05291dac1.09500342","contact_id":"2773","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9177170448 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-18 16:41:42","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:41:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:41:47] [INFO] Checking activity reminders 
[2026-04-18 16:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:41:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2773","person_id":"4934"}
[2026-04-18 16:42:01] [INFO] Checking activity reminders 
[2026-04-18 16:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:13] [INFO] Checking activity reminders 
[2026-04-18 16:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:42:28] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4757","deal_id":"local_694b90bc913363.88685044","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:42:28","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4757","is_new_deal":false}
[2026-04-18 16:42:28] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:28] [INFO] getContactPrimaryPhone called {"contact_id":"4757"}
[2026-04-18 16:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:28] [INFO] getContactPrimaryPhone result {"contact_id":"4757","person_found":true,"primary_phone":"9111752883"}
[2026-04-18 16:42:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111752883"}
[2026-04-18 16:42:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111752883","contact_id":"4757","deal_id":"local_694b90bc913363.88685044","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:42:28"}
[2026-04-18 16:42:28] [INFO] DealController.save existing deal lookup {"deal_id":"local_694b90bc913363.88685044","contact_id":"4757","existing_deal_found":true,"existing_contact_id":"4757","existing_title":"معامله اول 9111752883 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:42:28"}
[2026-04-18 16:42:28] [INFO] DealController.save validated payments {"deal_id":"local_694b90bc913363.88685044","contact_id":"4757","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:42:28] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4757","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:42:28] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694b90bc913363.88685044","contact_didar_id":"4757","title":"معامله اول 9111752883 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9111752883","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":50000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای بادله","existing_deal":"YES","existing_deal_id":"local_694b90bc913363.88685044","existing_deal_status":"Pending","server_time":"2026-04-18 16:42:28","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:28] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694b90bc913363.88685044","contact_id":"4757","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9111752883 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":50000000,"server_time":"2026-04-18 16:42:28","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:42:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:31] [INFO] Checking activity reminders 
[2026-04-18 16:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 16:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:42:41] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 16:42:43] [INFO] Checking activity reminders 
[2026-04-18 16:42:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:42:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:42:50] [INFO] Checking activity reminders 
[2026-04-18 16:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:42:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4757","deal_id":"local_6942b813c372a1.37136607","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:42:51","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:42:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4757","is_new_deal":false}
[2026-04-18 16:42:51] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:42:51] [INFO] getContactPrimaryPhone called {"contact_id":"4757"}
[2026-04-18 16:42:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4757","person_id":"6984"}
[2026-04-18 16:42:51] [INFO] getContactPrimaryPhone result {"contact_id":"4757","person_found":true,"primary_phone":"9111752883"}
[2026-04-18 16:42:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9111752883"}
[2026-04-18 16:42:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9111752883","contact_id":"4757","deal_id":"local_6942b813c372a1.37136607","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:42:51"}
[2026-04-18 16:42:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942b813c372a1.37136607","contact_id":"4757","existing_deal_found":true,"existing_contact_id":"1005","existing_title":"معامله اول 9171622279 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:42:51"}
[2026-04-18 16:42:51] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_6942b813c372a1.37136607","incoming_contact_id":"4757","existing_contact_id":"1005","incoming_title":"کانال VIP با پشتیبانی","requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:42:51"}
[2026-04-18 16:43:03] [INFO] Checking activity reminders 
[2026-04-18 16:43:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:43:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:43:04] [INFO] Checking activity reminders 
[2026-04-18 16:43:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:43:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:43:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 16:43:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 16:43:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 16:43:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 16:43:13] [INFO] Checking activity reminders 
[2026-04-18 16:43:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:43:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:43:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:43:36] [INFO] Checking activity reminders 
[2026-04-18 16:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1005","person_id":"13733"}
[2026-04-18 16:43:43] [INFO] Checking activity reminders 
[2026-04-18 16:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:43:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1005","deal_id":"local_6942b813c372a1.37136607","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:43:54","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1005","person_id":"13733"}
[2026-04-18 16:43:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1005","is_new_deal":false}
[2026-04-18 16:43:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:43:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:43:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:43:54] [INFO] getContactPrimaryPhone called {"contact_id":"1005"}
[2026-04-18 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1005","person_id":"13733"}
[2026-04-18 16:43:54] [INFO] getContactPrimaryPhone result {"contact_id":"1005","person_found":true,"primary_phone":"9171622279"}
[2026-04-18 16:43:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9171622279"}
[2026-04-18 16:43:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9171622279","contact_id":"1005","deal_id":"local_6942b813c372a1.37136607","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:43:54"}
[2026-04-18 16:43:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942b813c372a1.37136607","contact_id":"1005","existing_deal_found":true,"existing_contact_id":"1005","existing_title":"معامله اول 9171622279 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:43:54"}
[2026-04-18 16:43:54] [INFO] DealController.save validated payments {"deal_id":"local_6942b813c372a1.37136607","contact_id":"1005","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:43:54] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1005","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:43:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942b813c372a1.37136607","contact_didar_id":"1005","title":"معامله اول 9171622279 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9171622279","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"عامر بحری نژاد","existing_deal":"YES","existing_deal_id":"local_6942b813c372a1.37136607","existing_deal_status":"Pending","server_time":"2026-04-18 16:43:54","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1005","person_id":"13733"}
[2026-04-18 16:43:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942b813c372a1.37136607","contact_id":"1005","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9171622279 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":15000000,"server_time":"2026-04-18 16:43:54","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1005","person_id":"13733"}
[2026-04-18 16:44:02] [INFO] Checking activity reminders 
[2026-04-18 16:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:44:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2057","person_id":"7038"}
[2026-04-18 16:44:06] [INFO] Checking activity reminders 
[2026-04-18 16:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:44:13] [INFO] Checking activity reminders 
[2026-04-18 16:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:44:19] [INFO] Activity save request {"post_data":{"contact_id":"8159","deal_id":"local_695e50dbe85ac2.05306469","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 16:44:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8159","note_was_empty":true}
[2026-04-18 16:44:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"8159","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:19] [INFO] Updating virtual stage {"contact_id":"8159","stage_name":"deal_registered","force":false}
[2026-04-18 16:44:19] [INFO] Virtual stage successfully saved {"contact_id":"8159","stage_name":"deal_registered"}
[2026-04-18 16:44:19] [INFO] Virtual stage updated after activity save {"contact_id":"8159"}
[2026-04-18 16:44:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695e50dbe85ac2.05306469","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 16:44:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e383abd2a398.96307469","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e383abd2a398.96307469"}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:19] [INFO] Updating virtual stage {"contact_id":"8159","stage_name":"deal_registered","force":false}
[2026-04-18 16:44:19] [INFO] Virtual stage successfully saved {"contact_id":"8159","stage_name":"deal_registered"}
[2026-04-18 16:44:19] [INFO] Virtual stage updated after activity save {"contact_id":"8159"}
[2026-04-18 16:44:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8159","person_id":"16720"}
[2026-04-18 16:44:37] [INFO] Checking activity reminders 
[2026-04-18 16:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:44:43] [INFO] Checking activity reminders 
[2026-04-18 16:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:44:54] [INFO] Checking activity reminders 
[2026-04-18 16:44:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:44:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:07] [INFO] Checking activity reminders 
[2026-04-18 16:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:09] [INFO] Checking activity reminders 
[2026-04-18 16:45:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:25] [INFO] Checking activity reminders 
[2026-04-18 16:45:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:37] [INFO] Checking activity reminders 
[2026-04-18 16:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:39] [INFO] Checking activity reminders 
[2026-04-18 16:45:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:39] [INFO] Checking activity reminders 
[2026-04-18 16:45:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:45:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:45:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-18 16:46:07] [INFO] Checking activity reminders 
[2026-04-18 16:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:09] [INFO] Checking activity reminders 
[2026-04-18 16:46:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:09] [INFO] Checking activity reminders 
[2026-04-18 16:46:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:19] [INFO] Checking activity reminders 
[2026-04-18 16:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:37] [INFO] Checking activity reminders 
[2026-04-18 16:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:38] [INFO] Checking activity reminders 
[2026-04-18 16:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:39] [INFO] Checking activity reminders 
[2026-04-18 16:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:46:46] [INFO] Checking activity reminders 
[2026-04-18 16:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:08] [INFO] Checking activity reminders 
[2026-04-18 16:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:10] [INFO] Checking activity reminders 
[2026-04-18 16:47:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:21] [INFO] Checking activity reminders 
[2026-04-18 16:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:38] [INFO] Checking activity reminders 
[2026-04-18 16:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:42] [INFO] Checking activity reminders 
[2026-04-18 16:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:47:54] [INFO] Checking activity reminders 
[2026-04-18 16:47:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:47:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:08] [INFO] Checking activity reminders 
[2026-04-18 16:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:12] [INFO] Checking activity reminders 
[2026-04-18 16:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:18] [INFO] Checking activity reminders 
[2026-04-18 16:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:26] [INFO] Checking activity reminders 
[2026-04-18 16:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:38] [INFO] Checking activity reminders 
[2026-04-18 16:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:42] [INFO] Checking activity reminders 
[2026-04-18 16:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:48:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2057","deal_id":"local_694a3b0c6a16f3.60055362","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:48:50","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2057","person_id":"7038"}
[2026-04-18 16:48:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2057","is_new_deal":false}
[2026-04-18 16:48:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:48:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:48:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:48:50] [INFO] getContactPrimaryPhone called {"contact_id":"2057"}
[2026-04-18 16:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2057","person_id":"7038"}
[2026-04-18 16:48:50] [INFO] getContactPrimaryPhone result {"contact_id":"2057","person_found":true,"primary_phone":"9227567317"}
[2026-04-18 16:48:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9227567317"}
[2026-04-18 16:48:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9227567317","contact_id":"2057","deal_id":"local_694a3b0c6a16f3.60055362","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:48:50"}
[2026-04-18 16:48:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a3b0c6a16f3.60055362","contact_id":"2057","existing_deal_found":true,"existing_contact_id":"2057","existing_title":"معامله اول 9227567317 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:48:50"}
[2026-04-18 16:48:50] [INFO] DealController.save validated payments {"deal_id":"local_694a3b0c6a16f3.60055362","contact_id":"2057","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:48:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2057","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:48:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a3b0c6a16f3.60055362","contact_didar_id":"2057","title":"معامله اول 9227567317 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9227567317","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"محمد جعفری","existing_deal":"YES","existing_deal_id":"local_694a3b0c6a16f3.60055362","existing_deal_status":"Pending","server_time":"2026-04-18 16:48:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2057","person_id":"7038"}
[2026-04-18 16:48:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a3b0c6a16f3.60055362","contact_id":"2057","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9227567317 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 16:48:50","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2057","person_id":"7038"}
[2026-04-18 16:49:08] [INFO] Checking activity reminders 
[2026-04-18 16:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:49:12] [INFO] Checking activity reminders 
[2026-04-18 16:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:49:38] [INFO] Checking activity reminders 
[2026-04-18 16:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:49:42] [INFO] Checking activity reminders 
[2026-04-18 16:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:50:08] [INFO] Checking activity reminders 
[2026-04-18 16:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:50:12] [INFO] Checking activity reminders 
[2026-04-18 16:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:50:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2764","person_id":"15115"}
[2026-04-18 16:50:38] [INFO] Checking activity reminders 
[2026-04-18 16:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:50:42] [INFO] Checking activity reminders 
[2026-04-18 16:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:51:09] [INFO] Checking activity reminders 
[2026-04-18 16:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:51:12] [INFO] Checking activity reminders 
[2026-04-18 16:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:51:39] [INFO] Checking activity reminders 
[2026-04-18 16:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:51:42] [INFO] Checking activity reminders 
[2026-04-18 16:51:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:51:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:05] [INFO] Checking activity reminders 
[2026-04-18 16:52:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:09] [INFO] Checking activity reminders 
[2026-04-18 16:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:12] [INFO] Checking activity reminders 
[2026-04-18 16:52:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:35] [INFO] Checking activity reminders 
[2026-04-18 16:52:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:39] [INFO] Checking activity reminders 
[2026-04-18 16:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:42] [INFO] Checking activity reminders 
[2026-04-18 16:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:52:47] [INFO] Checking activity reminders 
[2026-04-18 16:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:08] [INFO] Checking activity reminders 
[2026-04-18 16:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:09] [INFO] Checking activity reminders 
[2026-04-18 16:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:12] [INFO] Checking activity reminders 
[2026-04-18 16:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:39] [INFO] Checking activity reminders 
[2026-04-18 16:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:42] [INFO] Checking activity reminders 
[2026-04-18 16:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:43] [INFO] Checking activity reminders 
[2026-04-18 16:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-18 16:53:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"2764","deal_id":"local_694942d2870160.68349775","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:53:48","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2764","person_id":"15115"}
[2026-04-18 16:53:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"2764","is_new_deal":false}
[2026-04-18 16:53:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:53:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:53:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 16:53:48] [INFO] getContactPrimaryPhone called {"contact_id":"2764"}
[2026-04-18 16:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2764","person_id":"15115"}
[2026-04-18 16:53:48] [INFO] getContactPrimaryPhone result {"contact_id":"2764","person_found":true,"primary_phone":"9036889593"}
[2026-04-18 16:53:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9036889593"}
[2026-04-18 16:53:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9036889593","contact_id":"2764","deal_id":"local_694942d2870160.68349775","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:53:48"}
[2026-04-18 16:53:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_694942d2870160.68349775","contact_id":"2764","existing_deal_found":true,"existing_contact_id":"2764","existing_title":"معامله اول 9036889593 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:53:48"}
[2026-04-18 16:53:48] [INFO] DealController.save validated payments {"deal_id":"local_694942d2870160.68349775","contact_id":"2764","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:53:48] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2764","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:53:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694942d2870160.68349775","contact_didar_id":"2764","title":"معامله اول 9036889593 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9036889593","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":10000000,"payment_amount":5000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"ابوالفضل ذبیح پور","existing_deal":"YES","existing_deal_id":"local_694942d2870160.68349775","existing_deal_status":"Pending","server_time":"2026-04-18 16:53:48","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2764","person_id":"15115"}
[2026-04-18 16:53:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694942d2870160.68349775","contact_id":"2764","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9036889593 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":5000000,"server_time":"2026-04-18 16:53:48","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2764","person_id":"15115"}
[2026-04-18 16:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3248","person_id":"20542"}
[2026-04-18 16:54:10] [INFO] Checking activity reminders 
[2026-04-18 16:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:13] [INFO] Checking activity reminders 
[2026-04-18 16:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-18 16:54:20] [INFO] Checking activity reminders 
[2026-04-18 16:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9004","deal_id":"local_69465c8d381251.12833091","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:54:38","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-18 16:54:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9004","is_new_deal":false}
[2026-04-18 16:54:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:54:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:54:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:54:38] [INFO] getContactPrimaryPhone called {"contact_id":"9004"}
[2026-04-18 16:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-18 16:54:38] [INFO] getContactPrimaryPhone result {"contact_id":"9004","person_found":true,"primary_phone":"9119163190"}
[2026-04-18 16:54:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9119163190"}
[2026-04-18 16:54:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9119163190","contact_id":"9004","deal_id":"local_69465c8d381251.12833091","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:54:38"}
[2026-04-18 16:54:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69465c8d381251.12833091","contact_id":"9004","existing_deal_found":true,"existing_contact_id":"9004","existing_title":"معامله سوم 9119163190 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:54:38"}
[2026-04-18 16:54:38] [INFO] DealController.save validated payments {"deal_id":"local_69465c8d381251.12833091","contact_id":"9004","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:54:38] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"9004","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:54:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69465c8d381251.12833091","contact_didar_id":"9004","title":"معامله سوم 9119163190 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9119163190","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":35000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای عبدالحسینی","existing_deal":"YES","existing_deal_id":"local_69465c8d381251.12833091","existing_deal_status":"Pending","server_time":"2026-04-18 16:54:38","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-18 16:54:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69465c8d381251.12833091","contact_id":"9004","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9119163190 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":35000000,"server_time":"2026-04-18 16:54:38","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-18 16:54:41] [INFO] Checking activity reminders 
[2026-04-18 16:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:43] [INFO] Checking activity reminders 
[2026-04-18 16:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:46] [INFO] Checking activity reminders 
[2026-04-18 16:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:54:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11246","person_id":"12880"}
[2026-04-18 16:55:05] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11246","deal_id":"local_6950ed27dcd525.85543949","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:55:05","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:55:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11246","person_id":"12880"}
[2026-04-18 16:55:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11246","is_new_deal":false}
[2026-04-18 16:55:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:05] [INFO] getContactPrimaryPhone called {"contact_id":"11246"}
[2026-04-18 16:55:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11246","person_id":"12880"}
[2026-04-18 16:55:05] [INFO] getContactPrimaryPhone result {"contact_id":"11246","person_found":true,"primary_phone":"9122152742"}
[2026-04-18 16:55:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122152742"}
[2026-04-18 16:55:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122152742","contact_id":"11246","deal_id":"local_6950ed27dcd525.85543949","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:55:05"}
[2026-04-18 16:55:05] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950ed27dcd525.85543949","contact_id":"11246","existing_deal_found":true,"existing_contact_id":"11246","existing_title":"معامله اول 9122152742 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:55:05"}
[2026-04-18 16:55:05] [INFO] DealController.save validated payments {"deal_id":"local_6950ed27dcd525.85543949","contact_id":"11246","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:55:05] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"11246","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:55:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950ed27dcd525.85543949","contact_didar_id":"11246","title":"معامله اول 9122152742 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9122152742","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"کارگر","existing_deal":"YES","existing_deal_id":"local_6950ed27dcd525.85543949","existing_deal_status":"Pending","server_time":"2026-04-18 16:55:05","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:55:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11246","person_id":"12880"}
[2026-04-18 16:55:05] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950ed27dcd525.85543949","contact_id":"11246","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9122152742 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":10000000,"server_time":"2026-04-18 16:55:05","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:55:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11246","person_id":"12880"}
[2026-04-18 16:55:11] [INFO] Checking activity reminders 
[2026-04-18 16:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:55:13] [INFO] Checking activity reminders 
[2026-04-18 16:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:55:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-18 16:55:16] [INFO] Checking activity reminders 
[2026-04-18 16:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:55:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"693","deal_id":"local_6946a637be1c49.68920317","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:55:32","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:55:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-18 16:55:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"693","is_new_deal":false}
[2026-04-18 16:55:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:55:32] [INFO] getContactPrimaryPhone called {"contact_id":"693"}
[2026-04-18 16:55:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-18 16:55:32] [INFO] getContactPrimaryPhone result {"contact_id":"693","person_found":true,"primary_phone":"9339104570"}
[2026-04-18 16:55:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9339104570"}
[2026-04-18 16:55:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9339104570","contact_id":"693","deal_id":"local_6946a637be1c49.68920317","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:55:32"}
[2026-04-18 16:55:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_6946a637be1c49.68920317","contact_id":"693","existing_deal_found":true,"existing_contact_id":"693","existing_title":"معامله اول 9339104570 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:55:32"}
[2026-04-18 16:55:32] [INFO] DealController.save validated payments {"deal_id":"local_6946a637be1c49.68920317","contact_id":"693","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:55:32] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"693","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:55:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6946a637be1c49.68920317","contact_didar_id":"693","title":"معامله اول 9339104570 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9339104570","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اسکندری","existing_deal":"YES","existing_deal_id":"local_6946a637be1c49.68920317","existing_deal_status":"Pending","server_time":"2026-04-18 16:55:32","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:55:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-18 16:55:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6946a637be1c49.68920317","contact_id":"693","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9339104570 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 16:55:32","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-18 16:55:41] [INFO] Checking activity reminders 
[2026-04-18 16:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:55:43] [INFO] Checking activity reminders 
[2026-04-18 16:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:55:48] [INFO] Checking activity reminders 
[2026-04-18 16:55:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:55:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:56:13] [INFO] Checking activity reminders 
[2026-04-18 16:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:56:13] [INFO] Checking activity reminders 
[2026-04-18 16:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:56:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8092","person_id":"3456"}
[2026-04-18 16:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 16:56:33] [INFO] Checking activity reminders 
[2026-04-18 16:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:56:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8092","deal_id":"local_6943c4e36a02d7.80516424","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:56:36","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:56:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8092","person_id":"3456"}
[2026-04-18 16:56:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8092","is_new_deal":false}
[2026-04-18 16:56:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 16:56:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:56:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 16:56:36] [INFO] getContactPrimaryPhone called {"contact_id":"8092"}
[2026-04-18 16:56:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8092","person_id":"3456"}
[2026-04-18 16:56:36] [INFO] getContactPrimaryPhone result {"contact_id":"8092","person_found":true,"primary_phone":"9158947415"}
[2026-04-18 16:56:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9158947415"}
[2026-04-18 16:56:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9158947415","contact_id":"8092","deal_id":"local_6943c4e36a02d7.80516424","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:56:36"}
[2026-04-18 16:56:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_6943c4e36a02d7.80516424","contact_id":"8092","existing_deal_found":true,"existing_contact_id":"8092","existing_title":"معامله اول 9158947415 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:56:36"}
[2026-04-18 16:56:36] [INFO] DealController.save validated payments {"deal_id":"local_6943c4e36a02d7.80516424","contact_id":"8092","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:56:36] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"8092","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:56:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6943c4e36a02d7.80516424","contact_didar_id":"8092","title":"معامله اول 9158947415 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9158947415","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"قدرتی","existing_deal":"YES","existing_deal_id":"local_6943c4e36a02d7.80516424","existing_deal_status":"Pending","server_time":"2026-04-18 16:56:36","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:56:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8092","person_id":"3456"}
[2026-04-18 16:56:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6943c4e36a02d7.80516424","contact_id":"8092","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9158947415 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 16:56:36","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:56:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8092","person_id":"3456"}
[2026-04-18 16:56:38] [INFO] Checking activity reminders 
[2026-04-18 16:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:56:43] [INFO] Checking activity reminders 
[2026-04-18 16:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:58:36] [INFO] Checking activity reminders 
[2026-04-18 16:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:58:44] [INFO] Checking activity reminders 
[2026-04-18 16:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:58:49] [INFO] Checking activity reminders 
[2026-04-18 16:58:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:58:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:58:59] [INFO] Checking activity reminders 
[2026-04-18 16:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:09] [INFO] Checking activity reminders 
[2026-04-18 16:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:17] [INFO] Checking activity reminders 
[2026-04-18 16:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:19] [INFO] Checking activity reminders 
[2026-04-18 16:59:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6743","person_id":"1080"}
[2026-04-18 16:59:20] [INFO] Checking activity reminders 
[2026-04-18 16:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:27] [INFO] Checking activity reminders 
[2026-04-18 16:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:31] [INFO] Checking activity reminders 
[2026-04-18 16:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"دستگاه کارشناسی","contact_id":"6743","deal_id":"local_694d16a59cd0c7.87955876","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 16:59:41","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 16:59:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6743","person_id":"1080"}
[2026-04-18 16:59:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"دستگاه کارشناسی","contact_id":"6743","is_new_deal":false}
[2026-04-18 16:59:41] [INFO] extractPhoneFromDealTitle called {"input_title":"دستگاه کارشناسی"}
[2026-04-18 16:59:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"دستگاه کارشناسی"}
[2026-04-18 16:59:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"دستگاه کارشناسی"}
[2026-04-18 16:59:41] [INFO] getContactPrimaryPhone called {"contact_id":"6743"}
[2026-04-18 16:59:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6743","person_id":"1080"}
[2026-04-18 16:59:41] [INFO] getContactPrimaryPhone result {"contact_id":"6743","person_found":true,"primary_phone":"9195808571"}
[2026-04-18 16:59:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9195808571"}
[2026-04-18 16:59:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9195808571","contact_id":"6743","deal_id":"local_694d16a59cd0c7.87955876","is_new_deal":false,"incoming_title":"دستگاه کارشناسی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:59:41"}
[2026-04-18 16:59:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_694d16a59cd0c7.87955876","contact_id":"6743","existing_deal_found":true,"existing_contact_id":"6743","existing_title":"معامله اول 9195808571 | دستگاه کارشناسی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 16:59:41"}
[2026-04-18 16:59:41] [INFO] DealController.save validated payments {"deal_id":"local_694d16a59cd0c7.87955876","contact_id":"6743","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 16:59:41] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"6743","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 16:59:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694d16a59cd0c7.87955876","contact_didar_id":"6743","title":"معامله اول 9195808571 | دستگاه کارشناسی","base_title_used":"معامله اول 9195808571","services_text":"دستگاه کارشناسی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":25000000,"payment_amount":5000000,"payments_present":true,"requested_services":["دستگاه کارشناسی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"امیر رضا قراگوزلو","existing_deal":"YES","existing_deal_id":"local_694d16a59cd0c7.87955876","existing_deal_status":"Pending","server_time":"2026-04-18 16:59:41","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 16:59:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6743","person_id":"1080"}
[2026-04-18 16:59:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694d16a59cd0c7.87955876","contact_id":"6743","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9195808571 | دستگاه کارشناسی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":25000000,"payment_amount":5000000,"server_time":"2026-04-18 16:59:41","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 16:59:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6743","person_id":"1080"}
[2026-04-18 16:59:48] [INFO] Checking activity reminders 
[2026-04-18 16:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:49] [INFO] Checking activity reminders 
[2026-04-18 16:59:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 16:59:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 16:59:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:00:18] [INFO] Checking activity reminders 
[2026-04-18 17:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:00:19] [INFO] Checking activity reminders 
[2026-04-18 17:00:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:00:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:00:26] [INFO] Activity save request {"post_data":{"contact_id":"1992","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 17:00:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:00:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 17:00:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1992","note_was_empty":true}
[2026-04-18 17:00:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"1992","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 17:00:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e38772388697.31278907","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 17:00:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69e38772388697.31278907"}
[2026-04-18 17:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 17:00:26] [INFO] Updating virtual stage {"contact_id":"1992","stage_name":"deal_registered","force":false}
[2026-04-18 17:00:26] [INFO] Virtual stage successfully saved {"contact_id":"1992","stage_name":"deal_registered"}
[2026-04-18 17:00:26] [INFO] Virtual stage updated after activity save {"contact_id":"1992"}
[2026-04-18 17:00:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-18 17:00:48] [INFO] Checking activity reminders 
[2026-04-18 17:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:00:49] [INFO] Checking activity reminders 
[2026-04-18 17:00:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:00:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:18] [INFO] Checking activity reminders 
[2026-04-18 17:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:20] [INFO] Checking activity reminders 
[2026-04-18 17:01:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:20] [INFO] Checking activity reminders 
[2026-04-18 17:01:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:01:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:01:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:01:48] [INFO] Checking activity reminders 
[2026-04-18 17:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:50] [INFO] Checking activity reminders 
[2026-04-18 17:01:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:01:51] [INFO] Checking activity reminders 
[2026-04-18 17:01:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:01:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:02:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:02:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:02:19] [INFO] Checking activity reminders 
[2026-04-18 17:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:20] [INFO] Checking activity reminders 
[2026-04-18 17:02:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:02:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:21] [INFO] Checking activity reminders 
[2026-04-18 17:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:36] [WARNING] Auth check failed - not authenticated {"session_id":"ugq8lca6taltpmhi49rvip6fnf","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:02:36] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 17:02:36] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 17:02:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 17:02:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:02:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:02:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:02:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:02:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:02:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:02:49] [INFO] Checking activity reminders 
[2026-04-18 17:02:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:02:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:50] [INFO] Checking activity reminders 
[2026-04-18 17:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:02:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:02:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:02:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:03:07] [INFO] Checking activity reminders 
[2026-04-18 17:03:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:03:19] [INFO] Checking activity reminders 
[2026-04-18 17:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:03:20] [INFO] Checking activity reminders 
[2026-04-18 17:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:03:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 17:03:37] [INFO] Checking activity reminders 
[2026-04-18 17:03:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:03:49] [INFO] Checking activity reminders 
[2026-04-18 17:03:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:03:50] [INFO] Checking activity reminders 
[2026-04-18 17:03:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:03:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:04:19] [INFO] Checking activity reminders 
[2026-04-18 17:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:04:20] [INFO] Checking activity reminders 
[2026-04-18 17:04:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:04:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:04:49] [INFO] Checking activity reminders 
[2026-04-18 17:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:04:50] [INFO] Checking activity reminders 
[2026-04-18 17:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:10] [INFO] Checking activity reminders 
[2026-04-18 17:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:19] [INFO] Checking activity reminders 
[2026-04-18 17:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:20] [INFO] Checking activity reminders 
[2026-04-18 17:05:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:40] [INFO] Checking activity reminders 
[2026-04-18 17:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:50] [INFO] Checking activity reminders 
[2026-04-18 17:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:05:50] [INFO] Checking activity reminders 
[2026-04-18 17:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:05] [INFO] Checking activity reminders 
[2026-04-18 17:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:19] [INFO] Checking activity reminders 
[2026-04-18 17:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:20] [INFO] Checking activity reminders 
[2026-04-18 17:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:20] [INFO] Checking activity reminders 
[2026-04-18 17:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 17:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:06:35] [INFO] Checking activity reminders 
[2026-04-18 17:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:50] [INFO] Checking activity reminders 
[2026-04-18 17:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:50] [INFO] Checking activity reminders 
[2026-04-18 17:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:52] [INFO] Checking activity reminders 
[2026-04-18 17:06:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:06:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:06:53] [WARNING] Auth check failed - not authenticated {"session_id":"ugq8lca6taltpmhi49rvip6fnf","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:06:53] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-18 17:06:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 17:06:53] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 17:06:53] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 17:06:53] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 17:07:20] [INFO] Checking activity reminders 
[2026-04-18 17:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:07:21] [INFO] Checking activity reminders 
[2026-04-18 17:07:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:07:22] [INFO] Checking activity reminders 
[2026-04-18 17:07:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:07:23] [INFO] Checking activity reminders 
[2026-04-18 17:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:07:35] [INFO] Activity save request {"post_data":{"contact_id":"21037","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیابنی کانال \/ هست کانال تا اخر سال تسویه قبل سال بوده","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:07:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:07:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:07:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:07:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:07:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21037","note_was_empty":true}
[2026-04-18 17:07:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"21037","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 17:07:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3891ff16728.04045735","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:07:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:07:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3891ff16728.04045735"}
[2026-04-18 17:07:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:07:35] [INFO] Updating virtual stage {"contact_id":"21037","stage_name":"contact_followup","force":false}
[2026-04-18 17:07:35] [INFO] Virtual stage successfully saved {"contact_id":"21037","stage_name":"contact_followup"}
[2026-04-18 17:07:35] [INFO] Virtual stage updated after activity save {"contact_id":"21037"}
[2026-04-18 17:07:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:07:50] [INFO] Checking activity reminders 
[2026-04-18 17:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:07:51] [INFO] Checking activity reminders 
[2026-04-18 17:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:02] [INFO] Checking activity reminders 
[2026-04-18 17:08:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:19] [INFO] Checking activity reminders 
[2026-04-18 17:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:20] [INFO] Checking activity reminders 
[2026-04-18 17:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:21] [INFO] Checking activity reminders 
[2026-04-18 17:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:50] [INFO] Checking activity reminders 
[2026-04-18 17:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:51] [INFO] Checking activity reminders 
[2026-04-18 17:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:08:53] [INFO] Checking activity reminders 
[2026-04-18 17:08:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:08:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:20] [INFO] Checking activity reminders 
[2026-04-18 17:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:21] [INFO] Checking activity reminders 
[2026-04-18 17:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:23] [INFO] Checking activity reminders 
[2026-04-18 17:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:51] [INFO] Checking activity reminders 
[2026-04-18 17:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:51] [INFO] Checking activity reminders 
[2026-04-18 17:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:09:54] [INFO] Checking activity reminders 
[2026-04-18 17:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-18 17:10:21] [INFO] Checking activity reminders 
[2026-04-18 17:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:24] [INFO] Checking activity reminders 
[2026-04-18 17:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:25] [INFO] Checking activity reminders 
[2026-04-18 17:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:51] [INFO] Checking activity reminders 
[2026-04-18 17:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:54] [INFO] Checking activity reminders 
[2026-04-18 17:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:10:55] [INFO] Checking activity reminders 
[2026-04-18 17:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:21] [INFO] Checking activity reminders 
[2026-04-18 17:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:24] [INFO] Checking activity reminders 
[2026-04-18 17:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:25] [INFO] Checking activity reminders 
[2026-04-18 17:11:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:51] [INFO] Checking activity reminders 
[2026-04-18 17:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:54] [INFO] Checking activity reminders 
[2026-04-18 17:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:11:56] [INFO] Checking activity reminders 
[2026-04-18 17:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:21] [INFO] Checking activity reminders 
[2026-04-18 17:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:24] [INFO] Checking activity reminders 
[2026-04-18 17:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:26] [INFO] Checking activity reminders 
[2026-04-18 17:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:52] [INFO] Checking activity reminders 
[2026-04-18 17:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:54] [INFO] Checking activity reminders 
[2026-04-18 17:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:12:56] [INFO] Checking activity reminders 
[2026-04-18 17:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:13:22] [INFO] Checking activity reminders 
[2026-04-18 17:13:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:13:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:13:24] [INFO] Checking activity reminders 
[2026-04-18 17:13:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:13:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:13:26] [INFO] Checking activity reminders 
[2026-04-18 17:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:13:56] [INFO] Checking activity reminders 
[2026-04-18 17:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:14:26] [INFO] Checking activity reminders 
[2026-04-18 17:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:14:57] [INFO] Checking activity reminders 
[2026-04-18 17:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:15:27] [INFO] Checking activity reminders 
[2026-04-18 17:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:15:57] [INFO] Checking activity reminders 
[2026-04-18 17:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:16:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 17:16:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"791","deal_id":"local_6942af283d4553.24827341","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:16:12","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"791","is_new_deal":false}
[2026-04-18 17:16:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 17:16:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 17:16:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 17:16:12] [INFO] getContactPrimaryPhone called {"contact_id":"791"}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:12] [INFO] getContactPrimaryPhone result {"contact_id":"791","person_found":true,"primary_phone":"9126386457"}
[2026-04-18 17:16:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126386457"}
[2026-04-18 17:16:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126386457","contact_id":"791","deal_id":"local_6942af283d4553.24827341","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:16:12"}
[2026-04-18 17:16:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942af283d4553.24827341","contact_id":"791","existing_deal_found":true,"existing_contact_id":"791","existing_title":"معامله اول 9126386457 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:16:12"}
[2026-04-18 17:16:12] [INFO] DealController.save validated payments {"deal_id":"local_6942af283d4553.24827341","contact_id":"791","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-18 17:16:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"791","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 17:16:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942af283d4553.24827341","contact_didar_id":"791","title":"معامله اول 9126386457 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9126386457","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"علی شیخلو","existing_deal":"YES","existing_deal_id":"local_6942af283d4553.24827341","existing_deal_status":"Pending","server_time":"2026-04-18 17:16:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:12] [INFO] Deal success processed {"contact_id":"791","person_name":"علی شیخلو","products_count":1}
[2026-04-18 17:16:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942af283d4553.24827341","contact_id":"791","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9126386457 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 17:16:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:12] [INFO] Updating virtual stage {"contact_id":"791","stage_name":"with_purchase","force":true}
[2026-04-18 17:16:12] [INFO] Virtual stage successfully saved {"contact_id":"791","stage_name":"with_purchase"}
[2026-04-18 17:16:12] [INFO] Moved contact out of kariz after successful deal {"contact_id":"791","deal_id":"local_6942af283d4553.24827341","target_stage":"with_purchase"}
[2026-04-18 17:16:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-18 17:16:27] [INFO] Checking activity reminders 
[2026-04-18 17:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:16:38] [INFO] Checking activity reminders 
[2026-04-18 17:16:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:16:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:16:42] [INFO] Checking activity reminders 
[2026-04-18 17:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:16:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:16:57] [INFO] Checking activity reminders 
[2026-04-18 17:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:17:12] [INFO] Checking activity reminders 
[2026-04-18 17:17:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:17:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:17:27] [INFO] Checking activity reminders 
[2026-04-18 17:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:17:42] [INFO] Checking activity reminders 
[2026-04-18 17:17:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:17:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:17:57] [INFO] Checking activity reminders 
[2026-04-18 17:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:18:12] [INFO] Checking activity reminders 
[2026-04-18 17:18:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:18:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:18:27] [INFO] Checking activity reminders 
[2026-04-18 17:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:18:42] [INFO] Checking activity reminders 
[2026-04-18 17:18:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:18:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:18:57] [INFO] Checking activity reminders 
[2026-04-18 17:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:19:12] [INFO] Checking activity reminders 
[2026-04-18 17:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:19:28] [INFO] Checking activity reminders 
[2026-04-18 17:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:19:42] [INFO] Checking activity reminders 
[2026-04-18 17:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:19:58] [INFO] Checking activity reminders 
[2026-04-18 17:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-18 17:20:12] [INFO] Checking activity reminders 
[2026-04-18 17:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:20:28] [INFO] Checking activity reminders 
[2026-04-18 17:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:20:42] [INFO] Checking activity reminders 
[2026-04-18 17:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:20:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2675","deal_id":"local_69ca525bcfe515.48532960","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:20:44","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-18 17:20:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2675","is_new_deal":false}
[2026-04-18 17:20:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 17:20:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 17:20:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 17:20:44] [INFO] getContactPrimaryPhone called {"contact_id":"2675"}
[2026-04-18 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-18 17:20:44] [INFO] getContactPrimaryPhone result {"contact_id":"2675","person_found":true,"primary_phone":"9399745818"}
[2026-04-18 17:20:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9399745818"}
[2026-04-18 17:20:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9399745818","contact_id":"2675","deal_id":"local_69ca525bcfe515.48532960","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:20:44"}
[2026-04-18 17:20:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","existing_deal_found":true,"existing_contact_id":"2675","existing_title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:20:44"}
[2026-04-18 17:20:44] [INFO] DealController.save validated payments {"deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 17:20:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2675","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 17:20:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca525bcfe515.48532960","contact_didar_id":"2675","title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9399745818","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"پارسایی پارسایی","existing_deal":"YES","existing_deal_id":"local_69ca525bcfe515.48532960","existing_deal_status":"Pending","server_time":"2026-04-18 17:20:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-18 17:20:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":39000000,"server_time":"2026-04-18 17:20:44","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-18 17:20:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:21:03] [INFO] Activity save request {"post_data":{"contact_id":"15891","deal_id":"local_69e0a52076e8d6.17762245","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری ","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:21:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15891","note_was_empty":true}
[2026-04-18 17:21:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"15891","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:03] [INFO] Updating virtual stage {"contact_id":"15891","stage_name":"deal_registered","force":false}
[2026-04-18 17:21:03] [INFO] Virtual stage successfully saved {"contact_id":"15891","stage_name":"deal_registered"}
[2026-04-18 17:21:03] [INFO] Virtual stage updated after activity save {"contact_id":"15891"}
[2026-04-18 17:21:03] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a52076e8d6.17762245","stage":"تماس پیگیری","status_change":null}
[2026-04-18 17:21:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e38c47d69520.17070439","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69e38c47d69520.17070439"}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:03] [INFO] Updating virtual stage {"contact_id":"15891","stage_name":"deal_registered","force":false}
[2026-04-18 17:21:03] [INFO] Virtual stage successfully saved {"contact_id":"15891","stage_name":"deal_registered"}
[2026-04-18 17:21:03] [INFO] Virtual stage updated after activity save {"contact_id":"15891"}
[2026-04-18 17:21:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:21:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:21:12] [INFO] Checking activity reminders 
[2026-04-18 17:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:21:16] [INFO] Checking activity reminders 
[2026-04-18 17:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:21:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:21:31] [INFO] Checking activity reminders 
[2026-04-18 17:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:21:42] [INFO] Checking activity reminders 
[2026-04-18 17:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:22:12] [INFO] Checking activity reminders 
[2026-04-18 17:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:22:20] [INFO] Checking activity reminders 
[2026-04-18 17:22:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:22:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:22:21] [INFO] Checking activity reminders 
[2026-04-18 17:22:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:22:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:22:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:22:42] [INFO] Checking activity reminders 
[2026-04-18 17:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:22:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:22:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:22:45] [INFO] generateDealTitle result {"contact_id":"3609","person_name":"حسن مومنی","mobile":"9102419116","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9102419116"}
[2026-04-18 17:22:51] [INFO] Checking activity reminders 
[2026-04-18 17:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:23:13] [INFO] Checking activity reminders 
[2026-04-18 17:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:23:14] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:23:14","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 17:23:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:23:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","is_new_deal":true}
[2026-04-18 17:23:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:23:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:23:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:23:14] [INFO] getContactPrimaryPhone called {"contact_id":"3609"}
[2026-04-18 17:23:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:23:14] [INFO] getContactPrimaryPhone result {"contact_id":"3609","person_found":true,"primary_phone":"9102419116"}
[2026-04-18 17:23:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102419116"}
[2026-04-18 17:23:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102419116","contact_id":"3609","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 17:23:14"}
[2026-04-18 17:23:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:23:14] [INFO] generateDealTitle result {"contact_id":"3609","person_name":"حسن مومنی","mobile":"9102419116","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9102419116"}
[2026-04-18 17:23:14] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"3609","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 17:23:14] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3609","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 17:23:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"3609","title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9102419116","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسن مومنی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 17:23:14","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 17:23:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:23:14] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 17:23:14] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"3609","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-18 17:23:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:23:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:23:21] [INFO] Checking activity reminders 
[2026-04-18 17:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:23:43] [INFO] Checking activity reminders 
[2026-04-18 17:23:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:23:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:23:51] [INFO] Checking activity reminders 
[2026-04-18 17:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:24:13] [INFO] Checking activity reminders 
[2026-04-18 17:24:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:24:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:24:21] [INFO] Checking activity reminders 
[2026-04-18 17:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:24:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:24:40","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 17:24:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:24:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","is_new_deal":false}
[2026-04-18 17:24:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:24:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:24:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 17:24:40] [INFO] getContactPrimaryPhone called {"contact_id":"3609"}
[2026-04-18 17:24:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:24:40] [INFO] getContactPrimaryPhone result {"contact_id":"3609","person_found":true,"primary_phone":"9102419116"}
[2026-04-18 17:24:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102419116"}
[2026-04-18 17:24:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102419116","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 17:24:40"}
[2026-04-18 17:24:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","existing_deal_found":true,"existing_contact_id":"3609","existing_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 17:24:40"}
[2026-04-18 17:24:40] [INFO] DealController.save validated payments {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 17:24:40] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3609","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 17:24:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e38ccaea9974.42698321","contact_didar_id":"3609","title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9102419116","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسن مومنی","existing_deal":"YES","existing_deal_id":"local_69e38ccaea9974.42698321","existing_deal_status":"Pending","server_time":"2026-04-18 17:24:40","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 17:24:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:24:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":10000000,"server_time":"2026-04-18 17:24:41","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:24:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:24:43] [INFO] Checking activity reminders 
[2026-04-18 17:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:24:52] [INFO] Checking activity reminders 
[2026-04-18 17:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:12] [INFO] Activity save request {"post_data":{"contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"10 اردیبهشت تسویه \r\n29 فروردین عضو کانال شد ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:25:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3609","note_was_empty":true}
[2026-04-18 17:25:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"3609","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:12] [INFO] Updating virtual stage {"contact_id":"3609","stage_name":"deal_registered","force":false}
[2026-04-18 17:25:12] [INFO] Virtual stage successfully saved {"contact_id":"3609","stage_name":"deal_registered"}
[2026-04-18 17:25:12] [INFO] Virtual stage updated after activity save {"contact_id":"3609"}
[2026-04-18 17:25:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e38ccaea9974.42698321","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 17:25:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e38d40b7a311.35252371","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e38d40b7a311.35252371"}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:12] [INFO] Updating virtual stage {"contact_id":"3609","stage_name":"deal_registered","force":false}
[2026-04-18 17:25:12] [INFO] Virtual stage successfully saved {"contact_id":"3609","stage_name":"deal_registered"}
[2026-04-18 17:25:12] [INFO] Virtual stage updated after activity save {"contact_id":"3609"}
[2026-04-18 17:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-18 17:25:13] [INFO] Checking activity reminders 
[2026-04-18 17:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:30] [INFO] Checking activity reminders 
[2026-04-18 17:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:32] [INFO] Checking activity reminders 
[2026-04-18 17:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:43] [INFO] Checking activity reminders 
[2026-04-18 17:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:48] [INFO] Checking activity reminders 
[2026-04-18 17:25:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:25:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:25:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:03] [INFO] Checking activity reminders 
[2026-04-18 17:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:13] [INFO] Checking activity reminders 
[2026-04-18 17:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:18] [INFO] Checking activity reminders 
[2026-04-18 17:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"10894","deal_id":"local_69b8047c717332.21834494","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:26:27","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 17:26:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"10894","is_new_deal":false}
[2026-04-18 17:26:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:27] [INFO] getContactPrimaryPhone called {"contact_id":"10894"}
[2026-04-18 17:26:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:27] [INFO] getContactPrimaryPhone result {"contact_id":"10894","person_found":true,"primary_phone":"9128356385"}
[2026-04-18 17:26:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128356385"}
[2026-04-18 17:26:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128356385","contact_id":"10894","deal_id":"local_69b8047c717332.21834494","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:26:27"}
[2026-04-18 17:26:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b8047c717332.21834494","contact_id":"10894","existing_deal_found":true,"existing_contact_id":"10894","existing_title":"معامله دوم 9128356385 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:26:27"}
[2026-04-18 17:26:27] [INFO] DealController.save validated payments {"deal_id":"local_69b8047c717332.21834494","contact_id":"10894","payments_count":3,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 17:26:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"10894","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 17:26:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b8047c717332.21834494","contact_didar_id":"10894","title":"معامله دوم 9128356385 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9128356385","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"محمد خلیل زاده","existing_deal":"YES","existing_deal_id":"local_69b8047c717332.21834494","existing_deal_status":"Pending","server_time":"2026-04-18 17:26:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 17:26:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b8047c717332.21834494","contact_id":"10894","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128356385 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 17:26:27","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:26:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:33] [INFO] Checking activity reminders 
[2026-04-18 17:26:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:43] [INFO] Checking activity reminders 
[2026-04-18 17:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"10894","deal_id":"local_69b8047c717332.21834494","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:26:44","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 17:26:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"10894","is_new_deal":false}
[2026-04-18 17:26:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:26:44] [INFO] getContactPrimaryPhone called {"contact_id":"10894"}
[2026-04-18 17:26:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:44] [INFO] getContactPrimaryPhone result {"contact_id":"10894","person_found":true,"primary_phone":"9128356385"}
[2026-04-18 17:26:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128356385"}
[2026-04-18 17:26:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128356385","contact_id":"10894","deal_id":"local_69b8047c717332.21834494","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:26:44"}
[2026-04-18 17:26:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b8047c717332.21834494","contact_id":"10894","existing_deal_found":true,"existing_contact_id":"10894","existing_title":"معامله دوم 9128356385 | کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:26:44"}
[2026-04-18 17:26:44] [INFO] DealController.save validated payments {"deal_id":"local_69b8047c717332.21834494","contact_id":"10894","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 17:26:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"10894","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 17:26:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b8047c717332.21834494","contact_didar_id":"10894","title":"معامله دوم 9128356385 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9128356385","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"محمد خلیل زاده","existing_deal":"YES","existing_deal_id":"local_69b8047c717332.21834494","existing_deal_status":"Pending","server_time":"2026-04-18 17:26:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 17:26:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:44] [INFO] Deal success processed {"contact_id":"10894","person_name":"محمد خلیل زاده","products_count":1}
[2026-04-18 17:26:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b8047c717332.21834494","contact_id":"10894","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128356385 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 17:26:44","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:26:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:44] [INFO] Updating virtual stage {"contact_id":"10894","stage_name":"with_purchase","force":true}
[2026-04-18 17:26:44] [INFO] Virtual stage successfully saved {"contact_id":"10894","stage_name":"with_purchase"}
[2026-04-18 17:26:44] [INFO] Moved contact out of kariz after successful deal {"contact_id":"10894","deal_id":"local_69b8047c717332.21834494","target_stage":"with_purchase"}
[2026-04-18 17:26:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-18 17:26:48] [INFO] Checking activity reminders 
[2026-04-18 17:26:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:26:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:26:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:03] [INFO] Checking activity reminders 
[2026-04-18 17:27:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:27:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:27:13] [INFO] Checking activity reminders 
[2026-04-18 17:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:27:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"4667","deal_id":"local_69ca41a7e99cc1.61264875","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 17:27:14","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 17:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"4667","is_new_deal":false}
[2026-04-18 17:27:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:27:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:27:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 17:27:14] [INFO] getContactPrimaryPhone called {"contact_id":"4667"}
[2026-04-18 17:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:14] [INFO] getContactPrimaryPhone result {"contact_id":"4667","person_found":true,"primary_phone":"9016606910"}
[2026-04-18 17:27:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9016606910"}
[2026-04-18 17:27:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9016606910","contact_id":"4667","deal_id":"local_69ca41a7e99cc1.61264875","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:27:14"}
[2026-04-18 17:27:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","existing_deal_found":true,"existing_contact_id":"4667","existing_title":"معامله سوم 9016606910 | کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 17:27:14"}
[2026-04-18 17:27:14] [INFO] DealController.save validated payments {"deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 17:27:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"4667","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 17:27:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca41a7e99cc1.61264875","contact_didar_id":"4667","title":"معامله سوم 9016606910 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9016606910","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"افشار","existing_deal":"YES","existing_deal_id":"local_69ca41a7e99cc1.61264875","existing_deal_status":"Pending","server_time":"2026-04-18 17:27:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 17:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:14] [INFO] Deal success processed {"contact_id":"4667","person_name":"افشار","products_count":1}
[2026-04-18 17:27:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca41a7e99cc1.61264875","contact_id":"4667","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9016606910 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-18 17:27:14","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 17:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:14] [INFO] Updating virtual stage {"contact_id":"4667","stage_name":"with_purchase","force":true}
[2026-04-18 17:27:14] [INFO] Virtual stage successfully saved {"contact_id":"4667","stage_name":"with_purchase"}
[2026-04-18 17:27:14] [INFO] Moved contact out of kariz after successful deal {"contact_id":"4667","deal_id":"local_69ca41a7e99cc1.61264875","target_stage":"with_purchase"}
[2026-04-18 17:27:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-18 17:27:18] [INFO] Checking activity reminders 
[2026-04-18 17:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:27:33] [INFO] Checking activity reminders 
[2026-04-18 17:27:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:27:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:27:43] [INFO] Checking activity reminders 
[2026-04-18 17:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:28:08] [INFO] Checking activity reminders 
[2026-04-18 17:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:28:13] [INFO] Checking activity reminders 
[2026-04-18 17:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:28:41] [INFO] Checking activity reminders 
[2026-04-18 17:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:28:43] [INFO] Checking activity reminders 
[2026-04-18 17:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:28:44] [INFO] Activity save request {"post_data":{"contact_id":"11612","deal_id":"local_69e0a8d3a45c96.86448216","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"هزینه میگه بالاست \/ زدم 6ماهه با تخیفیف بیاد ببینم میاد ","activity_duration":"5","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:28:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:28:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:28:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11612","note_was_empty":true}
[2026-04-18 17:28:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"11612","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:28:44] [INFO] Updating virtual stage {"contact_id":"11612","stage_name":"deal_registered","force":false}
[2026-04-18 17:28:44] [INFO] Virtual stage successfully saved {"contact_id":"11612","stage_name":"deal_registered"}
[2026-04-18 17:28:44] [INFO] Virtual stage updated after activity save {"contact_id":"11612"}
[2026-04-18 17:28:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a8d3a45c96.86448216","stage":"تماس پیگیری","status_change":null}
[2026-04-18 17:28:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e38e14373f23.45795760","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:28:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e38e14373f23.45795760"}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:28:44] [INFO] Updating virtual stage {"contact_id":"11612","stage_name":"deal_registered","force":false}
[2026-04-18 17:28:44] [INFO] Virtual stage successfully saved {"contact_id":"11612","stage_name":"deal_registered"}
[2026-04-18 17:28:44] [INFO] Virtual stage updated after activity save {"contact_id":"11612"}
[2026-04-18 17:28:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:29:13] [INFO] Checking activity reminders 
[2026-04-18 17:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:29:15] [INFO] Checking activity reminders 
[2026-04-18 17:29:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:29:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:29:43] [INFO] Checking activity reminders 
[2026-04-18 17:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:29:45] [INFO] Checking activity reminders 
[2026-04-18 17:29:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:29:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:30:13] [INFO] Checking activity reminders 
[2026-04-18 17:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:30:15] [INFO] Checking activity reminders 
[2026-04-18 17:30:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:30:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:30:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:30:44] [INFO] Checking activity reminders 
[2026-04-18 17:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:30:45] [INFO] Checking activity reminders 
[2026-04-18 17:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:31:14] [INFO] Checking activity reminders 
[2026-04-18 17:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:31:15] [INFO] Checking activity reminders 
[2026-04-18 17:31:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:31:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:44] [INFO] Checking activity reminders 
[2026-04-18 17:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:31:46] [INFO] Checking activity reminders 
[2026-04-18 17:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:31:46] [INFO] Activity save request {"post_data":{"contact_id":"4373","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:31:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4373","note_was_empty":true}
[2026-04-18 17:31:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"4373","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 17:31:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e38eca26d6c7.00918615","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69e38eca26d6c7.00918615"}
[2026-04-18 17:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:46] [INFO] Updating virtual stage {"contact_id":"4373","stage_name":"deal_registered","force":false}
[2026-04-18 17:31:46] [INFO] Virtual stage successfully saved {"contact_id":"4373","stage_name":"deal_registered"}
[2026-04-18 17:31:46] [INFO] Virtual stage updated after activity save {"contact_id":"4373"}
[2026-04-18 17:31:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4373","person_id":"13987"}
[2026-04-18 17:31:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:32:14] [INFO] Checking activity reminders 
[2026-04-18 17:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:32:16] [INFO] Checking activity reminders 
[2026-04-18 17:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:32:44] [INFO] Checking activity reminders 
[2026-04-18 17:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:32:46] [INFO] Checking activity reminders 
[2026-04-18 17:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:33:14] [INFO] Checking activity reminders 
[2026-04-18 17:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:33:16] [INFO] Checking activity reminders 
[2026-04-18 17:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:33:44] [INFO] Checking activity reminders 
[2026-04-18 17:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:33:46] [INFO] Checking activity reminders 
[2026-04-18 17:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:34:14] [INFO] Checking activity reminders 
[2026-04-18 17:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:34:16] [INFO] Checking activity reminders 
[2026-04-18 17:34:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:34:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:34:44] [INFO] Checking activity reminders 
[2026-04-18 17:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:34:46] [INFO] Checking activity reminders 
[2026-04-18 17:34:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:34:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:35:14] [INFO] Checking activity reminders 
[2026-04-18 17:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:35:16] [INFO] Checking activity reminders 
[2026-04-18 17:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:35:44] [INFO] Checking activity reminders 
[2026-04-18 17:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:35:46] [INFO] Checking activity reminders 
[2026-04-18 17:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:36:14] [INFO] Checking activity reminders 
[2026-04-18 17:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:36:17] [INFO] Checking activity reminders 
[2026-04-18 17:36:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:36:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:36:44] [INFO] Checking activity reminders 
[2026-04-18 17:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:36:47] [INFO] Checking activity reminders 
[2026-04-18 17:36:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:36:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:37:15] [INFO] Checking activity reminders 
[2026-04-18 17:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:37:17] [INFO] Checking activity reminders 
[2026-04-18 17:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:37:45] [INFO] Checking activity reminders 
[2026-04-18 17:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:37:47] [INFO] Checking activity reminders 
[2026-04-18 17:37:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:37:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:38:15] [INFO] Checking activity reminders 
[2026-04-18 17:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:38:17] [INFO] Checking activity reminders 
[2026-04-18 17:38:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:38:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:38:45] [INFO] Checking activity reminders 
[2026-04-18 17:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:38:47] [INFO] Checking activity reminders 
[2026-04-18 17:38:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:38:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:39:15] [INFO] Checking activity reminders 
[2026-04-18 17:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:39:17] [INFO] Checking activity reminders 
[2026-04-18 17:39:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:39:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:39:45] [INFO] Checking activity reminders 
[2026-04-18 17:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:39:47] [INFO] Checking activity reminders 
[2026-04-18 17:39:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:39:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:40:15] [INFO] Checking activity reminders 
[2026-04-18 17:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:40:17] [INFO] Checking activity reminders 
[2026-04-18 17:40:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:40:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:40:45] [INFO] Checking activity reminders 
[2026-04-18 17:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:40:47] [INFO] Checking activity reminders 
[2026-04-18 17:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:41:15] [INFO] Checking activity reminders 
[2026-04-18 17:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:41:17] [INFO] Checking activity reminders 
[2026-04-18 17:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:41:45] [INFO] Checking activity reminders 
[2026-04-18 17:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:41:47] [INFO] Checking activity reminders 
[2026-04-18 17:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:12] [INFO] Checking activity reminders 
[2026-04-18 17:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:15] [INFO] Checking activity reminders 
[2026-04-18 17:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:17] [INFO] Checking activity reminders 
[2026-04-18 17:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:42] [INFO] Checking activity reminders 
[2026-04-18 17:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:45] [INFO] Checking activity reminders 
[2026-04-18 17:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:42:48] [INFO] Checking activity reminders 
[2026-04-18 17:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:12] [INFO] Checking activity reminders 
[2026-04-18 17:43:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:15] [INFO] Checking activity reminders 
[2026-04-18 17:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:18] [INFO] Checking activity reminders 
[2026-04-18 17:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:42] [INFO] Checking activity reminders 
[2026-04-18 17:43:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:45] [INFO] Checking activity reminders 
[2026-04-18 17:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:43:48] [INFO] Checking activity reminders 
[2026-04-18 17:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:12] [INFO] Checking activity reminders 
[2026-04-18 17:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:15] [INFO] Checking activity reminders 
[2026-04-18 17:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:18] [INFO] Checking activity reminders 
[2026-04-18 17:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:42] [INFO] Checking activity reminders 
[2026-04-18 17:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:46] [INFO] Checking activity reminders 
[2026-04-18 17:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:44:48] [INFO] Checking activity reminders 
[2026-04-18 17:44:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:44:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:12] [INFO] Checking activity reminders 
[2026-04-18 17:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:16] [INFO] Checking activity reminders 
[2026-04-18 17:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:17] [INFO] Activity save request {"post_data":{"contact_id":"15891","deal_id":"local_69e0a52076e8d6.17762245","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بهدی طلایی داره 2میلیارد مونده \/ ماشینش پرشیا \/ گفتم تبدیل کن مدل پایینتر الباقی بدهی طلا بده\/ 1ملک داره \/ استاد قبلا بهش گفته بدهی طلایی رو بده بعد بیا\r\nاوکی شد اطلاع میده","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:45:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15891","note_was_empty":true}
[2026-04-18 17:45:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"15891","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:17] [INFO] Updating virtual stage {"contact_id":"15891","stage_name":"deal_registered","force":false}
[2026-04-18 17:45:17] [INFO] Virtual stage successfully saved {"contact_id":"15891","stage_name":"deal_registered"}
[2026-04-18 17:45:17] [INFO] Virtual stage updated after activity save {"contact_id":"15891"}
[2026-04-18 17:45:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a52076e8d6.17762245","stage":"تماس پیگیری","status_change":null}
[2026-04-18 17:45:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e391f5078548.93768215","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e391f5078548.93768215"}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:17] [INFO] Updating virtual stage {"contact_id":"15891","stage_name":"deal_registered","force":false}
[2026-04-18 17:45:17] [INFO] Virtual stage successfully saved {"contact_id":"15891","stage_name":"deal_registered"}
[2026-04-18 17:45:17] [INFO] Virtual stage updated after activity save {"contact_id":"15891"}
[2026-04-18 17:45:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-18 17:45:18] [INFO] Checking activity reminders 
[2026-04-18 17:45:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-18 17:45:42] [INFO] Checking activity reminders 
[2026-04-18 17:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:46] [INFO] Checking activity reminders 
[2026-04-18 17:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:45:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:45:48] [INFO] Checking activity reminders 
[2026-04-18 17:45:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:45:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:12] [INFO] Checking activity reminders 
[2026-04-18 17:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:16] [INFO] Checking activity reminders 
[2026-04-18 17:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:18] [INFO] Checking activity reminders 
[2026-04-18 17:46:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:42] [INFO] Checking activity reminders 
[2026-04-18 17:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:46] [INFO] Checking activity reminders 
[2026-04-18 17:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:46:48] [INFO] Checking activity reminders 
[2026-04-18 17:46:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:46:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:12] [INFO] Checking activity reminders 
[2026-04-18 17:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:16] [INFO] Checking activity reminders 
[2026-04-18 17:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:18] [INFO] Checking activity reminders 
[2026-04-18 17:47:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:42] [INFO] Checking activity reminders 
[2026-04-18 17:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:46] [INFO] Checking activity reminders 
[2026-04-18 17:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:47:48] [INFO] Checking activity reminders 
[2026-04-18 17:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:12] [INFO] Checking activity reminders 
[2026-04-18 17:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:16] [INFO] Checking activity reminders 
[2026-04-18 17:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:18] [INFO] Checking activity reminders 
[2026-04-18 17:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:43] [INFO] Checking activity reminders 
[2026-04-18 17:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:46] [INFO] Checking activity reminders 
[2026-04-18 17:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:49] [INFO] Checking activity reminders 
[2026-04-18 17:48:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:48:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:48:49] [INFO] Activity save request {"post_data":{"contact_id":"14977","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"یزد \r\nکار ساخت و ساز \r\nسرمایه گذاری در طلای فیزیکی بلند مدت \r\nنوسان گیری در صندوق \/ بورس و \/عیار \r\nپرزنت 6 ماهه کانال 405 \r\nارسال اطلاعات در بله","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:48:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:48:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:48:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:48:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:48:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14977","note_was_empty":true}
[2026-04-18 17:48:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"14977","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 17:48:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e392c94ecfe6.39282961","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:48:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:48:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e392c94ecfe6.39282961"}
[2026-04-18 17:48:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:48:49] [INFO] Updating virtual stage {"contact_id":"14977","stage_name":"deal_registered","force":false}
[2026-04-18 17:48:49] [INFO] Virtual stage successfully saved {"contact_id":"14977","stage_name":"deal_registered"}
[2026-04-18 17:48:49] [INFO] Virtual stage updated after activity save {"contact_id":"14977"}
[2026-04-18 17:48:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-18 17:49:13] [INFO] Checking activity reminders 
[2026-04-18 17:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:49:16] [INFO] Checking activity reminders 
[2026-04-18 17:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:49:19] [INFO] Checking activity reminders 
[2026-04-18 17:49:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:49:43] [INFO] Checking activity reminders 
[2026-04-18 17:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:49:46] [INFO] Checking activity reminders 
[2026-04-18 17:49:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:49:49] [INFO] Checking activity reminders 
[2026-04-18 17:49:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:49:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:13] [INFO] Checking activity reminders 
[2026-04-18 17:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:16] [INFO] Checking activity reminders 
[2026-04-18 17:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:19] [INFO] Checking activity reminders 
[2026-04-18 17:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:43] [INFO] Checking activity reminders 
[2026-04-18 17:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:46] [INFO] Checking activity reminders 
[2026-04-18 17:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:50:49] [INFO] Checking activity reminders 
[2026-04-18 17:50:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:50:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:13] [INFO] Checking activity reminders 
[2026-04-18 17:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:16] [INFO] Checking activity reminders 
[2026-04-18 17:51:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:19] [INFO] Checking activity reminders 
[2026-04-18 17:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:43] [INFO] Checking activity reminders 
[2026-04-18 17:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:51:46] [INFO] Checking activity reminders 
[2026-04-18 17:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:51:49] [INFO] Checking activity reminders 
[2026-04-18 17:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:16] [INFO] Checking activity reminders 
[2026-04-18 17:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:19] [INFO] Checking activity reminders 
[2026-04-18 17:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:24] [INFO] Activity save request {"post_data":{"contact_id":"2633","deal_id":"local_69495317823959.58597259","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پسر خاله اش جواب داد \r\nگفت رفته جایی \/ تلفن جا گذاشته ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:52:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2633","note_was_empty":true}
[2026-04-18 17:52:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"2633","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:24] [INFO] Updating virtual stage {"contact_id":"2633","stage_name":"deal_registered","force":false}
[2026-04-18 17:52:24] [INFO] Virtual stage successfully saved {"contact_id":"2633","stage_name":"deal_registered"}
[2026-04-18 17:52:24] [INFO] Virtual stage updated after activity save {"contact_id":"2633"}
[2026-04-18 17:52:24] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69495317823959.58597259","stage":"تماس پیگیری","status_change":null}
[2026-04-18 17:52:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e393a0179f01.06620800","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69e393a0179f01.06620800"}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:24] [INFO] Updating virtual stage {"contact_id":"2633","stage_name":"deal_registered","force":false}
[2026-04-18 17:52:24] [INFO] Virtual stage successfully saved {"contact_id":"2633","stage_name":"deal_registered"}
[2026-04-18 17:52:24] [INFO] Virtual stage updated after activity save {"contact_id":"2633"}
[2026-04-18 17:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-18 17:52:47] [INFO] Checking activity reminders 
[2026-04-18 17:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:49] [INFO] Checking activity reminders 
[2026-04-18 17:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:54] [INFO] Checking activity reminders 
[2026-04-18 17:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:52:56] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:52:56] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 17:52:56] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:53:04] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:53:04] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 17:53:04] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 17:53:17] [INFO] Checking activity reminders 
[2026-04-18 17:53:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:53:24] [INFO] Checking activity reminders 
[2026-04-18 17:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:53:36] [INFO] Checking activity reminders 
[2026-04-18 17:53:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:53:47] [INFO] Checking activity reminders 
[2026-04-18 17:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:53:47] [INFO] Checking activity reminders 
[2026-04-18 17:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:53:50] [INFO] Checking activity reminders 
[2026-04-18 17:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:54:17] [INFO] Checking activity reminders 
[2026-04-18 17:54:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:54:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:54:20] [INFO] Checking activity reminders 
[2026-04-18 17:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:54:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-18 17:54:47] [INFO] Checking activity reminders 
[2026-04-18 17:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:54:50] [INFO] Checking activity reminders 
[2026-04-18 17:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:55:17] [INFO] Checking activity reminders 
[2026-04-18 17:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:55:20] [INFO] Checking activity reminders 
[2026-04-18 17:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:55:47] [INFO] Checking activity reminders 
[2026-04-18 17:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:55:50] [INFO] Checking activity reminders 
[2026-04-18 17:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_100","deal_id":"local_69d210b11b2196.48242971","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:56:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_100","note_was_empty":true}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_100","stage_name":"deal_registered","force":false}
[2026-04-18 17:56:10] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_100","stage_name":"deal_registered"}
[2026-04-18 17:56:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_100"}
[2026-04-18 17:56:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d210b11b2196.48242971","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 17:56:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e394829870f8.42799611","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e394829870f8.42799611"}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:10] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_100","stage_name":"deal_registered","force":false}
[2026-04-18 17:56:10] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_100","stage_name":"deal_registered"}
[2026-04-18 17:56:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_100"}
[2026-04-18 17:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_100","person_id":"21177"}
[2026-04-18 17:56:17] [INFO] Checking activity reminders 
[2026-04-18 17:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:56:20] [INFO] Checking activity reminders 
[2026-04-18 17:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:56:47] [INFO] Checking activity reminders 
[2026-04-18 17:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:56:50] [INFO] Checking activity reminders 
[2026-04-18 17:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:56:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 17:57:17] [INFO] Checking activity reminders 
[2026-04-18 17:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:57:20] [INFO] Checking activity reminders 
[2026-04-18 17:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:57:47] [INFO] Checking activity reminders 
[2026-04-18 17:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:57:50] [INFO] Checking activity reminders 
[2026-04-18 17:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:58:17] [INFO] Checking activity reminders 
[2026-04-18 17:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:58:21] [INFO] Checking activity reminders 
[2026-04-18 17:58:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:58:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:58:43] [INFO] Lead update received {"contact_id":"7791","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 17:58:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 17:58:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 17:58:43] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7791"}
[2026-04-18 17:58:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 17:58:45] [INFO] Activity save request {"post_data":{"contact_id":"7006","deal_id":"local_69e0a701393016.06725119","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تولید کننده پوشاک زنانه \/ لباس زیر \/ عمده فروش \/ مغازه برای خودش \/ \r\nچک زیاد داده جنگه مونده \/ 450 گرم طلا \/ دنا مصرف \/ نقدینگی در حد 1میلیارد \/ \r\nارسال ش کارت 6 ماهه 12الان میزنه تسویه 29 اردیبهسشت ","activity_duration":"15","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 17:58:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7006","note_was_empty":true}
[2026-04-18 17:58:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"7006","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:45] [INFO] Updating virtual stage {"contact_id":"7006","stage_name":"deal_registered","force":false}
[2026-04-18 17:58:45] [INFO] Virtual stage successfully saved {"contact_id":"7006","stage_name":"deal_registered"}
[2026-04-18 17:58:45] [INFO] Virtual stage updated after activity save {"contact_id":"7006"}
[2026-04-18 17:58:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a701393016.06725119","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 17:58:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3951dcbed44.14496384","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3951dcbed44.14496384"}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:45] [INFO] Updating virtual stage {"contact_id":"7006","stage_name":"deal_registered","force":false}
[2026-04-18 17:58:45] [INFO] Virtual stage successfully saved {"contact_id":"7006","stage_name":"deal_registered"}
[2026-04-18 17:58:45] [INFO] Virtual stage updated after activity save {"contact_id":"7006"}
[2026-04-18 17:58:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 17:58:47] [INFO] Checking activity reminders 
[2026-04-18 17:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:58:51] [INFO] Checking activity reminders 
[2026-04-18 17:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:59:17] [INFO] Checking activity reminders 
[2026-04-18 17:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:59:21] [INFO] Checking activity reminders 
[2026-04-18 17:59:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:59:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:59:48] [INFO] Checking activity reminders 
[2026-04-18 17:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 17:59:51] [INFO] Checking activity reminders 
[2026-04-18 17:59:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 17:59:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:00:18] [INFO] Checking activity reminders 
[2026-04-18 18:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:00:21] [INFO] Checking activity reminders 
[2026-04-18 18:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:00:48] [INFO] Checking activity reminders 
[2026-04-18 18:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:00:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-18 18:00:51] [INFO] Checking activity reminders 
[2026-04-18 18:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:01:18] [INFO] Checking activity reminders 
[2026-04-18 18:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:01:21] [INFO] Checking activity reminders 
[2026-04-18 18:01:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:01:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:01:48] [INFO] Checking activity reminders 
[2026-04-18 18:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:01:51] [INFO] Checking activity reminders 
[2026-04-18 18:01:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:01:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:02:18] [INFO] Checking activity reminders 
[2026-04-18 18:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:02:21] [INFO] Checking activity reminders 
[2026-04-18 18:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:02:52] [INFO] Checking activity reminders 
[2026-04-18 18:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:03:22] [INFO] Checking activity reminders 
[2026-04-18 18:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:03:35] [INFO] Activity save request {"post_data":{"contact_id":"7791","deal_id":"local_69d69252cf08c5.11409320","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر هزینه و مراسم عروسی \r\nسرمایه برای نوسان گیری و سرمایه مازاد نداره \r\nبرنامه ای برای اشتراک کاانال نداره ","activity_duration":"5","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:03:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7791","note_was_empty":true}
[2026-04-18 18:03:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"7791","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:35] [INFO] Updating virtual stage {"contact_id":"7791","stage_name":"deal_registered","force":false}
[2026-04-18 18:03:35] [INFO] Virtual stage successfully saved {"contact_id":"7791","stage_name":"deal_registered"}
[2026-04-18 18:03:35] [INFO] Virtual stage updated after activity save {"contact_id":"7791"}
[2026-04-18 18:03:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d69252cf08c5.11409320","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 18:03:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3963f0f6245.57791742","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3963f0f6245.57791742"}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:35] [INFO] Updating virtual stage {"contact_id":"7791","stage_name":"deal_registered","force":false}
[2026-04-18 18:03:35] [INFO] Virtual stage successfully saved {"contact_id":"7791","stage_name":"deal_registered"}
[2026-04-18 18:03:35] [INFO] Virtual stage updated after activity save {"contact_id":"7791"}
[2026-04-18 18:03:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:03:52] [INFO] Checking activity reminders 
[2026-04-18 18:03:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:03:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:04:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7791","deal_id":"local_69d69252cf08c5.11409320","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:04:09","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 18:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:04:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7791","is_new_deal":false}
[2026-04-18 18:04:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:04:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:04:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:04:09] [INFO] getContactPrimaryPhone called {"contact_id":"7791"}
[2026-04-18 18:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:04:09] [INFO] getContactPrimaryPhone result {"contact_id":"7791","person_found":true,"primary_phone":"9367753601"}
[2026-04-18 18:04:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367753601"}
[2026-04-18 18:04:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367753601","contact_id":"7791","deal_id":"local_69d69252cf08c5.11409320","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 18:04:09"}
[2026-04-18 18:04:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d69252cf08c5.11409320","contact_id":"7791","existing_deal_found":true,"existing_contact_id":"7791","existing_title":"معامله سوم 9367753601 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 18:04:09"}
[2026-04-18 18:04:09] [INFO] DealController.save validated payments {"deal_id":"local_69d69252cf08c5.11409320","contact_id":"7791","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-18 18:04:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7791","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 18:04:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d69252cf08c5.11409320","contact_didar_id":"7791","title":"معامله سوم 9367753601 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9367753601","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مهرداد محمودی","existing_deal":"YES","existing_deal_id":"local_69d69252cf08c5.11409320","existing_deal_status":"Pending","server_time":"2026-04-18 18:04:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 18:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:04:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d69252cf08c5.11409320","contact_id":"7791","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9367753601 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 18:04:09","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7791","person_id":"10280"}
[2026-04-18 18:04:22] [INFO] Checking activity reminders 
[2026-04-18 18:04:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:04:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:04:29] [INFO] Checking activity reminders 
[2026-04-18 18:04:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:04:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:04:59] [INFO] Checking activity reminders 
[2026-04-18 18:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:05:29] [INFO] Checking activity reminders 
[2026-04-18 18:05:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:05:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:05:49] [INFO] Checking activity reminders 
[2026-04-18 18:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:05:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:05:59] [INFO] Checking activity reminders 
[2026-04-18 18:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:06:19] [INFO] Checking activity reminders 
[2026-04-18 18:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:06:29] [INFO] Checking activity reminders 
[2026-04-18 18:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:06:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:06:49] [INFO] Checking activity reminders 
[2026-04-18 18:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:06:59] [INFO] Checking activity reminders 
[2026-04-18 18:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:07:19] [INFO] Checking activity reminders 
[2026-04-18 18:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:07:30] [INFO] Checking activity reminders 
[2026-04-18 18:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:07:49] [INFO] Checking activity reminders 
[2026-04-18 18:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:08:00] [INFO] Checking activity reminders 
[2026-04-18 18:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:08:19] [INFO] Checking activity reminders 
[2026-04-18 18:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:08:30] [INFO] Checking activity reminders 
[2026-04-18 18:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:08:49] [INFO] Checking activity reminders 
[2026-04-18 18:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:00] [INFO] Checking activity reminders 
[2026-04-18 18:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:19] [INFO] Checking activity reminders 
[2026-04-18 18:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:30] [INFO] Checking activity reminders 
[2026-04-18 18:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:34] [INFO] Activity save request {"post_data":{"contact_id":"12882","deal_id":"local_69c7f926a302a0.79542227","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:34] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:09:34] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:34] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12882","note_was_empty":true}
[2026-04-18 18:09:34] [INFO] Didar write disabled; saving activity locally {"contact_id":"12882","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:34] [INFO] Updating virtual stage {"contact_id":"12882","stage_name":"deal_registered","force":false}
[2026-04-18 18:09:34] [INFO] Virtual stage successfully saved {"contact_id":"12882","stage_name":"deal_registered"}
[2026-04-18 18:09:34] [INFO] Virtual stage updated after activity save {"contact_id":"12882"}
[2026-04-18 18:09:34] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c7f926a302a0.79542227","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-18 18:09:34] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e397a681bb05.28027503","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:34] [INFO] Activity saved successfully {"activity_id":"local_activity_69e397a681bb05.28027503"}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:34] [INFO] Updating virtual stage {"contact_id":"12882","stage_name":"deal_registered","force":false}
[2026-04-18 18:09:34] [INFO] Virtual stage successfully saved {"contact_id":"12882","stage_name":"deal_registered"}
[2026-04-18 18:09:34] [INFO] Virtual stage updated after activity save {"contact_id":"12882"}
[2026-04-18 18:09:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12882","person_id":"14020"}
[2026-04-18 18:09:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7006","deal_id":"local_69e0a701393016.06725119","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:09:40","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 18:09:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7006","is_new_deal":false}
[2026-04-18 18:09:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 18:09:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 18:09:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-18 18:09:40] [INFO] getContactPrimaryPhone called {"contact_id":"7006"}
[2026-04-18 18:09:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:40] [INFO] getContactPrimaryPhone result {"contact_id":"7006","person_found":true,"primary_phone":"9128037845"}
[2026-04-18 18:09:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128037845"}
[2026-04-18 18:09:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128037845","contact_id":"7006","deal_id":"local_69e0a701393016.06725119","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 18:09:40"}
[2026-04-18 18:09:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e0a701393016.06725119","contact_id":"7006","existing_deal_found":true,"existing_contact_id":"7006","existing_title":"معامله دوم 9128037845 | کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 18:09:40"}
[2026-04-18 18:09:40] [INFO] DealController.save validated payments {"deal_id":"local_69e0a701393016.06725119","contact_id":"7006","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 18:09:40] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"7006","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 18:09:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e0a701393016.06725119","contact_didar_id":"7006","title":"معامله دوم 9128037845 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9128037845","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":12000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای پناهی","existing_deal":"YES","existing_deal_id":"local_69e0a701393016.06725119","existing_deal_status":"Pending","server_time":"2026-04-18 18:09:40","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 18:09:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e0a701393016.06725119","contact_id":"7006","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9128037845 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":12000000,"server_time":"2026-04-18 18:09:40","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:09:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:40] [INFO] Checking activity reminders 
[2026-04-18 18:09:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:09:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:50] [INFO] Checking activity reminders 
[2026-04-18 18:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:09:57] [INFO] Activity save request {"post_data":{"contact_id":"7006","deal_id":"local_69e0a701393016.06725119","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه 29 اردیبهشت \/ مدت اشتراک تا اخر شهریور اعلام کردم \r\n12 ت الان زد","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:09:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7006","note_was_empty":true}
[2026-04-18 18:09:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"7006","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:57] [INFO] Updating virtual stage {"contact_id":"7006","stage_name":"deal_registered","force":false}
[2026-04-18 18:09:57] [INFO] Virtual stage successfully saved {"contact_id":"7006","stage_name":"deal_registered"}
[2026-04-18 18:09:57] [INFO] Virtual stage updated after activity save {"contact_id":"7006"}
[2026-04-18 18:09:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a701393016.06725119","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-18 18:09:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e397bd9fad29.77585492","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e397bd9fad29.77585492"}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:09:57] [INFO] Updating virtual stage {"contact_id":"7006","stage_name":"deal_registered","force":false}
[2026-04-18 18:09:57] [INFO] Virtual stage successfully saved {"contact_id":"7006","stage_name":"deal_registered"}
[2026-04-18 18:09:57] [INFO] Virtual stage updated after activity save {"contact_id":"7006"}
[2026-04-18 18:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-18 18:10:10] [INFO] Checking activity reminders 
[2026-04-18 18:10:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:10:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:10:20] [INFO] Checking activity reminders 
[2026-04-18 18:10:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:10:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:10:40] [INFO] Checking activity reminders 
[2026-04-18 18:10:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:10:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:10:50] [INFO] Checking activity reminders 
[2026-04-18 18:10:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:10:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-18 18:11:10] [INFO] Checking activity reminders 
[2026-04-18 18:11:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:11:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:11:20] [INFO] Checking activity reminders 
[2026-04-18 18:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:11:22] [INFO] Activity save request {"post_data":{"contact_id":"5884","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خانه خریده خیلی قسط داره \r\nپرزنت 6 ماهه \/ نوسان گیری در بازار \r\nدر حال جابجایی مغازه \r\nارسال در بله\r\n","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 18:11:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:11:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 18:11:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5884","note_was_empty":true}
[2026-04-18 18:11:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"5884","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 18:11:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e398129e3215.78366033","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 18:11:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e398129e3215.78366033"}
[2026-04-18 18:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 18:11:22] [INFO] Updating virtual stage {"contact_id":"5884","stage_name":"deal_registered","force":false}
[2026-04-18 18:11:22] [INFO] Virtual stage successfully saved {"contact_id":"5884","stage_name":"deal_registered"}
[2026-04-18 18:11:22] [INFO] Virtual stage updated after activity save {"contact_id":"5884"}
[2026-04-18 18:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5884","person_id":"19898"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"check_reminders"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:31] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:40] [INFO] Checking activity reminders 
[2026-04-18 18:11:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:11:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:11:50] [INFO] Checking activity reminders 
[2026-04-18 18:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:11:52] [WARNING] Auth check failed - not authenticated {"session_id":"kh3qa280isrf6a95216qdo4eti","session_keys":[],"action":"log_client_event"}
[2026-04-18 18:11:52] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-18 18:11:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 18:12:10] [INFO] Checking activity reminders 
[2026-04-18 18:12:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:12:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:12:13] [INFO] Checking activity reminders 
[2026-04-18 18:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:12:20] [INFO] Checking activity reminders 
[2026-04-18 18:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:12:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14698","deal_id":"local_69ba9cf0b0b840.23617668","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:12:25","session_id":"r7m3eceblvltmtb55nvlhqcfeg"}
[2026-04-18 18:12:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-18 18:12:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14698","is_new_deal":false}
[2026-04-18 18:12:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-18 18:12:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 18:12:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-18 18:12:25] [INFO] getContactPrimaryPhone called {"contact_id":"14698"}
[2026-04-18 18:12:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-18 18:12:25] [INFO] getContactPrimaryPhone result {"contact_id":"14698","person_found":true,"primary_phone":"9176170414"}
[2026-04-18 18:12:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9176170414"}
[2026-04-18 18:12:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9176170414","contact_id":"14698","deal_id":"local_69ba9cf0b0b840.23617668","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 18:12:25"}
[2026-04-18 18:12:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ba9cf0b0b840.23617668","contact_id":"14698","existing_deal_found":true,"existing_contact_id":"14698","existing_title":"معامله دوم 9176170414 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-18 18:12:25"}
[2026-04-18 18:12:25] [INFO] DealController.save validated payments {"deal_id":"local_69ba9cf0b0b840.23617668","contact_id":"14698","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 18:12:25] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14698","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 18:12:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ba9cf0b0b840.23617668","contact_didar_id":"14698","title":"معامله دوم 9176170414 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9176170414","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"میرابیان","existing_deal":"YES","existing_deal_id":"local_69ba9cf0b0b840.23617668","existing_deal_status":"Pending","server_time":"2026-04-18 18:12:25","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-18 18:12:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-18 18:12:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ba9cf0b0b840.23617668","contact_id":"14698","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9176170414 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":30000000,"server_time":"2026-04-18 18:12:25","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:12:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-18 18:12:41] [INFO] Checking activity reminders 
[2026-04-18 18:12:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:12:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:12:50] [INFO] Checking activity reminders 
[2026-04-18 18:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:13:11] [INFO] Checking activity reminders 
[2026-04-18 18:13:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:13:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:13:20] [INFO] Checking activity reminders 
[2026-04-18 18:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:13:41] [INFO] Checking activity reminders 
[2026-04-18 18:13:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:13:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:13:50] [INFO] Checking activity reminders 
[2026-04-18 18:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:14:11] [INFO] Checking activity reminders 
[2026-04-18 18:14:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:14:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:14:20] [INFO] Checking activity reminders 
[2026-04-18 18:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:14:41] [INFO] Checking activity reminders 
[2026-04-18 18:14:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:14:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:14:50] [INFO] Checking activity reminders 
[2026-04-18 18:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:15:11] [INFO] Checking activity reminders 
[2026-04-18 18:15:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:15:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:15:20] [INFO] Checking activity reminders 
[2026-04-18 18:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:15:41] [INFO] Checking activity reminders 
[2026-04-18 18:15:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:15:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:15:50] [INFO] Checking activity reminders 
[2026-04-18 18:15:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:15:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:16:11] [INFO] Checking activity reminders 
[2026-04-18 18:16:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:16:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:16:20] [INFO] Checking activity reminders 
[2026-04-18 18:16:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:16:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:16:41] [INFO] Checking activity reminders 
[2026-04-18 18:16:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:16:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:16:43] [INFO] Checking activity reminders 
[2026-04-18 18:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:16:51] [INFO] Checking activity reminders 
[2026-04-18 18:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:17:11] [INFO] Checking activity reminders 
[2026-04-18 18:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:17:13] [INFO] Checking activity reminders 
[2026-04-18 18:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:17:21] [INFO] Checking activity reminders 
[2026-04-18 18:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:17:23] [INFO] Activity save request {"post_data":{"contact_id":"21663","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیام پیگیری واریز","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:17:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:17:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:17:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21663","note_was_empty":true}
[2026-04-18 18:17:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"21663","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 18:17:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3997b83b332.07391536","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:17:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3997b83b332.07391536"}
[2026-04-18 18:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:17:23] [INFO] Updating virtual stage {"contact_id":"21663","stage_name":"deal_registered","force":false}
[2026-04-18 18:17:23] [INFO] Virtual stage successfully saved {"contact_id":"21663","stage_name":"deal_registered"}
[2026-04-18 18:17:23] [INFO] Virtual stage updated after activity save {"contact_id":"21663"}
[2026-04-18 18:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-18 18:17:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 18:17:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 18:17:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 18:17:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 18:17:41] [INFO] Checking activity reminders 
[2026-04-18 18:17:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:17:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:18:11] [INFO] Checking activity reminders 
[2026-04-18 18:18:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:18:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:18:41] [INFO] Checking activity reminders 
[2026-04-18 18:18:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:18:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:19:11] [INFO] Checking activity reminders 
[2026-04-18 18:19:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:19:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:19:42] [INFO] Checking activity reminders 
[2026-04-18 18:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:20:12] [INFO] Checking activity reminders 
[2026-04-18 18:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:20:42] [INFO] Checking activity reminders 
[2026-04-18 18:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:21:12] [INFO] Checking activity reminders 
[2026-04-18 18:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:21:42] [INFO] Checking activity reminders 
[2026-04-18 18:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:22:12] [INFO] Checking activity reminders 
[2026-04-18 18:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:22:42] [INFO] Checking activity reminders 
[2026-04-18 18:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:23:12] [INFO] Checking activity reminders 
[2026-04-18 18:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:23:42] [INFO] Checking activity reminders 
[2026-04-18 18:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:24:12] [INFO] Checking activity reminders 
[2026-04-18 18:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:24:42] [INFO] Checking activity reminders 
[2026-04-18 18:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:25:12] [INFO] Checking activity reminders 
[2026-04-18 18:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:25:42] [INFO] Checking activity reminders 
[2026-04-18 18:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:25:57] [INFO] Checking activity reminders 
[2026-04-18 18:25:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:25:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:03] [INFO] Checking activity reminders 
[2026-04-18 18:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 18:26:04] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 18:26:04] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 18:26:04] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 18:26:12] [INFO] Checking activity reminders 
[2026-04-18 18:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:23] [INFO] Checking activity reminders 
[2026-04-18 18:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:26:34] [INFO] Checking activity reminders 
[2026-04-18 18:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:43] [INFO] Checking activity reminders 
[2026-04-18 18:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:26:53] [INFO] Checking activity reminders 
[2026-04-18 18:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:04] [INFO] Checking activity reminders 
[2026-04-18 18:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:13] [INFO] Checking activity reminders 
[2026-04-18 18:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:23] [INFO] Checking activity reminders 
[2026-04-18 18:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:34] [INFO] Checking activity reminders 
[2026-04-18 18:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15705","deal_id":"local_699e9e891878c7.93798648","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:27:42","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:42] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15705","is_new_deal":false}
[2026-04-18 18:27:42] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:27:42] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:27:42] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:27:42] [INFO] getContactPrimaryPhone called {"contact_id":"15705"}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:42] [INFO] getContactPrimaryPhone result {"contact_id":"15705","person_found":true,"primary_phone":"9109093055"}
[2026-04-18 18:27:42] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109093055"}
[2026-04-18 18:27:42] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109093055","contact_id":"15705","deal_id":"local_699e9e891878c7.93798648","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:27:42"}
[2026-04-18 18:27:42] [INFO] DealController.save existing deal lookup {"deal_id":"local_699e9e891878c7.93798648","contact_id":"15705","existing_deal_found":true,"existing_contact_id":"15705","existing_title":"معامله دوم 9109093055 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:27:42"}
[2026-04-18 18:27:42] [INFO] DealController.save validated payments {"deal_id":"local_699e9e891878c7.93798648","contact_id":"15705","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 18:27:42] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"15705","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:27:42] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699e9e891878c7.93798648","contact_didar_id":"15705","title":"معامله دوم 9109093055 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9109093055","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"امامی امامی","existing_deal":"YES","existing_deal_id":"local_699e9e891878c7.93798648","existing_deal_status":"Pending","server_time":"2026-04-18 18:27:42","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:42] [INFO] Deal success processed {"contact_id":"15705","person_name":"امامی امامی","products_count":1}
[2026-04-18 18:27:42] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699e9e891878c7.93798648","contact_id":"15705","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9109093055 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 18:27:42","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:42] [INFO] Updating virtual stage {"contact_id":"15705","stage_name":"with_purchase","force":true}
[2026-04-18 18:27:42] [INFO] Virtual stage successfully saved {"contact_id":"15705","stage_name":"with_purchase"}
[2026-04-18 18:27:42] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15705","deal_id":"local_699e9e891878c7.93798648","target_stage":"with_purchase"}
[2026-04-18 18:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15705","person_id":"13898"}
[2026-04-18 18:27:43] [INFO] Checking activity reminders 
[2026-04-18 18:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:53] [INFO] Checking activity reminders 
[2026-04-18 18:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:27:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13081","person_id":"15148"}
[2026-04-18 18:27:57] [INFO] Activity save request {"post_data":{"contact_id":"9756","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فردا بیعانه میزنه 5ت \/ پس فردئا میگه چقدر دیگه نقد الباقی چک 30 روز یا 45 روزه\r\nمعامله ملکی فعلا اوکی نشده","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:27:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:27:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:27:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9756","note_was_empty":true}
[2026-04-18 18:27:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"9756","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-18 18:27:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e39bf51189f3.37466711","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:27:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e39bf51189f3.37466711"}
[2026-04-18 18:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:27:57] [INFO] Updating virtual stage {"contact_id":"9756","stage_name":"deal_registered","force":false}
[2026-04-18 18:27:57] [INFO] Virtual stage successfully saved {"contact_id":"9756","stage_name":"deal_registered"}
[2026-04-18 18:27:57] [INFO] Virtual stage updated after activity save {"contact_id":"9756"}
[2026-04-18 18:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9756","person_id":"5180"}
[2026-04-18 18:28:04] [INFO] Checking activity reminders 
[2026-04-18 18:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:13] [INFO] Checking activity reminders 
[2026-04-18 18:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"13081","deal_id":"local_69c7e6427ca1c0.39449677","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:28:16","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:28:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13081","person_id":"15148"}
[2026-04-18 18:28:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"13081","is_new_deal":false}
[2026-04-18 18:28:16] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:16] [INFO] getContactPrimaryPhone called {"contact_id":"13081"}
[2026-04-18 18:28:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13081","person_id":"15148"}
[2026-04-18 18:28:16] [INFO] getContactPrimaryPhone result {"contact_id":"13081","person_found":true,"primary_phone":"9044035253"}
[2026-04-18 18:28:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9044035253"}
[2026-04-18 18:28:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9044035253","contact_id":"13081","deal_id":"local_69c7e6427ca1c0.39449677","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:28:16"}
[2026-04-18 18:28:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7e6427ca1c0.39449677","contact_id":"13081","existing_deal_found":true,"existing_contact_id":"13081","existing_title":"معامله چهارم 9044035253 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:28:16"}
[2026-04-18 18:28:16] [INFO] DealController.save validated payments {"deal_id":"local_69c7e6427ca1c0.39449677","contact_id":"13081","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-18 18:28:16] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"13081","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:28:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7e6427ca1c0.39449677","contact_didar_id":"13081","title":"معامله چهارم 9044035253 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9044035253","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"میرزا زاده","existing_deal":"YES","existing_deal_id":"local_69c7e6427ca1c0.39449677","existing_deal_status":"Pending","server_time":"2026-04-18 18:28:16","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:28:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13081","person_id":"15148"}
[2026-04-18 18:28:16] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7e6427ca1c0.39449677","contact_id":"13081","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله چهارم 9044035253 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-18 18:28:16","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:28:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13081","person_id":"15148"}
[2026-04-18 18:28:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:23] [INFO] Checking activity reminders 
[2026-04-18 18:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:34] [INFO] Checking activity reminders 
[2026-04-18 18:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:43] [INFO] Checking activity reminders 
[2026-04-18 18:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:53] [INFO] Checking activity reminders 
[2026-04-18 18:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:28:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9541","deal_id":"local_69b7319e6b73d5.05642724","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:28:57","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9541","is_new_deal":false}
[2026-04-18 18:28:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:28:57] [INFO] getContactPrimaryPhone called {"contact_id":"9541"}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:57] [INFO] getContactPrimaryPhone result {"contact_id":"9541","person_found":true,"primary_phone":"9021021100"}
[2026-04-18 18:28:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9021021100"}
[2026-04-18 18:28:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9021021100","contact_id":"9541","deal_id":"local_69b7319e6b73d5.05642724","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:28:57"}
[2026-04-18 18:28:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b7319e6b73d5.05642724","contact_id":"9541","existing_deal_found":true,"existing_contact_id":"9541","existing_title":"معامله دوم 9021021100 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:28:57"}
[2026-04-18 18:28:57] [INFO] DealController.save validated payments {"deal_id":"local_69b7319e6b73d5.05642724","contact_id":"9541","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 18:28:57] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"9541","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:28:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b7319e6b73d5.05642724","contact_didar_id":"9541","title":"معامله دوم 9021021100 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9021021100","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"فرهاد داریوش","existing_deal":"YES","existing_deal_id":"local_69b7319e6b73d5.05642724","existing_deal_status":"Pending","server_time":"2026-04-18 18:28:57","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:57] [INFO] Deal success processed {"contact_id":"9541","person_name":"فرهاد داریوش","products_count":1}
[2026-04-18 18:28:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b7319e6b73d5.05642724","contact_id":"9541","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9021021100 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 18:28:57","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:28:57] [INFO] Updating virtual stage {"contact_id":"9541","stage_name":"with_purchase","force":true}
[2026-04-18 18:28:57] [INFO] Virtual stage successfully saved {"contact_id":"9541","stage_name":"with_purchase"}
[2026-04-18 18:28:57] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9541","deal_id":"local_69b7319e6b73d5.05642724","target_stage":"with_purchase"}
[2026-04-18 18:28:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-18 18:29:04] [INFO] Checking activity reminders 
[2026-04-18 18:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:29:13] [INFO] Checking activity reminders 
[2026-04-18 18:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:29:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:29:34] [INFO] Checking activity reminders 
[2026-04-18 18:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:29:43] [INFO] Checking activity reminders 
[2026-04-18 18:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:29:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:29:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:29:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:29:54] [INFO] generateDealTitle result {"contact_id":"12826","person_name":"معینی","mobile":"9122314759","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9122314759"}
[2026-04-18 18:30:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695cb9e2baa682.97722997","deal_id":"local_695cb9e2bd625","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:30:02","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_695cb9e2baa682.97722997","is_new_deal":false}
[2026-04-18 18:30:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:30:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:30:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:30:02] [INFO] getContactPrimaryPhone called {"contact_id":"local_695cb9e2baa682.97722997"}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:02] [INFO] getContactPrimaryPhone result {"contact_id":"local_695cb9e2baa682.97722997","person_found":true,"primary_phone":"9125514495"}
[2026-04-18 18:30:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9125514495"}
[2026-04-18 18:30:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9125514495","contact_id":"local_695cb9e2baa682.97722997","deal_id":"local_695cb9e2bd625","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:30:02"}
[2026-04-18 18:30:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_695cb9e2bd625","contact_id":"local_695cb9e2baa682.97722997","existing_deal_found":true,"existing_contact_id":"local_695cb9e2baa682.97722997","existing_title":"معامله اول 9125514495 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:30:02"}
[2026-04-18 18:30:02] [INFO] DealController.save validated payments {"deal_id":"local_695cb9e2bd625","contact_id":"local_695cb9e2baa682.97722997","payments_count":1,"status":"won","pipeline_stage":"پشتیبانی"}
[2026-04-18 18:30:02] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_695cb9e2baa682.97722997","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:30:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695cb9e2bd625","contact_didar_id":"local_695cb9e2baa682.97722997","title":"معامله اول 9125514495 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9125514495","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علیپور علیپور","existing_deal":"YES","existing_deal_id":"local_695cb9e2bd625","existing_deal_status":"Pending","server_time":"2026-04-18 18:30:02","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:02] [INFO] Deal success processed {"contact_id":"local_695cb9e2baa682.97722997","person_name":"علیپور علیپور","products_count":1}
[2026-04-18 18:30:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695cb9e2bd625","contact_id":"local_695cb9e2baa682.97722997","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9125514495 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پشتیبانی","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 18:30:02","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:02] [INFO] Updating virtual stage {"contact_id":"local_695cb9e2baa682.97722997","stage_name":"with_purchase","force":true}
[2026-04-18 18:30:02] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9e2baa682.97722997","stage_name":"with_purchase"}
[2026-04-18 18:30:02] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_695cb9e2baa682.97722997","deal_id":"local_695cb9e2bd625","target_stage":"with_purchase"}
[2026-04-18 18:30:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9e2baa682.97722997","person_id":"21530"}
[2026-04-18 18:30:04] [INFO] Checking activity reminders 
[2026-04-18 18:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:30:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9892","person_id":"4690"}
[2026-04-18 18:30:11] [INFO] Checking activity reminders 
[2026-04-18 18:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:30:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9892","person_id":"4690"}
[2026-04-18 18:30:35] [INFO] Checking activity reminders 
[2026-04-18 18:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:30:41] [INFO] Checking activity reminders 
[2026-04-18 18:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:30:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-18 18:31:05] [INFO] Checking activity reminders 
[2026-04-18 18:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:31:11] [INFO] Checking activity reminders 
[2026-04-18 18:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:31:35] [INFO] Checking activity reminders 
[2026-04-18 18:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:31:41] [INFO] Checking activity reminders 
[2026-04-18 18:31:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:31:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:32:05] [INFO] Checking activity reminders 
[2026-04-18 18:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:32:06] [INFO] Checking activity reminders 
[2026-04-18 18:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:32:25] [INFO] Checking activity reminders 
[2026-04-18 18:32:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:32:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:32:35] [INFO] Checking activity reminders 
[2026-04-18 18:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:32:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb97ac006d5.10026744","person_id":"21527"}
[2026-04-18 18:32:55] [INFO] Checking activity reminders 
[2026-04-18 18:32:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:32:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:33:05] [INFO] Checking activity reminders 
[2026-04-18 18:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:33:25] [INFO] Checking activity reminders 
[2026-04-18 18:33:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:33:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:33:36] [INFO] Checking activity reminders 
[2026-04-18 18:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb97ac006d5.10026744","person_id":"21527"}
[2026-04-18 18:33:55] [INFO] Checking activity reminders 
[2026-04-18 18:33:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:33:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:33:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-18 18:34:06] [INFO] Checking activity reminders 
[2026-04-18 18:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:34:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9300","deal_id":"local_695539fbbea595.35516633","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:34:21","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:34:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-18 18:34:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9300","is_new_deal":false}
[2026-04-18 18:34:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:34:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:34:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:34:21] [INFO] getContactPrimaryPhone called {"contact_id":"9300"}
[2026-04-18 18:34:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-18 18:34:21] [INFO] getContactPrimaryPhone result {"contact_id":"9300","person_found":true,"primary_phone":"9127084826"}
[2026-04-18 18:34:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9127084826"}
[2026-04-18 18:34:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9127084826","contact_id":"9300","deal_id":"local_695539fbbea595.35516633","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:34:21"}
[2026-04-18 18:34:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_695539fbbea595.35516633","contact_id":"9300","existing_deal_found":true,"existing_contact_id":"9300","existing_title":"معامله سوم 9127084826 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:34:21"}
[2026-04-18 18:34:21] [INFO] DealController.save validated payments {"deal_id":"local_695539fbbea595.35516633","contact_id":"9300","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 18:34:21] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9300","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:34:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695539fbbea595.35516633","contact_didar_id":"9300","title":"معامله سوم 9127084826 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9127084826","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":69000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"نقوی","existing_deal":"YES","existing_deal_id":"local_695539fbbea595.35516633","existing_deal_status":"Pending","server_time":"2026-04-18 18:34:21","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:34:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-18 18:34:21] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695539fbbea595.35516633","contact_id":"9300","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9127084826 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":69000000,"server_time":"2026-04-18 18:34:21","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:34:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-18 18:34:25] [INFO] Checking activity reminders 
[2026-04-18 18:34:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:34:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:34:36] [INFO] Checking activity reminders 
[2026-04-18 18:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:34:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-18 18:34:55] [INFO] Checking activity reminders 
[2026-04-18 18:34:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:34:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:35:07] [INFO] Checking activity reminders 
[2026-04-18 18:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:35:25] [INFO] Checking activity reminders 
[2026-04-18 18:35:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:35:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:35:37] [INFO] Checking activity reminders 
[2026-04-18 18:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:35:55] [INFO] Checking activity reminders 
[2026-04-18 18:35:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:35:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:36:07] [INFO] Checking activity reminders 
[2026-04-18 18:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:36:25] [INFO] Checking activity reminders 
[2026-04-18 18:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:36:37] [INFO] Checking activity reminders 
[2026-04-18 18:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:37:07] [INFO] Checking activity reminders 
[2026-04-18 18:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:37:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:37:12","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:37:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:37:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11237","is_new_deal":false}
[2026-04-18 18:37:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:37:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:37:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:37:12] [INFO] getContactPrimaryPhone called {"contact_id":"11237"}
[2026-04-18 18:37:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:37:12] [INFO] getContactPrimaryPhone result {"contact_id":"11237","person_found":true,"primary_phone":"9179224006"}
[2026-04-18 18:37:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9179224006"}
[2026-04-18 18:37:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9179224006","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:37:12"}
[2026-04-18 18:37:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","existing_deal_found":true,"existing_contact_id":"11237","existing_title":"معامله اول 9179224006 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:37:12"}
[2026-04-18 18:37:12] [INFO] DealController.save validated payments {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","payments_count":2,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-18 18:37:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11237","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:37:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694bed3c0e54d2.69198584","contact_didar_id":"11237","title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9179224006","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ساداتی","existing_deal":"YES","existing_deal_id":"local_694bed3c0e54d2.69198584","existing_deal_status":"Pending","server_time":"2026-04-18 18:37:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:37:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:37:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-18 18:37:12","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:37:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:37:37] [INFO] Checking activity reminders 
[2026-04-18 18:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:38:07] [INFO] Checking activity reminders 
[2026-04-18 18:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:38:23] [INFO] Checking activity reminders 
[2026-04-18 18:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:38:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:38:37] [INFO] Checking activity reminders 
[2026-04-18 18:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:38:52] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12826","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:38:52","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 18:38:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:38:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12826","is_new_deal":true}
[2026-04-18 18:38:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:38:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:38:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 18:38:52] [INFO] getContactPrimaryPhone called {"contact_id":"12826"}
[2026-04-18 18:38:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:38:52] [INFO] getContactPrimaryPhone result {"contact_id":"12826","person_found":true,"primary_phone":"9122314759"}
[2026-04-18 18:38:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122314759"}
[2026-04-18 18:38:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122314759","contact_id":"12826","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 18:38:52"}
[2026-04-18 18:38:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:38:52] [INFO] generateDealTitle result {"contact_id":"12826","person_name":"معینی","mobile":"9122314759","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9122314759"}
[2026-04-18 18:38:52] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"12826","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-18 18:38:52] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12826","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 18:38:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"12826","title":"معامله دوم 9122314759 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9122314759","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"معینی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 18:38:52","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 18:38:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:38:52] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 18:38:52] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"12826","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9122314759 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-18 18:38:52","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:38:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:38:54] [INFO] Checking activity reminders 
[2026-04-18 18:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:39:08] [INFO] Checking activity reminders 
[2026-04-18 18:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:39:24] [INFO] Checking activity reminders 
[2026-04-18 18:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:39:38] [INFO] Checking activity reminders 
[2026-04-18 18:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:39:54] [INFO] Checking activity reminders 
[2026-04-18 18:39:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:39:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:40:08] [INFO] Checking activity reminders 
[2026-04-18 18:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:40:24] [INFO] Checking activity reminders 
[2026-04-18 18:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:40:38] [INFO] Checking activity reminders 
[2026-04-18 18:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:40:55] [INFO] Checking activity reminders 
[2026-04-18 18:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:40:58] [INFO] Activity save request {"post_data":{"contact_id":"12826","deal_id":"local_69e39e84a5f988.08451099","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خیلی دوست داره ددر کانال باشه \r\nپرزنت 6 ماهه \r\n17 پرداخت \r\nاردیبهشت تسویه \r\nکار ساخت و ساز شروع کرده و خیلی تحت فشار مالی \r\nارسال لینک پرداخت در بله ","activity_duration":"6","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:40:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:40:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:40:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12826","note_was_empty":true}
[2026-04-18 18:40:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"12826","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:40:58] [INFO] Updating virtual stage {"contact_id":"12826","stage_name":"deal_registered","force":false}
[2026-04-18 18:40:58] [INFO] Virtual stage successfully saved {"contact_id":"12826","stage_name":"deal_registered"}
[2026-04-18 18:40:58] [INFO] Virtual stage updated after activity save {"contact_id":"12826"}
[2026-04-18 18:40:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e39e84a5f988.08451099","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-18 18:40:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e39f02b5b354.71990132","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:40:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e39f02b5b354.71990132"}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:40:58] [INFO] Updating virtual stage {"contact_id":"12826","stage_name":"deal_registered","force":false}
[2026-04-18 18:40:58] [INFO] Virtual stage successfully saved {"contact_id":"12826","stage_name":"deal_registered"}
[2026-04-18 18:40:58] [INFO] Virtual stage updated after activity save {"contact_id":"12826"}
[2026-04-18 18:40:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 18:41:07] [INFO] Checking activity reminders 
[2026-04-18 18:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:41:08] [INFO] Checking activity reminders 
[2026-04-18 18:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:41:10] [INFO] Checking activity reminders 
[2026-04-18 18:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:41:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 18:41:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:41:24","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11237","is_new_deal":false}
[2026-04-18 18:41:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:24] [INFO] getContactPrimaryPhone called {"contact_id":"11237"}
[2026-04-18 18:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:24] [INFO] getContactPrimaryPhone result {"contact_id":"11237","person_found":true,"primary_phone":"9179224006"}
[2026-04-18 18:41:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9179224006"}
[2026-04-18 18:41:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9179224006","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:41:24"}
[2026-04-18 18:41:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","existing_deal_found":true,"existing_contact_id":"11237","existing_title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:41:24"}
[2026-04-18 18:41:24] [INFO] DealController.save validated payments {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","payments_count":3,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-18 18:41:24] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11237","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:41:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694bed3c0e54d2.69198584","contact_didar_id":"11237","title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9179224006","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ساداتی","existing_deal":"YES","existing_deal_id":"local_694bed3c0e54d2.69198584","existing_deal_status":"Pending","server_time":"2026-04-18 18:41:24","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 18:41:24","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:41:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:38] [INFO] Checking activity reminders 
[2026-04-18 18:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:41:39] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:41:39","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:39] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11237","is_new_deal":false}
[2026-04-18 18:41:39] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:39] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:39] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-18 18:41:39] [INFO] getContactPrimaryPhone called {"contact_id":"11237"}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:39] [INFO] getContactPrimaryPhone result {"contact_id":"11237","person_found":true,"primary_phone":"9179224006"}
[2026-04-18 18:41:39] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9179224006"}
[2026-04-18 18:41:39] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9179224006","contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:41:39"}
[2026-04-18 18:41:39] [INFO] DealController.save existing deal lookup {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","existing_deal_found":true,"existing_contact_id":"11237","existing_title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-18 18:41:39"}
[2026-04-18 18:41:39] [INFO] DealController.save validated payments {"deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 18:41:39] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11237","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-18 18:41:39] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694bed3c0e54d2.69198584","contact_didar_id":"11237","title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9179224006","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ساداتی","existing_deal":"YES","existing_deal_id":"local_694bed3c0e54d2.69198584","existing_deal_status":"Pending","server_time":"2026-04-18 18:41:39","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:39] [INFO] Deal success processed {"contact_id":"11237","person_name":"ساداتی","products_count":1}
[2026-04-18 18:41:39] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694bed3c0e54d2.69198584","contact_id":"11237","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9179224006 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-18 18:41:39","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:39] [INFO] Updating virtual stage {"contact_id":"11237","stage_name":"with_purchase","force":true}
[2026-04-18 18:41:39] [INFO] Virtual stage successfully saved {"contact_id":"11237","stage_name":"with_purchase"}
[2026-04-18 18:41:39] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11237","deal_id":"local_694bed3c0e54d2.69198584","target_stage":"with_purchase"}
[2026-04-18 18:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-18 18:41:47] [INFO] Checking activity reminders 
[2026-04-18 18:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:42:08] [INFO] Checking activity reminders 
[2026-04-18 18:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:42:18] [INFO] Checking activity reminders 
[2026-04-18 18:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:42:39] [INFO] Checking activity reminders 
[2026-04-18 18:42:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:42:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:42:48] [INFO] Checking activity reminders 
[2026-04-18 18:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:43:18] [INFO] Checking activity reminders 
[2026-04-18 18:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:43:23] [INFO] Checking activity reminders 
[2026-04-18 18:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:43:48] [INFO] Checking activity reminders 
[2026-04-18 18:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:43:55] [INFO] Checking activity reminders 
[2026-04-18 18:43:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:43:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:09] [INFO] Lead update received {"contact_id":"local_69538b459b7c82.51431515","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 18:44:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:09] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69538b459b7c82.51431515"}
[2026-04-18 18:44:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:11] [INFO] Checking activity reminders 
[2026-04-18 18:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:16] [INFO] Checking activity reminders 
[2026-04-18 18:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:23] [INFO] Checking activity reminders 
[2026-04-18 18:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:23] [INFO] Checking activity reminders 
[2026-04-18 18:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:49] [INFO] Lead update received {"contact_id":"local_69538b459b7c82.51431515","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 18:44:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:49] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69538b459b7c82.51431515"}
[2026-04-18 18:44:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:53] [INFO] Checking activity reminders 
[2026-04-18 18:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:53] [INFO] Checking activity reminders 
[2026-04-18 18:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:44:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:44:54] [INFO] generateDealTitle result {"contact_id":"local_69538b459b7c82.51431515","person_name":"علیرضا افخمی عقدا","mobile":"9103382581","existing_deals":0,"ordinal":"اول","title":"معامله اول 9103382581"}
[2026-04-18 18:45:24] [INFO] Checking activity reminders 
[2026-04-18 18:45:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:45:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:45:42] [INFO] Checking activity reminders 
[2026-04-18 18:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:45:44] [INFO] Checking activity reminders 
[2026-04-18 18:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:45:54] [INFO] Checking activity reminders 
[2026-04-18 18:45:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:45:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:46:14] [INFO] Checking activity reminders 
[2026-04-18 18:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:46:24] [INFO] Checking activity reminders 
[2026-04-18 18:46:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:46:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:46:44] [INFO] Checking activity reminders 
[2026-04-18 18:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:46:54] [INFO] Checking activity reminders 
[2026-04-18 18:46:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:46:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:46:56] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"local_69538b459b7c82.51431515","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 18:46:56","session_id":"6jgmih6vrjp7d1ihsdbhtg4c43"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_69538b459b7c82.51431515","is_new_deal":true}
[2026-04-18 18:46:56] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-18 18:46:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-18 18:46:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-18 18:46:56] [INFO] getContactPrimaryPhone called {"contact_id":"local_69538b459b7c82.51431515"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [INFO] getContactPrimaryPhone result {"contact_id":"local_69538b459b7c82.51431515","person_found":true,"primary_phone":"9103382581"}
[2026-04-18 18:46:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9103382581"}
[2026-04-18 18:46:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9103382581","contact_id":"local_69538b459b7c82.51431515","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 18:46:56"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [INFO] generateDealTitle result {"contact_id":"local_69538b459b7c82.51431515","person_name":"علیرضا افخمی عقدا","mobile":"9103382581","existing_deals":0,"ordinal":"اول","title":"معامله اول 9103382581"}
[2026-04-18 18:46:56] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69538b459b7c82.51431515","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-18 18:46:56] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69538b459b7c82.51431515","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 18:46:56] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69538b459b7c82.51431515","title":"معامله اول 9103382581 | کارشناسی حضوری","base_title_used":"معامله اول 9103382581","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علیرضا افخمی عقدا","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-18 18:46:56","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [INFO] Deal success processed {"contact_id":"local_69538b459b7c82.51431515","person_name":"علیرضا افخمی عقدا","products_count":1}
[2026-04-18 18:46:56] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-18 18:46:56] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69538b459b7c82.51431515","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9103382581 | کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-18 18:46:56","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:46:56] [INFO] Updating virtual stage {"contact_id":"local_69538b459b7c82.51431515","stage_name":"with_purchase","force":true}
[2026-04-18 18:46:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69538b459b7c82.51431515","stage_name":"with_purchase"}
[2026-04-18 18:46:56] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69538b459b7c82.51431515","deal_id":"","target_stage":"with_purchase"}
[2026-04-18 18:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:47:14] [INFO] Checking activity reminders 
[2026-04-18 18:47:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:47:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:47:24] [INFO] Checking activity reminders 
[2026-04-18 18:47:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:47:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:47:44] [INFO] Checking activity reminders 
[2026-04-18 18:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:47:54] [INFO] Checking activity reminders 
[2026-04-18 18:47:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:47:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:48:14] [INFO] Checking activity reminders 
[2026-04-18 18:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:48:24] [INFO] Checking activity reminders 
[2026-04-18 18:48:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:48:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:48:44] [INFO] Checking activity reminders 
[2026-04-18 18:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:48:54] [INFO] Checking activity reminders 
[2026-04-18 18:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:49:14] [INFO] Checking activity reminders 
[2026-04-18 18:49:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:49:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:49:24] [INFO] Checking activity reminders 
[2026-04-18 18:49:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:49:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:49:44] [INFO] Checking activity reminders 
[2026-04-18 18:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:50:14] [INFO] Checking activity reminders 
[2026-04-18 18:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:50:44] [INFO] Activity save request {"post_data":{"contact_id":"local_69538b459b7c82.51431515","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تهران \r\nکد ملی : 0250133253\r\n1382\/10\/11\r\nپرزنت 2 روزه حضوری کارشناسی \r\nارسال شماره کارت \r\nواریز \r\nدسترسی به کارشناسی برتر ","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-18 18:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:50:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-18 18:50:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-18 18:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:50:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69538b459b7c82.51431515","note_was_empty":true}
[2026-04-18 18:50:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e3a14ca7e215.56641422","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-18 18:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:50:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e3a14ca7e215.56641422"}
[2026-04-18 18:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:50:44] [INFO] Updating virtual stage {"contact_id":"local_69538b459b7c82.51431515","stage_name":"with_purchase","force":false}
[2026-04-18 18:50:44] [INFO] Virtual stage successfully saved {"contact_id":"local_69538b459b7c82.51431515","stage_name":"with_purchase"}
[2026-04-18 18:50:44] [INFO] Virtual stage updated after activity save {"contact_id":"local_69538b459b7c82.51431515"}
[2026-04-18 18:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-18 18:50:45] [INFO] Checking activity reminders 
[2026-04-18 18:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:50:54] [INFO] Checking activity reminders 
[2026-04-18 18:50:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:50:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:50:56] [INFO] Checking activity reminders 
[2026-04-18 18:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:51:18] [INFO] Checking activity reminders 
[2026-04-18 18:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 18:51:48] [INFO] Checking activity reminders 
[2026-04-18 18:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 18:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 19:23:16] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 19:23:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 19:23:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 19:23:47] [INFO] Checking activity reminders 
[2026-04-18 19:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 19:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 19:24:06] [INFO] Checking activity reminders 
[2026-04-18 19:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 19:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 19:24:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12826","deal_id":"local_69e39e84a5f988.08451099","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-18 19:24:21","session_id":"p35r3bno7flbp6b8dbumq5vmga"}
[2026-04-18 19:24:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 19:24:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12826","is_new_deal":false}
[2026-04-18 19:24:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 19:24:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 19:24:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-18 19:24:21] [INFO] getContactPrimaryPhone called {"contact_id":"12826"}
[2026-04-18 19:24:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 19:24:21] [INFO] getContactPrimaryPhone result {"contact_id":"12826","person_found":true,"primary_phone":"9122314759"}
[2026-04-18 19:24:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122314759"}
[2026-04-18 19:24:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122314759","contact_id":"12826","deal_id":"local_69e39e84a5f988.08451099","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 19:24:21"}
[2026-04-18 19:24:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e39e84a5f988.08451099","contact_id":"12826","existing_deal_found":true,"existing_contact_id":"12826","existing_title":"معامله دوم 9122314759 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-18 19:24:21"}
[2026-04-18 19:24:21] [INFO] DealController.save validated payments {"deal_id":"local_69e39e84a5f988.08451099","contact_id":"12826","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-18 19:24:21] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12826","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-18 19:24:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e39e84a5f988.08451099","contact_didar_id":"12826","title":"معامله دوم 9122314759 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9122314759","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":17000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"معینی","existing_deal":"YES","existing_deal_id":"local_69e39e84a5f988.08451099","existing_deal_status":"Pending","server_time":"2026-04-18 19:24:21","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-18 19:24:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 19:24:21] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e39e84a5f988.08451099","contact_id":"12826","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9122314759 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":17000000,"server_time":"2026-04-18 19:24:21","ip_address":"5.112.51.211","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-18 19:24:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 19:24:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-18 20:00:51] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 20:00:51] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-18 20:00:57] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-18 20:00:57] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 20:00:57] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 20:00:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 20:00:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 20:00:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 20:00:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 20:01:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 20:01:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 20:01:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 20:01:28] [INFO] Checking activity reminders 
[2026-04-18 20:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:01:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 20:01:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 20:01:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 20:01:58] [INFO] Checking activity reminders 
[2026-04-18 20:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:02:28] [INFO] Checking activity reminders 
[2026-04-18 20:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:02:59] [INFO] Checking activity reminders 
[2026-04-18 20:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:03:30] [INFO] Checking activity reminders 
[2026-04-18 20:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:04:00] [INFO] Checking activity reminders 
[2026-04-18 20:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:04:30] [INFO] Checking activity reminders 
[2026-04-18 20:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:05:00] [INFO] Checking activity reminders 
[2026-04-18 20:05:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:05:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:05:30] [INFO] Checking activity reminders 
[2026-04-18 20:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:06:03] [INFO] Checking activity reminders 
[2026-04-18 20:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:06:33] [INFO] Checking activity reminders 
[2026-04-18 20:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:07:03] [INFO] Checking activity reminders 
[2026-04-18 20:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:07:33] [INFO] Checking activity reminders 
[2026-04-18 20:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:08:03] [INFO] Checking activity reminders 
[2026-04-18 20:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:08:33] [INFO] Checking activity reminders 
[2026-04-18 20:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:09:03] [INFO] Checking activity reminders 
[2026-04-18 20:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:09:33] [INFO] Checking activity reminders 
[2026-04-18 20:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:10:03] [INFO] Checking activity reminders 
[2026-04-18 20:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:10:33] [INFO] Checking activity reminders 
[2026-04-18 20:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:11:04] [INFO] Checking activity reminders 
[2026-04-18 20:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:11:34] [INFO] Checking activity reminders 
[2026-04-18 20:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:12:04] [INFO] Checking activity reminders 
[2026-04-18 20:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:12:34] [INFO] Checking activity reminders 
[2026-04-18 20:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:13:04] [INFO] Checking activity reminders 
[2026-04-18 20:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:13:34] [INFO] Checking activity reminders 
[2026-04-18 20:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:14:04] [INFO] Checking activity reminders 
[2026-04-18 20:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:14:34] [INFO] Checking activity reminders 
[2026-04-18 20:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:15:04] [INFO] Checking activity reminders 
[2026-04-18 20:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:15:34] [INFO] Checking activity reminders 
[2026-04-18 20:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:16:05] [INFO] Checking activity reminders 
[2026-04-18 20:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:16:35] [INFO] Checking activity reminders 
[2026-04-18 20:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:17:05] [INFO] Checking activity reminders 
[2026-04-18 20:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:17:35] [INFO] Checking activity reminders 
[2026-04-18 20:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:18:05] [INFO] Checking activity reminders 
[2026-04-18 20:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:18:35] [INFO] Checking activity reminders 
[2026-04-18 20:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:19:05] [INFO] Checking activity reminders 
[2026-04-18 20:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:19:35] [INFO] Checking activity reminders 
[2026-04-18 20:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:20:05] [INFO] Checking activity reminders 
[2026-04-18 20:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:20:35] [INFO] Checking activity reminders 
[2026-04-18 20:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:21:06] [INFO] Checking activity reminders 
[2026-04-18 20:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:21:36] [INFO] Checking activity reminders 
[2026-04-18 20:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:22:06] [INFO] Checking activity reminders 
[2026-04-18 20:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:22:36] [INFO] Checking activity reminders 
[2026-04-18 20:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:23:06] [INFO] Checking activity reminders 
[2026-04-18 20:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:23:36] [INFO] Checking activity reminders 
[2026-04-18 20:23:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:23:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 20:24:06] [INFO] Checking activity reminders 
[2026-04-18 20:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 20:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:09:33] [WARNING] Auth check failed - not authenticated {"session_id":"hkjeku4hu0ri0c1p503mb1vo1l","session_keys":[],"action":"log_client_event"}
[2026-04-18 21:09:33] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-18 21:09:33] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-18 21:09:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 21:09:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 21:09:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 21:09:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 21:09:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 21:09:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 21:09:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 21:10:03] [INFO] Checking activity reminders 
[2026-04-18 21:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:10:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-18 21:10:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-18 21:10:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-18 21:10:34] [INFO] Checking activity reminders 
[2026-04-18 21:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:11:04] [INFO] Checking activity reminders 
[2026-04-18 21:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:11:34] [INFO] Checking activity reminders 
[2026-04-18 21:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:12:05] [INFO] Checking activity reminders 
[2026-04-18 21:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:12:35] [INFO] Checking activity reminders 
[2026-04-18 21:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:13:05] [INFO] Checking activity reminders 
[2026-04-18 21:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:13:35] [INFO] Checking activity reminders 
[2026-04-18 21:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:14:06] [INFO] Checking activity reminders 
[2026-04-18 21:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:14:36] [INFO] Checking activity reminders 
[2026-04-18 21:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:15:06] [INFO] Checking activity reminders 
[2026-04-18 21:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:15:36] [INFO] Checking activity reminders 
[2026-04-18 21:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:21:54] [INFO] Checking activity reminders 
[2026-04-18 21:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:22:34] [INFO] Checking activity reminders 
[2026-04-18 21:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 21:29:27] [INFO] Checking activity reminders 
[2026-04-18 21:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 21:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 22:15:07] [WARNING] Auth check failed - not authenticated {"session_id":"hkjeku4hu0ri0c1p503mb1vo1l","session_keys":[],"action":"log_client_event"}
[2026-04-18 22:15:07] [WARNING] Auth check failed - not authenticated {"session_id":"hkjeku4hu0ri0c1p503mb1vo1l","session_keys":[],"action":"check_reminders"}
[2026-04-18 22:15:07] [WARNING] Auth check failed - not authenticated {"session_id":"hkjeku4hu0ri0c1p503mb1vo1l","session_keys":[],"action":"log_client_event"}
[2026-04-18 23:05:35] [WARNING] Auth check failed - not authenticated {"session_id":"p35r3bno7flbp6b8dbumq5vmga","session_keys":[],"action":"log_client_event"}
[2026-04-18 23:05:35] [WARNING] Auth check failed - not authenticated {"session_id":"p35r3bno7flbp6b8dbumq5vmga","session_keys":[],"action":"check_reminders"}
[2026-04-18 23:05:35] [WARNING] Auth check failed - not authenticated {"session_id":"p35r3bno7flbp6b8dbumq5vmga","session_keys":[],"action":"log_client_event"}
[2026-04-18 23:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"p35r3bno7flbp6b8dbumq5vmga","session_keys":[],"action":"log_client_event"}
[2026-04-18 23:05:49] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-18 23:05:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-18 23:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:20] [INFO] Checking activity reminders 
[2026-04-18 23:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 23:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 23:06:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:45] [INFO] Lead update received {"contact_id":"local_69b92e89d8be69.70262482","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-18 23:06:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:45] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b92e89d8be69.70262482"}
[2026-04-18 23:06:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:06:50] [INFO] Checking activity reminders 
[2026-04-18 23:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 23:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-18 23:06:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-18 23:18:52] [INFO] Checking activity reminders 
[2026-04-18 23:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-18 23:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 08:09:41] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-19 08:09:51] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 08:09:51] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-19 08:09:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 08:09:52] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 08:09:52] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 08:09:52] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 08:09:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 08:09:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 08:09:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 08:10:17] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 08:10:17] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 08:10:17] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 08:10:24] [INFO] Checking activity reminders 
[2026-04-19 08:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:10:54] [INFO] Checking activity reminders 
[2026-04-19 08:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:11:24] [INFO] Checking activity reminders 
[2026-04-19 08:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:11:42] [INFO] Checking activity reminders 
[2026-04-19 08:11:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:11:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:11:47] [INFO] Checking activity reminders 
[2026-04-19 08:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:12:57] [INFO] Checking activity reminders 
[2026-04-19 08:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:13:42] [INFO] Checking activity reminders 
[2026-04-19 08:13:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:13:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:13:46] [INFO] Checking activity reminders 
[2026-04-19 08:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:13:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-19 08:15:13] [INFO] Checking activity reminders 
[2026-04-19 08:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:15:18] [INFO] Checking activity reminders 
[2026-04-19 08:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:18:20] [INFO] Checking activity reminders 
[2026-04-19 08:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:18:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-19 08:18:50] [INFO] Checking activity reminders 
[2026-04-19 08:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:19:01] [INFO] Checking activity reminders 
[2026-04-19 08:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:19:34] [INFO] Checking activity reminders 
[2026-04-19 08:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:21:03] [INFO] Checking activity reminders 
[2026-04-19 08:21:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:21:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:22:05] [INFO] Checking activity reminders 
[2026-04-19 08:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:23:23] [INFO] Checking activity reminders 
[2026-04-19 08:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:27:59] [INFO] Checking activity reminders 
[2026-04-19 08:27:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:27:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:28:36] [INFO] Checking activity reminders 
[2026-04-19 08:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:28:48] [INFO] Checking activity reminders 
[2026-04-19 08:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:29:03] [INFO] Checking activity reminders 
[2026-04-19 08:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:29:10] [INFO] Checking activity reminders 
[2026-04-19 08:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:29:34] [INFO] Checking activity reminders 
[2026-04-19 08:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:29:48] [INFO] Checking activity reminders 
[2026-04-19 08:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:29:59] [INFO] Checking activity reminders 
[2026-04-19 08:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:31:01] [INFO] Checking activity reminders 
[2026-04-19 08:31:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:31:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:31:22] [INFO] Checking activity reminders 
[2026-04-19 08:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:31:32] [INFO] Checking activity reminders 
[2026-04-19 08:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:32:10] [INFO] Checking activity reminders 
[2026-04-19 08:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:32:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15077","person_id":"6598"}
[2026-04-19 08:33:20] [INFO] Checking activity reminders 
[2026-04-19 08:33:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:33:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:33:30] [INFO] Checking activity reminders 
[2026-04-19 08:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:33:41] [INFO] Checking activity reminders 
[2026-04-19 08:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:33:51] [INFO] Checking activity reminders 
[2026-04-19 08:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:34:21] [INFO] Checking activity reminders 
[2026-04-19 08:34:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:34:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:34:51] [INFO] Checking activity reminders 
[2026-04-19 08:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:35:21] [INFO] Checking activity reminders 
[2026-04-19 08:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:35:51] [INFO] Checking activity reminders 
[2026-04-19 08:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:36:43] [INFO] Checking activity reminders 
[2026-04-19 08:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:37:13] [INFO] Checking activity reminders 
[2026-04-19 08:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:40:32] [INFO] Checking activity reminders 
[2026-04-19 08:40:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:40:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:41:05] [INFO] Checking activity reminders 
[2026-04-19 08:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-19 08:46:13] [INFO] Checking activity reminders 
[2026-04-19 08:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:46:52] [INFO] Checking activity reminders 
[2026-04-19 08:46:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:46:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:47:03] [INFO] Checking activity reminders 
[2026-04-19 08:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:48:48] [INFO] Checking activity reminders 
[2026-04-19 08:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:51:27] [INFO] Checking activity reminders 
[2026-04-19 08:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 08:52:25] [INFO] Checking activity reminders 
[2026-04-19 08:52:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 08:52:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:06:35] [INFO] Checking activity reminders 
[2026-04-19 09:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:06:37] [INFO] Checking activity reminders 
[2026-04-19 09:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:06:41] [INFO] Checking activity reminders 
[2026-04-19 09:06:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:06:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:07:06] [INFO] Checking activity reminders 
[2026-04-19 09:07:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:07:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:07:18] [INFO] Checking activity reminders 
[2026-04-19 09:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:07:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-19 09:08:04] [INFO] Checking activity reminders 
[2026-04-19 09:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:08:44] [INFO] Checking activity reminders 
[2026-04-19 09:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:09:04] [INFO] Checking activity reminders 
[2026-04-19 09:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:09:55] [INFO] Checking activity reminders 
[2026-04-19 09:09:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:09:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:10:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-19 09:10:25] [INFO] Checking activity reminders 
[2026-04-19 09:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:10:33] [INFO] Checking activity reminders 
[2026-04-19 09:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:11:59] [INFO] Checking activity reminders 
[2026-04-19 09:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:12:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"917","person_id":"13994"}
[2026-04-19 09:12:29] [INFO] Checking activity reminders 
[2026-04-19 09:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:14:26] [INFO] Checking activity reminders 
[2026-04-19 09:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:14:56] [INFO] Checking activity reminders 
[2026-04-19 09:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:15:57] [INFO] Checking activity reminders 
[2026-04-19 09:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:19:58] [INFO] Checking activity reminders 
[2026-04-19 09:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:20:36] [INFO] Checking activity reminders 
[2026-04-19 09:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:21:11] [INFO] Checking activity reminders 
[2026-04-19 09:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:25:03] [INFO] Checking activity reminders 
[2026-04-19 09:25:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:25:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:25:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-19 09:25:33] [INFO] Checking activity reminders 
[2026-04-19 09:25:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:25:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:25:54] [INFO] Checking activity reminders 
[2026-04-19 09:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:27:43] [INFO] Checking activity reminders 
[2026-04-19 09:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:29:21] [INFO] Checking activity reminders 
[2026-04-19 09:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:30:42] [INFO] Checking activity reminders 
[2026-04-19 09:30:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:30:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:30:43] [INFO] Checking activity reminders 
[2026-04-19 09:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:35:17] [INFO] Checking activity reminders 
[2026-04-19 09:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:35:35] [INFO] Checking activity reminders 
[2026-04-19 09:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:35:51] [INFO] Checking activity reminders 
[2026-04-19 09:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:36:21] [INFO] Checking activity reminders 
[2026-04-19 09:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:36:44] [INFO] Checking activity reminders 
[2026-04-19 09:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:37:39] [INFO] Checking activity reminders 
[2026-04-19 09:37:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:37:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:37:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16991","person_id":"9831"}
[2026-04-19 09:42:36] [INFO] Checking activity reminders 
[2026-04-19 09:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:42:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-19 09:45:49] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 09:45:49] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 09:45:49] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 09:45:52] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 09:46:09] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 09:46:09] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 09:46:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 09:46:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 09:46:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-19 09:49:29] [INFO] Checking activity reminders 
[2026-04-19 09:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:49:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 09:49:57] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 09:49:57] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-19 09:49:57] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 09:49:59] [INFO] Checking activity reminders 
[2026-04-19 09:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:50:16] [INFO] Checking activity reminders 
[2026-04-19 09:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:50:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-19 09:50:46] [INFO] Checking activity reminders 
[2026-04-19 09:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:50:59] [INFO] Checking activity reminders 
[2026-04-19 09:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:51:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-19 09:51:16] [INFO] Checking activity reminders 
[2026-04-19 09:51:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:51:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:51:26] [INFO] Checking activity reminders 
[2026-04-19 09:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:51:31] [INFO] Checking activity reminders 
[2026-04-19 09:51:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:51:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:51:46] [INFO] Checking activity reminders 
[2026-04-19 09:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:51:53] [INFO] Checking activity reminders 
[2026-04-19 09:51:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:51:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:52:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-19 09:52:13] [INFO] Checking activity reminders 
[2026-04-19 09:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:52:21] [INFO] Checking activity reminders 
[2026-04-19 09:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:52:23] [INFO] Checking activity reminders 
[2026-04-19 09:52:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:52:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:52:53] [INFO] Checking activity reminders 
[2026-04-19 09:52:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:52:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:53:41] [INFO] Checking activity reminders 
[2026-04-19 09:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:53:45] [INFO] Checking activity reminders 
[2026-04-19 09:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:54:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:54:12] [INFO] Checking activity reminders 
[2026-04-19 09:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:54:47] [INFO] Checking activity reminders 
[2026-04-19 09:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:55:17] [INFO] Checking activity reminders 
[2026-04-19 09:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:55:29] [INFO] Checking activity reminders 
[2026-04-19 09:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:55:47] [INFO] Checking activity reminders 
[2026-04-19 09:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:56:17] [INFO] Checking activity reminders 
[2026-04-19 09:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:56:47] [INFO] Checking activity reminders 
[2026-04-19 09:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:57:17] [INFO] Checking activity reminders 
[2026-04-19 09:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:57:47] [INFO] Checking activity reminders 
[2026-04-19 09:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:58:17] [INFO] Checking activity reminders 
[2026-04-19 09:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:58:36] [INFO] Activity save request {"post_data":{"contact_id":"1850","deal_id":"local_69d224856d6d87.15261957","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"پیگیری واریزی ارسال پیامک","activity_duration":"3","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 09:58:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1850","note_was_empty":true}
[2026-04-19 09:58:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"1850","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:36] [INFO] Updating virtual stage {"contact_id":"1850","stage_name":"deal_registered","force":false}
[2026-04-19 09:58:36] [INFO] Virtual stage successfully saved {"contact_id":"1850","stage_name":"deal_registered"}
[2026-04-19 09:58:36] [INFO] Virtual stage updated after activity save {"contact_id":"1850"}
[2026-04-19 09:58:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d224856d6d87.15261957","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 09:58:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e476147bb4e5.14772844","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e476147bb4e5.14772844"}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:36] [INFO] Updating virtual stage {"contact_id":"1850","stage_name":"deal_registered","force":false}
[2026-04-19 09:58:36] [INFO] Virtual stage successfully saved {"contact_id":"1850","stage_name":"deal_registered"}
[2026-04-19 09:58:36] [INFO] Virtual stage updated after activity save {"contact_id":"1850"}
[2026-04-19 09:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 09:58:38] [INFO] Checking activity reminders 
[2026-04-19 09:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:58:47] [INFO] Checking activity reminders 
[2026-04-19 09:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:59:18] [INFO] Checking activity reminders 
[2026-04-19 09:59:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:59:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 09:59:48] [INFO] Checking activity reminders 
[2026-04-19 09:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 09:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:00:18] [INFO] Checking activity reminders 
[2026-04-19 10:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:00:48] [INFO] Checking activity reminders 
[2026-04-19 10:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:01:18] [INFO] Checking activity reminders 
[2026-04-19 10:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:01:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:01:48] [INFO] Checking activity reminders 
[2026-04-19 10:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:02:18] [INFO] Checking activity reminders 
[2026-04-19 10:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:02:48] [INFO] Checking activity reminders 
[2026-04-19 10:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:03:18] [INFO] Checking activity reminders 
[2026-04-19 10:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:03:28] [INFO] DealController.save start {"is_new":false,"incoming_title":"دستگاه کارشناسی","contact_id":"1584","deal_id":"local_69995bbdcb56e9.72148068","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 10:03:28","session_id":"3216q0ajpd9fmbng18lt5qsp9r"}
[2026-04-19 10:03:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"دستگاه کارشناسی","contact_id":"1584","is_new_deal":false}
[2026-04-19 10:03:28] [INFO] extractPhoneFromDealTitle called {"input_title":"دستگاه کارشناسی"}
[2026-04-19 10:03:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"دستگاه کارشناسی"}
[2026-04-19 10:03:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"دستگاه کارشناسی"}
[2026-04-19 10:03:28] [INFO] getContactPrimaryPhone called {"contact_id":"1584"}
[2026-04-19 10:03:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:28] [INFO] getContactPrimaryPhone result {"contact_id":"1584","person_found":true,"primary_phone":"9102429707"}
[2026-04-19 10:03:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102429707"}
[2026-04-19 10:03:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102429707","contact_id":"1584","deal_id":"local_69995bbdcb56e9.72148068","is_new_deal":false,"incoming_title":"دستگاه کارشناسی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 10:03:28"}
[2026-04-19 10:03:28] [INFO] DealController.save existing deal lookup {"deal_id":"local_69995bbdcb56e9.72148068","contact_id":"1584","existing_deal_found":true,"existing_contact_id":"1584","existing_title":"معامله دوم 9102429707 | دستگاه کارشناسی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 10:03:28"}
[2026-04-19 10:03:28] [INFO] DealController.save validated payments {"deal_id":"local_69995bbdcb56e9.72148068","contact_id":"1584","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-19 10:03:28] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1584","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 10:03:28] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69995bbdcb56e9.72148068","contact_didar_id":"1584","title":"معامله دوم 9102429707 | دستگاه کارشناسی","base_title_used":"معامله دوم 9102429707","services_text":"دستگاه کارشناسی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":25000000,"payment_amount":25000000,"payments_present":true,"requested_services":["دستگاه کارشناسی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رحیم آقا زاده","existing_deal":"YES","existing_deal_id":"local_69995bbdcb56e9.72148068","existing_deal_status":"Pending","server_time":"2026-04-19 10:03:28","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 10:03:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:28] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69995bbdcb56e9.72148068","contact_id":"1584","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9102429707 | دستگاه کارشناسی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":25000000,"payment_amount":25000000,"server_time":"2026-04-19 10:03:28","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 10:03:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:45] [INFO] Activity save request {"post_data":{"contact_id":"1584","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دستگاه تسویه شد \/ ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 10:03:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1584","note_was_empty":true}
[2026-04-19 10:03:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"1584","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 10:03:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e477490ffdf8.48711657","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e477490ffdf8.48711657"}
[2026-04-19 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:45] [INFO] Updating virtual stage {"contact_id":"1584","stage_name":"with_purchase","force":false}
[2026-04-19 10:03:45] [INFO] Virtual stage successfully saved {"contact_id":"1584","stage_name":"with_purchase"}
[2026-04-19 10:03:45] [INFO] Virtual stage updated after activity save {"contact_id":"1584"}
[2026-04-19 10:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:03:48] [INFO] Checking activity reminders 
[2026-04-19 10:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:04:18] [INFO] Checking activity reminders 
[2026-04-19 10:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:04:48] [INFO] Checking activity reminders 
[2026-04-19 10:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:04:55] [INFO] Checking activity reminders 
[2026-04-19 10:04:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:04:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:05:19] [INFO] Checking activity reminders 
[2026-04-19 10:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:05:49] [INFO] Checking activity reminders 
[2026-04-19 10:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:05:56] [INFO] Checking activity reminders 
[2026-04-19 10:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:06:15] [INFO] Checking activity reminders 
[2026-04-19 10:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:06:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21152","person_id":"3607"}
[2026-04-19 10:06:19] [INFO] Checking activity reminders 
[2026-04-19 10:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:06:45] [INFO] Checking activity reminders 
[2026-04-19 10:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:06:49] [INFO] Checking activity reminders 
[2026-04-19 10:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:07:15] [INFO] Checking activity reminders 
[2026-04-19 10:07:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:07:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_75","person_id":"21152"}
[2026-04-19 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_75","person_id":"21152"}
[2026-04-19 10:07:19] [INFO] Checking activity reminders 
[2026-04-19 10:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:07:37] [INFO] Checking activity reminders 
[2026-04-19 10:07:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:07:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:07:49] [INFO] Checking activity reminders 
[2026-04-19 10:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:07:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15675","person_id":"15021"}
[2026-04-19 10:08:07] [INFO] Checking activity reminders 
[2026-04-19 10:08:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:08:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:08:19] [INFO] Checking activity reminders 
[2026-04-19 10:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:08:37] [INFO] Checking activity reminders 
[2026-04-19 10:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:08:49] [INFO] Checking activity reminders 
[2026-04-19 10:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:08:56] [INFO] Checking activity reminders 
[2026-04-19 10:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:05] [INFO] Checking activity reminders 
[2026-04-19 10:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:25] [INFO] Checking activity reminders 
[2026-04-19 10:09:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:29] [INFO] Checking activity reminders 
[2026-04-19 10:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:37] [INFO] Checking activity reminders 
[2026-04-19 10:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:41] [INFO] Checking activity reminders 
[2026-04-19 10:09:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:09:59] [INFO] Checking activity reminders 
[2026-04-19 10:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:10:12] [INFO] Checking activity reminders 
[2026-04-19 10:10:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:10:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-19 10:10:23] [INFO] Checking activity reminders 
[2026-04-19 10:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:10:29] [INFO] Checking activity reminders 
[2026-04-19 10:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:10:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 10:10:58] [INFO] Checking activity reminders 
[2026-04-19 10:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:10:59] [INFO] Checking activity reminders 
[2026-04-19 10:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:11:28] [INFO] Checking activity reminders 
[2026-04-19 10:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:11:29] [INFO] Checking activity reminders 
[2026-04-19 10:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:11:45] [INFO] Checking activity reminders 
[2026-04-19 10:11:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:11:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:11:57] [INFO] Checking activity reminders 
[2026-04-19 10:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:11:59] [INFO] Checking activity reminders 
[2026-04-19 10:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:12:29] [INFO] Checking activity reminders 
[2026-04-19 10:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:12:31] [INFO] Checking activity reminders 
[2026-04-19 10:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:12:59] [INFO] Checking activity reminders 
[2026-04-19 10:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:13:29] [INFO] Checking activity reminders 
[2026-04-19 10:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:13:33] [INFO] Checking activity reminders 
[2026-04-19 10:13:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:13:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:13:39] [INFO] Checking activity reminders 
[2026-04-19 10:13:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:13:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:13:59] [INFO] Checking activity reminders 
[2026-04-19 10:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:14:00] [INFO] Checking activity reminders 
[2026-04-19 10:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:14:02] [INFO] Checking activity reminders 
[2026-04-19 10:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:14:30] [INFO] Checking activity reminders 
[2026-04-19 10:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:15:00] [INFO] Checking activity reminders 
[2026-04-19 10:15:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:15:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:15:01] [INFO] Checking activity reminders 
[2026-04-19 10:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:15:30] [INFO] Checking activity reminders 
[2026-04-19 10:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:15:43] [INFO] Checking activity reminders 
[2026-04-19 10:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:15:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-19 10:16:00] [INFO] Checking activity reminders 
[2026-04-19 10:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:16:13] [INFO] Checking activity reminders 
[2026-04-19 10:16:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:16:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:16:30] [INFO] Checking activity reminders 
[2026-04-19 10:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:16:43] [INFO] Checking activity reminders 
[2026-04-19 10:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:17:00] [INFO] Checking activity reminders 
[2026-04-19 10:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:17:13] [INFO] Checking activity reminders 
[2026-04-19 10:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:17:30] [INFO] Checking activity reminders 
[2026-04-19 10:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:17:43] [INFO] Checking activity reminders 
[2026-04-19 10:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:18:00] [INFO] Checking activity reminders 
[2026-04-19 10:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:18:13] [INFO] Checking activity reminders 
[2026-04-19 10:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:18:30] [INFO] Checking activity reminders 
[2026-04-19 10:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:18:43] [INFO] Checking activity reminders 
[2026-04-19 10:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:19:00] [INFO] Checking activity reminders 
[2026-04-19 10:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:19:13] [INFO] Checking activity reminders 
[2026-04-19 10:19:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:19:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:19:30] [INFO] Checking activity reminders 
[2026-04-19 10:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:19:43] [INFO] Checking activity reminders 
[2026-04-19 10:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:20:00] [INFO] Checking activity reminders 
[2026-04-19 10:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:20:13] [INFO] Checking activity reminders 
[2026-04-19 10:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:20:30] [INFO] Checking activity reminders 
[2026-04-19 10:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:20:44] [INFO] Checking activity reminders 
[2026-04-19 10:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:21:01] [INFO] Checking activity reminders 
[2026-04-19 10:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:21:14] [INFO] Checking activity reminders 
[2026-04-19 10:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:21:31] [INFO] Checking activity reminders 
[2026-04-19 10:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:21:44] [INFO] Checking activity reminders 
[2026-04-19 10:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:22:01] [INFO] Checking activity reminders 
[2026-04-19 10:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:22:14] [INFO] Checking activity reminders 
[2026-04-19 10:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:22:31] [INFO] Checking activity reminders 
[2026-04-19 10:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:22:44] [INFO] Checking activity reminders 
[2026-04-19 10:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:23:01] [INFO] Checking activity reminders 
[2026-04-19 10:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:23:14] [INFO] Checking activity reminders 
[2026-04-19 10:23:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:23:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:23:31] [INFO] Checking activity reminders 
[2026-04-19 10:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:23:44] [INFO] Checking activity reminders 
[2026-04-19 10:23:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:23:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:24:14] [INFO] Checking activity reminders 
[2026-04-19 10:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:24:39] [INFO] Checking activity reminders 
[2026-04-19 10:24:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:24:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:24:44] [INFO] Checking activity reminders 
[2026-04-19 10:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:25:09] [INFO] Checking activity reminders 
[2026-04-19 10:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:25:14] [INFO] Checking activity reminders 
[2026-04-19 10:25:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:25:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:25:16] [INFO] Activity save request {"post_data":{"contact_id":"1008","deal_id":"local_69b82286ead6c9.24459219","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فردا واریز میکنه \/ چک ها پاس نشدن میگه توانا قبلا مهربونتر بودی \r\n","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 10:25:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1008","note_was_empty":true}
[2026-04-19 10:25:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"1008","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:16] [INFO] Updating virtual stage {"contact_id":"1008","stage_name":"deal_registered","force":false}
[2026-04-19 10:25:16] [INFO] Virtual stage successfully saved {"contact_id":"1008","stage_name":"deal_registered"}
[2026-04-19 10:25:16] [INFO] Virtual stage updated after activity save {"contact_id":"1008"}
[2026-04-19 10:25:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b82286ead6c9.24459219","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 10:25:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e47c549d48e6.84911626","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e47c549d48e6.84911626"}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:16] [INFO] Updating virtual stage {"contact_id":"1008","stage_name":"deal_registered","force":false}
[2026-04-19 10:25:16] [INFO] Virtual stage successfully saved {"contact_id":"1008","stage_name":"deal_registered"}
[2026-04-19 10:25:16] [INFO] Virtual stage updated after activity save {"contact_id":"1008"}
[2026-04-19 10:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-19 10:25:39] [INFO] Checking activity reminders 
[2026-04-19 10:25:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:25:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:25:44] [INFO] Checking activity reminders 
[2026-04-19 10:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:26:09] [INFO] Checking activity reminders 
[2026-04-19 10:26:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:26:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:26:14] [INFO] Checking activity reminders 
[2026-04-19 10:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:26:39] [INFO] Checking activity reminders 
[2026-04-19 10:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:26:44] [INFO] Checking activity reminders 
[2026-04-19 10:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:27:06] [INFO] Checking activity reminders 
[2026-04-19 10:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:27:14] [INFO] Checking activity reminders 
[2026-04-19 10:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:27:36] [INFO] Checking activity reminders 
[2026-04-19 10:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:27:44] [INFO] Checking activity reminders 
[2026-04-19 10:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:28:07] [INFO] Checking activity reminders 
[2026-04-19 10:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:28:09] [INFO] Checking activity reminders 
[2026-04-19 10:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:28:37] [INFO] Checking activity reminders 
[2026-04-19 10:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:28:50] [INFO] Checking activity reminders 
[2026-04-19 10:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:28:54] [INFO] Checking activity reminders 
[2026-04-19 10:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:29:07] [INFO] Checking activity reminders 
[2026-04-19 10:29:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:29:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:29:37] [INFO] Checking activity reminders 
[2026-04-19 10:29:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:29:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:30:07] [INFO] Checking activity reminders 
[2026-04-19 10:30:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:30:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:30:37] [INFO] Checking activity reminders 
[2026-04-19 10:30:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:30:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:31:07] [INFO] Checking activity reminders 
[2026-04-19 10:31:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:31:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:31:18] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 10:31:18] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 10:31:18] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 10:31:37] [INFO] Checking activity reminders 
[2026-04-19 10:31:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:31:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:32:07] [INFO] Checking activity reminders 
[2026-04-19 10:32:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:32:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:32:15] [INFO] Checking activity reminders 
[2026-04-19 10:32:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:32:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:32:37] [INFO] Checking activity reminders 
[2026-04-19 10:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:33:08] [INFO] Checking activity reminders 
[2026-04-19 10:33:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:33:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:33:37] [INFO] Checking activity reminders 
[2026-04-19 10:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:33:38] [INFO] Checking activity reminders 
[2026-04-19 10:33:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:33:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:34:08] [INFO] Checking activity reminders 
[2026-04-19 10:34:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:34:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:34:38] [INFO] Checking activity reminders 
[2026-04-19 10:34:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:34:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:35:08] [INFO] Checking activity reminders 
[2026-04-19 10:35:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:35:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:35:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:35:38] [INFO] Checking activity reminders 
[2026-04-19 10:35:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:35:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:36:08] [INFO] Checking activity reminders 
[2026-04-19 10:36:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:36:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:36:35] [WARNING] Auth check failed - not authenticated {"session_id":"nbfgq1kbvv9dgae31fct6jelbj","session_keys":[],"action":"log_client_event"}
[2026-04-19 10:36:35] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-19 10:36:36] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 10:36:38] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 10:36:39] [INFO] Checking activity reminders 
[2026-04-19 10:36:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:36:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:36:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 10:37:09] [INFO] Checking activity reminders 
[2026-04-19 10:37:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:37:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:37:39] [INFO] Checking activity reminders 
[2026-04-19 10:37:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:37:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:38:09] [INFO] Checking activity reminders 
[2026-04-19 10:38:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:38:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:38:39] [INFO] Checking activity reminders 
[2026-04-19 10:38:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:38:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:39:09] [INFO] Checking activity reminders 
[2026-04-19 10:39:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:39:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:39:39] [INFO] Checking activity reminders 
[2026-04-19 10:39:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:39:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:40:09] [INFO] Checking activity reminders 
[2026-04-19 10:40:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:40:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:40:39] [INFO] Checking activity reminders 
[2026-04-19 10:40:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:40:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:41:09] [INFO] Checking activity reminders 
[2026-04-19 10:41:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:41:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:41:40] [INFO] Checking activity reminders 
[2026-04-19 10:41:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:41:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:42:10] [INFO] Checking activity reminders 
[2026-04-19 10:42:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:42:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:42:40] [INFO] Checking activity reminders 
[2026-04-19 10:42:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:42:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:43:10] [INFO] Checking activity reminders 
[2026-04-19 10:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:43:40] [INFO] Checking activity reminders 
[2026-04-19 10:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:44:10] [INFO] Checking activity reminders 
[2026-04-19 10:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:44:40] [INFO] Checking activity reminders 
[2026-04-19 10:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:45:10] [INFO] Checking activity reminders 
[2026-04-19 10:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:45:40] [INFO] Checking activity reminders 
[2026-04-19 10:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:46:10] [INFO] Checking activity reminders 
[2026-04-19 10:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:46:40] [INFO] Checking activity reminders 
[2026-04-19 10:46:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:46:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:47:10] [INFO] Checking activity reminders 
[2026-04-19 10:47:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:47:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:47:40] [INFO] Checking activity reminders 
[2026-04-19 10:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:48:10] [INFO] Checking activity reminders 
[2026-04-19 10:48:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:48:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:48:41] [INFO] Checking activity reminders 
[2026-04-19 10:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:49:11] [INFO] Checking activity reminders 
[2026-04-19 10:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:49:41] [INFO] Checking activity reminders 
[2026-04-19 10:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:50:03] [INFO] Checking activity reminders 
[2026-04-19 10:50:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:50:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:50:11] [INFO] Checking activity reminders 
[2026-04-19 10:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-19 10:50:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-19 10:50:34] [INFO] Checking activity reminders 
[2026-04-19 10:50:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:50:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:50:41] [INFO] Checking activity reminders 
[2026-04-19 10:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:50:56] [INFO] Checking activity reminders 
[2026-04-19 10:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:51:04] [INFO] Checking activity reminders 
[2026-04-19 10:51:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:51:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:51:11] [INFO] Checking activity reminders 
[2026-04-19 10:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:51:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:51:14] [INFO] Checking activity reminders 
[2026-04-19 10:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-19 10:51:34] [INFO] Checking activity reminders 
[2026-04-19 10:51:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:51:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:51:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:51:41] [INFO] Checking activity reminders 
[2026-04-19 10:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:52:04] [INFO] Checking activity reminders 
[2026-04-19 10:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:52:15] [INFO] Checking activity reminders 
[2026-04-19 10:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:52:33] [INFO] Lead update received {"contact_id":"20466","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-19 10:52:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:52:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:52:33] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20466"}
[2026-04-19 10:52:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:52:34] [INFO] Checking activity reminders 
[2026-04-19 10:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:52:45] [INFO] Checking activity reminders 
[2026-04-19 10:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:04] [INFO] Checking activity reminders 
[2026-04-19 10:53:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:16] [INFO] Checking activity reminders 
[2026-04-19 10:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:24] [INFO] Checking activity reminders 
[2026-04-19 10:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:34] [INFO] Checking activity reminders 
[2026-04-19 10:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:38] [INFO] Checking activity reminders 
[2026-04-19 10:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:53:46] [INFO] Checking activity reminders 
[2026-04-19 10:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:54:05] [INFO] Checking activity reminders 
[2026-04-19 10:54:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:54:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:54:16] [INFO] Checking activity reminders 
[2026-04-19 10:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:54:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:54:35] [INFO] Checking activity reminders 
[2026-04-19 10:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:54:46] [INFO] Checking activity reminders 
[2026-04-19 10:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:54:59] [INFO] Checking activity reminders 
[2026-04-19 10:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:55:05] [INFO] Checking activity reminders 
[2026-04-19 10:55:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:55:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:55:16] [INFO] Checking activity reminders 
[2026-04-19 10:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:55:28] [INFO] Activity save request {"post_data":{"contact_id":"20466","deal_id":"local_69e0a595b361a1.06384647","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"1 میلیارد نقد \/ میگه گرونه کانال \/ شهریور و مهر سود کرده 150ت \r\nسرمایه دستگاه جدید خریده برای کارش\/ متولد 76 \/ \r\nبچه گلیه 6ماهه گفتم بیا \/ عصر مجدد صحبت ","activity_duration":"20","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 10:55:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20466","note_was_empty":true}
[2026-04-19 10:55:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"20466","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:28] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-19 10:55:28] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-19 10:55:28] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-19 10:55:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a595b361a1.06384647","stage":"تماس پیگیری","status_change":null}
[2026-04-19 10:55:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e48368580311.08063460","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e48368580311.08063460"}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:28] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-19 10:55:28] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-19 10:55:28] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-19 10:55:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 10:55:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 10:55:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 10:55:35] [INFO] Checking activity reminders 
[2026-04-19 10:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:55:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 10:55:58","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 10:55:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:55:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12398","is_new_deal":false}
[2026-04-19 10:55:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:55:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:55:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:55:58] [INFO] getContactPrimaryPhone called {"contact_id":"12398"}
[2026-04-19 10:55:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:55:58] [INFO] getContactPrimaryPhone result {"contact_id":"12398","person_found":true,"primary_phone":"9361188914"}
[2026-04-19 10:55:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361188914"}
[2026-04-19 10:55:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361188914","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:55:58"}
[2026-04-19 10:55:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","existing_deal_found":true,"existing_contact_id":"12398","existing_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:55:58"}
[2026-04-19 10:56:05] [INFO] Checking activity reminders 
[2026-04-19 10:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:56:34] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 10:56:34","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 10:56:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:34] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12398","is_new_deal":false}
[2026-04-19 10:56:34] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:34] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:34] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:34] [INFO] getContactPrimaryPhone called {"contact_id":"12398"}
[2026-04-19 10:56:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:34] [INFO] getContactPrimaryPhone result {"contact_id":"12398","person_found":true,"primary_phone":"9361188914"}
[2026-04-19 10:56:34] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361188914"}
[2026-04-19 10:56:34] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361188914","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:56:34"}
[2026-04-19 10:56:34] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","existing_deal_found":true,"existing_contact_id":"12398","existing_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:56:34"}
[2026-04-19 10:56:34] [INFO] DealController.save validated payments {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","payments_count":4,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-19 10:56:34] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12398","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 10:56:34] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ef3d121e519.10264232","contact_didar_id":"12398","title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9361188914","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"متین غفوری","existing_deal":"YES","existing_deal_id":"local_699ef3d121e519.10264232","existing_deal_status":"Pending","server_time":"2026-04-19 10:56:34","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 10:56:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:34] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-19 10:56:34","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 10:56:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:35] [INFO] Checking activity reminders 
[2026-04-19 10:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:56:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 10:56:52","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 10:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12398","is_new_deal":false}
[2026-04-19 10:56:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 10:56:52] [INFO] getContactPrimaryPhone called {"contact_id":"12398"}
[2026-04-19 10:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:52] [INFO] getContactPrimaryPhone result {"contact_id":"12398","person_found":true,"primary_phone":"9361188914"}
[2026-04-19 10:56:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361188914"}
[2026-04-19 10:56:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361188914","contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:56:52"}
[2026-04-19 10:56:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","existing_deal_found":true,"existing_contact_id":"12398","existing_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 10:56:52"}
[2026-04-19 10:56:52] [INFO] DealController.save validated payments {"deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","payments_count":4,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-19 10:56:52] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12398","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 10:56:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ef3d121e519.10264232","contact_didar_id":"12398","title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9361188914","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"متین غفوری","existing_deal":"YES","existing_deal_id":"local_699ef3d121e519.10264232","existing_deal_status":"Pending","server_time":"2026-04-19 10:56:52","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 10:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:52] [INFO] Deal success processed {"contact_id":"12398","person_name":"متین غفوری","products_count":1}
[2026-04-19 10:56:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ef3d121e519.10264232","contact_id":"12398","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9361188914 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-19 10:56:52","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 10:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:56:52] [INFO] Updating virtual stage {"contact_id":"12398","stage_name":"with_purchase","force":true}
[2026-04-19 10:56:52] [INFO] Virtual stage successfully saved {"contact_id":"12398","stage_name":"with_purchase"}
[2026-04-19 10:56:52] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12398","deal_id":"local_699ef3d121e519.10264232","target_stage":"with_purchase"}
[2026-04-19 10:56:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 10:57:05] [INFO] Checking activity reminders 
[2026-04-19 10:57:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:57:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:57:36] [INFO] Checking activity reminders 
[2026-04-19 10:57:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:57:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:58:06] [INFO] Checking activity reminders 
[2026-04-19 10:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:58:24] [INFO] Checking activity reminders 
[2026-04-19 10:58:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:58:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:58:36] [INFO] Checking activity reminders 
[2026-04-19 10:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:58:54] [INFO] Checking activity reminders 
[2026-04-19 10:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:59:06] [INFO] Checking activity reminders 
[2026-04-19 10:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:59:25] [INFO] Checking activity reminders 
[2026-04-19 10:59:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:59:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:59:36] [INFO] Checking activity reminders 
[2026-04-19 10:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 10:59:55] [INFO] Checking activity reminders 
[2026-04-19 10:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 10:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:00:06] [INFO] Checking activity reminders 
[2026-04-19 11:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:00:25] [INFO] Checking activity reminders 
[2026-04-19 11:00:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:00:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:00:36] [INFO] Checking activity reminders 
[2026-04-19 11:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:00:38] [INFO] Activity save request {"post_data":{"contact_id":"local_69e0a6c2a6c773.08588475","deal_id":"local_69e0a6c2ab492","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک ","activity_duration":"3","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:00:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e0a6c2a6c773.08588475","note_was_empty":true}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:38] [INFO] Updating virtual stage {"contact_id":"local_69e0a6c2a6c773.08588475","stage_name":"new","force":false}
[2026-04-19 11:00:38] [INFO] Virtual stage successfully saved {"contact_id":"local_69e0a6c2a6c773.08588475","stage_name":"new"}
[2026-04-19 11:00:38] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e0a6c2a6c773.08588475"}
[2026-04-19 11:00:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a6c2ab492","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-19 11:00:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4849e2dac59.55366723","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4849e2dac59.55366723"}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:38] [INFO] Updating virtual stage {"contact_id":"local_69e0a6c2a6c773.08588475","stage_name":"deal_registered","force":false}
[2026-04-19 11:00:38] [INFO] Virtual stage successfully saved {"contact_id":"local_69e0a6c2a6c773.08588475","stage_name":"deal_registered"}
[2026-04-19 11:00:38] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e0a6c2a6c773.08588475"}
[2026-04-19 11:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-19 11:00:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:00:55] [INFO] Checking activity reminders 
[2026-04-19 11:00:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:00:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:01:07] [INFO] Checking activity reminders 
[2026-04-19 11:01:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:01:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-19 11:01:25] [INFO] Checking activity reminders 
[2026-04-19 11:01:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:01:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:01:37] [INFO] Checking activity reminders 
[2026-04-19 11:01:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:01:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_products"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:37] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:45] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 11:01:45] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 11:01:45] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 11:01:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 11:01:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 11:01:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 11:01:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 11:01:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-19 11:01:53] [INFO] Checking activity reminders 
[2026-04-19 11:01:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:01:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:02:07] [INFO] Checking activity reminders 
[2026-04-19 11:02:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:02:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:02:23] [INFO] Checking activity reminders 
[2026-04-19 11:02:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:02:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:02:37] [INFO] Checking activity reminders 
[2026-04-19 11:02:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:02:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:02:53] [INFO] Checking activity reminders 
[2026-04-19 11:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:03:07] [INFO] Checking activity reminders 
[2026-04-19 11:03:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:03:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:03:23] [INFO] Checking activity reminders 
[2026-04-19 11:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:03:37] [INFO] Checking activity reminders 
[2026-04-19 11:03:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:03:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:03:53] [INFO] Checking activity reminders 
[2026-04-19 11:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:03] [INFO] Activity save request {"post_data":{"contact_id":"353","deal_id":"local_69d6911a377ba9.80147603","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشت فرمون بود ساعت 12 تماس","activity_duration":"5","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:04:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"353","note_was_empty":true}
[2026-04-19 11:04:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"353","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:03] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-19 11:04:03] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-19 11:04:03] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-19 11:04:03] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6911a377ba9.80147603","stage":"تماس پیگیری","status_change":null}
[2026-04-19 11:04:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4856b7e45b5.43799011","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4856b7e45b5.43799011"}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:03] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-19 11:04:03] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-19 11:04:03] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-19 11:04:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 11:04:07] [INFO] Checking activity reminders 
[2026-04-19 11:04:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:10] [INFO] Checking activity reminders 
[2026-04-19 11:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:13] [INFO] Checking activity reminders 
[2026-04-19 11:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-19 11:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-19 11:04:24] [INFO] Checking activity reminders 
[2026-04-19 11:04:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:04:37] [INFO] Checking activity reminders 
[2026-04-19 11:04:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:04:54] [INFO] Checking activity reminders 
[2026-04-19 11:04:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:04:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:05:07] [INFO] Checking activity reminders 
[2026-04-19 11:05:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:05:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:05:24] [INFO] Checking activity reminders 
[2026-04-19 11:05:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:05:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:05:37] [INFO] Checking activity reminders 
[2026-04-19 11:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:05:54] [INFO] Checking activity reminders 
[2026-04-19 11:05:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:05:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:05:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:06:07] [INFO] Checking activity reminders 
[2026-04-19 11:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:06:13] [INFO] Lead update received {"contact_id":"21335","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-19 11:06:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:06:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:06:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21335"}
[2026-04-19 11:06:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:06:24] [INFO] Checking activity reminders 
[2026-04-19 11:06:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:06:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:06:38] [INFO] Checking activity reminders 
[2026-04-19 11:06:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:06:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:06:54] [INFO] Checking activity reminders 
[2026-04-19 11:06:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:06:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:07:08] [INFO] Checking activity reminders 
[2026-04-19 11:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:07:24] [INFO] Checking activity reminders 
[2026-04-19 11:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:07:38] [INFO] Checking activity reminders 
[2026-04-19 11:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:07:54] [INFO] Checking activity reminders 
[2026-04-19 11:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:08] [INFO] Checking activity reminders 
[2026-04-19 11:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:24] [INFO] Checking activity reminders 
[2026-04-19 11:08:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:38] [INFO] Checking activity reminders 
[2026-04-19 11:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:45] [INFO] Activity save request {"post_data":{"contact_id":"21335","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیام پیگیری تسویه بله","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:08:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:08:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:08:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21335","note_was_empty":true}
[2026-04-19 11:08:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"21335","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:08:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e486854ec264.84383687","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:08:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e486854ec264.84383687"}
[2026-04-19 11:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:08:45] [INFO] Updating virtual stage {"contact_id":"21335","stage_name":"deal_registered","force":false}
[2026-04-19 11:08:45] [INFO] Virtual stage successfully saved {"contact_id":"21335","stage_name":"deal_registered"}
[2026-04-19 11:08:45] [INFO] Virtual stage updated after activity save {"contact_id":"21335"}
[2026-04-19 11:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 11:08:46] [INFO] Checking activity reminders 
[2026-04-19 11:08:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 11:08:54] [INFO] Checking activity reminders 
[2026-04-19 11:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:08:58] [INFO] Checking activity reminders 
[2026-04-19 11:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:09:24] [INFO] Checking activity reminders 
[2026-04-19 11:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:09:28] [INFO] Checking activity reminders 
[2026-04-19 11:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:09:54] [INFO] Checking activity reminders 
[2026-04-19 11:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:09:58] [INFO] Checking activity reminders 
[2026-04-19 11:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:10:28] [INFO] Checking activity reminders 
[2026-04-19 11:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:10:58] [INFO] Checking activity reminders 
[2026-04-19 11:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:11:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:11:29] [INFO] Checking activity reminders 
[2026-04-19 11:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:11:53] [INFO] Checking activity reminders 
[2026-04-19 11:11:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:11:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:11:59] [INFO] Checking activity reminders 
[2026-04-19 11:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:12:13] [INFO] Checking activity reminders 
[2026-04-19 11:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:12:18] [INFO] Checking activity reminders 
[2026-04-19 11:12:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:12:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:12:29] [INFO] Checking activity reminders 
[2026-04-19 11:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:12:31] [INFO] Checking activity reminders 
[2026-04-19 11:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:12:59] [INFO] Checking activity reminders 
[2026-04-19 11:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:13:29] [INFO] Checking activity reminders 
[2026-04-19 11:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:13:54] [INFO] Activity save request {"post_data":{"contact_id":"4070","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:13:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:13:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:13:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4070","note_was_empty":true}
[2026-04-19 11:13:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"4070","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 11:13:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e487bac2c166.82924826","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:13:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e487bac2c166.82924826"}
[2026-04-19 11:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:13:54] [INFO] Updating virtual stage {"contact_id":"4070","stage_name":"deal_registered","force":false}
[2026-04-19 11:13:54] [INFO] Virtual stage successfully saved {"contact_id":"4070","stage_name":"deal_registered"}
[2026-04-19 11:13:54] [INFO] Virtual stage updated after activity save {"contact_id":"4070"}
[2026-04-19 11:13:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4070","person_id":"9335"}
[2026-04-19 11:13:59] [INFO] Checking activity reminders 
[2026-04-19 11:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:14:29] [INFO] Checking activity reminders 
[2026-04-19 11:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:14:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 11:14:59] [INFO] Checking activity reminders 
[2026-04-19 11:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:15:29] [INFO] Checking activity reminders 
[2026-04-19 11:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:16:00] [INFO] Checking activity reminders 
[2026-04-19 11:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:16:24] [INFO] Checking activity reminders 
[2026-04-19 11:16:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:16:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:16:30] [INFO] Checking activity reminders 
[2026-04-19 11:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:16:52] [INFO] Checking activity reminders 
[2026-04-19 11:16:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:16:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:00] [INFO] Checking activity reminders 
[2026-04-19 11:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:13] [INFO] Checking activity reminders 
[2026-04-19 11:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:22] [INFO] Checking activity reminders 
[2026-04-19 11:17:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:24] [INFO] Activity save request {"post_data":{"contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 اردیبهشت تسویه میزنه 50 باقی مانده","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:17:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15975","note_was_empty":true}
[2026-04-19 11:17:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"15975","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Updating virtual stage {"contact_id":"15975","stage_name":"deal_registered","force":false}
[2026-04-19 11:17:24] [INFO] Virtual stage successfully saved {"contact_id":"15975","stage_name":"deal_registered"}
[2026-04-19 11:17:24] [INFO] Virtual stage updated after activity save {"contact_id":"15975"}
[2026-04-19 11:17:24] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c871c870d9e8.36262570","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 11:17:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4888c32afd7.14163729","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4888c32afd7.14163729"}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Updating virtual stage {"contact_id":"15975","stage_name":"deal_registered","force":false}
[2026-04-19 11:17:24] [INFO] Virtual stage successfully saved {"contact_id":"15975","stage_name":"deal_registered"}
[2026-04-19 11:17:24] [INFO] Virtual stage updated after activity save {"contact_id":"15975"}
[2026-04-19 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-19 11:17:24] [INFO] Checking activity reminders 
[2026-04-19 11:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:30] [INFO] Checking activity reminders 
[2026-04-19 11:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:52] [INFO] Checking activity reminders 
[2026-04-19 11:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:17:52] [INFO] Checking activity reminders 
[2026-04-19 11:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:18:00] [INFO] Checking activity reminders 
[2026-04-19 11:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-19 11:18:22] [INFO] Checking activity reminders 
[2026-04-19 11:18:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:18:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:18:30] [INFO] Checking activity reminders 
[2026-04-19 11:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:18:52] [INFO] Checking activity reminders 
[2026-04-19 11:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:19:00] [INFO] Checking activity reminders 
[2026-04-19 11:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:19:23] [INFO] Checking activity reminders 
[2026-04-19 11:19:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:19:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:19:30] [INFO] Checking activity reminders 
[2026-04-19 11:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:19:52] [INFO] Checking activity reminders 
[2026-04-19 11:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:19:53] [INFO] Checking activity reminders 
[2026-04-19 11:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:20:00] [INFO] Checking activity reminders 
[2026-04-19 11:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:20:23] [INFO] Checking activity reminders 
[2026-04-19 11:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:20:31] [INFO] Checking activity reminders 
[2026-04-19 11:20:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:20:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:20:53] [INFO] Checking activity reminders 
[2026-04-19 11:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:00] [INFO] Checking activity reminders 
[2026-04-19 11:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:01] [INFO] Checking activity reminders 
[2026-04-19 11:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:23] [INFO] Checking activity reminders 
[2026-04-19 11:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:31] [INFO] Checking activity reminders 
[2026-04-19 11:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:31] [INFO] Checking activity reminders 
[2026-04-19 11:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-19 11:21:53] [INFO] Checking activity reminders 
[2026-04-19 11:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:21:58] [INFO] Checking activity reminders 
[2026-04-19 11:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:01] [INFO] Checking activity reminders 
[2026-04-19 11:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:10] [INFO] Checking activity reminders 
[2026-04-19 11:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:16] [INFO] Checking activity reminders 
[2026-04-19 11:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:19] [INFO] Checking activity reminders 
[2026-04-19 11:22:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:23] [INFO] Checking activity reminders 
[2026-04-19 11:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:31] [INFO] Checking activity reminders 
[2026-04-19 11:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:40] [INFO] Checking activity reminders 
[2026-04-19 11:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:22:53] [INFO] Checking activity reminders 
[2026-04-19 11:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:23:01] [INFO] Checking activity reminders 
[2026-04-19 11:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:23:13] [INFO] Checking activity reminders 
[2026-04-19 11:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:23:23] [INFO] Checking activity reminders 
[2026-04-19 11:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:23:32] [INFO] Checking activity reminders 
[2026-04-19 11:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:23:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 11:23:53] [INFO] Checking activity reminders 
[2026-04-19 11:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:02] [INFO] Checking activity reminders 
[2026-04-19 11:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:03] [INFO] Checking activity reminders 
[2026-04-19 11:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-19 11:24:23] [INFO] Checking activity reminders 
[2026-04-19 11:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:32] [INFO] Checking activity reminders 
[2026-04-19 11:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:43] [INFO] Checking activity reminders 
[2026-04-19 11:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:24:53] [INFO] Checking activity reminders 
[2026-04-19 11:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:02] [INFO] Checking activity reminders 
[2026-04-19 11:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:19] [INFO] Checking activity reminders 
[2026-04-19 11:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:23] [INFO] Checking activity reminders 
[2026-04-19 11:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:32] [INFO] Checking activity reminders 
[2026-04-19 11:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:38] [INFO] Checking activity reminders 
[2026-04-19 11:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:54] [INFO] Checking activity reminders 
[2026-04-19 11:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:25:56] [INFO] Checking activity reminders 
[2026-04-19 11:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:26:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69cd230ef155f2.07282058","person_id":"21940"}
[2026-04-19 11:26:24] [INFO] Checking activity reminders 
[2026-04-19 11:26:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:26:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:26:54] [INFO] Checking activity reminders 
[2026-04-19 11:26:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:26:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:01] [INFO] Checking activity reminders 
[2026-04-19 11:27:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-19 11:27:14] [INFO] Checking activity reminders 
[2026-04-19 11:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-19 11:27:24] [INFO] Checking activity reminders 
[2026-04-19 11:27:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:41] [INFO] Checking activity reminders 
[2026-04-19 11:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:43] [INFO] Checking activity reminders 
[2026-04-19 11:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:50] [INFO] Checking activity reminders 
[2026-04-19 11:27:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:27:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:27:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:28:11] [INFO] Checking activity reminders 
[2026-04-19 11:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:28:13] [INFO] Checking activity reminders 
[2026-04-19 11:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:28:24] [INFO] Checking activity reminders 
[2026-04-19 11:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:28:41] [INFO] Checking activity reminders 
[2026-04-19 11:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:28:42] [INFO] Checking activity reminders 
[2026-04-19 11:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:28:43] [INFO] Checking activity reminders 
[2026-04-19 11:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:29:12] [INFO] Checking activity reminders 
[2026-04-19 11:29:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:29:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:29:19] [INFO] Checking activity reminders 
[2026-04-19 11:29:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:29:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:29:36] [INFO] Checking activity reminders 
[2026-04-19 11:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:29:49] [INFO] Checking activity reminders 
[2026-04-19 11:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:30:06] [INFO] Checking activity reminders 
[2026-04-19 11:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:30:19] [INFO] Checking activity reminders 
[2026-04-19 11:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:30:29] [INFO] Checking activity reminders 
[2026-04-19 11:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:30:36] [INFO] Checking activity reminders 
[2026-04-19 11:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:30:59] [INFO] Checking activity reminders 
[2026-04-19 11:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:31:06] [INFO] Checking activity reminders 
[2026-04-19 11:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:31:29] [INFO] Checking activity reminders 
[2026-04-19 11:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:31:36] [INFO] Checking activity reminders 
[2026-04-19 11:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:32:06] [INFO] Checking activity reminders 
[2026-04-19 11:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:32:16] [INFO] Checking activity reminders 
[2026-04-19 11:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:32:36] [INFO] Checking activity reminders 
[2026-04-19 11:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:32:38] [INFO] Checking activity reminders 
[2026-04-19 11:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:32:42] [INFO] Checking activity reminders 
[2026-04-19 11:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:06] [INFO] Checking activity reminders 
[2026-04-19 11:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:08] [INFO] Checking activity reminders 
[2026-04-19 11:33:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:19] [INFO] Checking activity reminders 
[2026-04-19 11:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:36] [INFO] Activity save request {"post_data":{"contact_id":"8263","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تماس گرفته شرکت دسترسی سایت میخواد میگه چند سال پیش ثبت نام کرده هوش\/ ارجاع به اقای سهرابی پیگیری بشه اوکی بود دسترسی درست بشه","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:33:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:33:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:33:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"8263","note_was_empty":true}
[2026-04-19 11:33:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"8263","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:33:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e48c58403d51.89597616","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:33:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e48c58403d51.89597616"}
[2026-04-19 11:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:33:36] [INFO] Updating virtual stage {"contact_id":"8263","stage_name":"deal_registered","force":false}
[2026-04-19 11:33:36] [INFO] Virtual stage successfully saved {"contact_id":"8263","stage_name":"deal_registered"}
[2026-04-19 11:33:36] [INFO] Virtual stage updated after activity save {"contact_id":"8263"}
[2026-04-19 11:33:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8263","person_id":"2560"}
[2026-04-19 11:33:37] [INFO] Checking activity reminders 
[2026-04-19 11:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:38] [INFO] Checking activity reminders 
[2026-04-19 11:33:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:33:56] [INFO] Checking activity reminders 
[2026-04-19 11:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:07] [INFO] Checking activity reminders 
[2026-04-19 11:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:08] [INFO] Checking activity reminders 
[2026-04-19 11:34:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:19] [INFO] Checking activity reminders 
[2026-04-19 11:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:37] [INFO] Checking activity reminders 
[2026-04-19 11:34:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:42] [INFO] Checking activity reminders 
[2026-04-19 11:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:34:48] [INFO] Checking activity reminders 
[2026-04-19 11:34:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:34:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:07] [INFO] Checking activity reminders 
[2026-04-19 11:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:12] [INFO] Checking activity reminders 
[2026-04-19 11:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:16] [INFO] Checking activity reminders 
[2026-04-19 11:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:37] [INFO] Checking activity reminders 
[2026-04-19 11:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:42] [INFO] Checking activity reminders 
[2026-04-19 11:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:35:42] [INFO] Checking activity reminders 
[2026-04-19 11:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:36:07] [INFO] Checking activity reminders 
[2026-04-19 11:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:36:12] [INFO] Checking activity reminders 
[2026-04-19 11:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:36:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:36:37] [INFO] Checking activity reminders 
[2026-04-19 11:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:36:42] [INFO] Checking activity reminders 
[2026-04-19 11:36:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:36:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:08] [INFO] Checking activity reminders 
[2026-04-19 11:37:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:12] [INFO] Checking activity reminders 
[2026-04-19 11:37:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:15] [INFO] Activity save request {"post_data":{"contact_id":"14977","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:37:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:37:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:37:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14977","note_was_empty":true}
[2026-04-19 11:37:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"14977","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 11:37:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e48d33666142.10023855","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:37:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e48d33666142.10023855"}
[2026-04-19 11:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:37:15] [INFO] Updating virtual stage {"contact_id":"14977","stage_name":"deal_registered","force":false}
[2026-04-19 11:37:15] [INFO] Virtual stage successfully saved {"contact_id":"14977","stage_name":"deal_registered"}
[2026-04-19 11:37:15] [INFO] Virtual stage updated after activity save {"contact_id":"14977"}
[2026-04-19 11:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14977","person_id":"16370"}
[2026-04-19 11:37:21] [INFO] Checking activity reminders 
[2026-04-19 11:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-19 11:37:38] [INFO] Checking activity reminders 
[2026-04-19 11:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:42] [INFO] Checking activity reminders 
[2026-04-19 11:37:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:37:51] [INFO] Checking activity reminders 
[2026-04-19 11:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:38:08] [INFO] Checking activity reminders 
[2026-04-19 11:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:38:12] [INFO] Checking activity reminders 
[2026-04-19 11:38:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:38:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:38:12] [INFO] Checking activity reminders 
[2026-04-19 11:38:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:38:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:38:38] [INFO] Checking activity reminders 
[2026-04-19 11:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:38:42] [INFO] Checking activity reminders 
[2026-04-19 11:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:39:08] [INFO] Checking activity reminders 
[2026-04-19 11:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:39:13] [INFO] Checking activity reminders 
[2026-04-19 11:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-19 11:39:38] [INFO] Checking activity reminders 
[2026-04-19 11:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:39:43] [INFO] Checking activity reminders 
[2026-04-19 11:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:39:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 11:40:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-19 11:40:08] [INFO] Checking activity reminders 
[2026-04-19 11:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:40:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-19 11:40:13] [INFO] Checking activity reminders 
[2026-04-19 11:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:40:38] [INFO] Checking activity reminders 
[2026-04-19 11:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:40:43] [INFO] Checking activity reminders 
[2026-04-19 11:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-19 11:41:08] [INFO] Checking activity reminders 
[2026-04-19 11:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:41:13] [INFO] Checking activity reminders 
[2026-04-19 11:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:41:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-19 11:41:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:41:38] [INFO] Checking activity reminders 
[2026-04-19 11:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:41:43] [INFO] Checking activity reminders 
[2026-04-19 11:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:42:09] [INFO] Checking activity reminders 
[2026-04-19 11:42:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:42:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:42:14] [INFO] Checking activity reminders 
[2026-04-19 11:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:42:25] [INFO] Checking activity reminders 
[2026-04-19 11:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:42:44] [INFO] Checking activity reminders 
[2026-04-19 11:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:42:56] [INFO] Checking activity reminders 
[2026-04-19 11:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:43:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 11:43:02","session_id":"3216q0ajpd9fmbng18lt5qsp9r"}
[2026-04-19 11:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:43:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"11224","is_new_deal":false}
[2026-04-19 11:43:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 11:43:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 11:43:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 11:43:02] [INFO] getContactPrimaryPhone called {"contact_id":"11224"}
[2026-04-19 11:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:43:02] [INFO] getContactPrimaryPhone result {"contact_id":"11224","person_found":true,"primary_phone":"9367776843"}
[2026-04-19 11:43:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367776843"}
[2026-04-19 11:43:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367776843","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 11:43:02"}
[2026-04-19 11:43:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","existing_deal_found":true,"existing_contact_id":"11224","existing_title":"معامله سوم 9367776843 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 11:43:02"}
[2026-04-19 11:43:14] [INFO] Checking activity reminders 
[2026-04-19 11:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:43:26] [INFO] Checking activity reminders 
[2026-04-19 11:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:43:34] [INFO] Checking activity reminders 
[2026-04-19 11:43:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:43:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:43:44] [INFO] Checking activity reminders 
[2026-04-19 11:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:43:56] [INFO] Checking activity reminders 
[2026-04-19 11:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:14] [INFO] Checking activity reminders 
[2026-04-19 11:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:17] [INFO] generateDealTitle result {"contact_id":"1951","person_name":"حامد نکویی","mobile":"9398803203","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9398803203"}
[2026-04-19 11:44:26] [INFO] Checking activity reminders 
[2026-04-19 11:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:27] [INFO] Checking activity reminders 
[2026-04-19 11:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:41] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1951","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 11:44:41","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 11:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1951","is_new_deal":true}
[2026-04-19 11:44:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 11:44:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 11:44:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 11:44:41] [INFO] getContactPrimaryPhone called {"contact_id":"1951"}
[2026-04-19 11:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:41] [INFO] getContactPrimaryPhone result {"contact_id":"1951","person_found":true,"primary_phone":"9398803203"}
[2026-04-19 11:44:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9398803203"}
[2026-04-19 11:44:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9398803203","contact_id":"1951","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 11:44:41"}
[2026-04-19 11:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:41] [INFO] generateDealTitle result {"contact_id":"1951","person_name":"حامد نکویی","mobile":"9398803203","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9398803203"}
[2026-04-19 11:44:41] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"1951","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 11:44:41] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1951","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 11:44:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"1951","title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9398803203","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حامد نکویی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-19 11:44:41","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 11:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:41] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-19 11:44:41] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"1951","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-19 11:44:41","ip_address":"2.176.200.52","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 11:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:44:44] [INFO] Checking activity reminders 
[2026-04-19 11:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:51] [INFO] Checking activity reminders 
[2026-04-19 11:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:44:57] [INFO] Checking activity reminders 
[2026-04-19 11:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:46:05] [INFO] Checking activity reminders 
[2026-04-19 11:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:46:35] [INFO] Checking activity reminders 
[2026-04-19 11:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:46:36] [INFO] Activity save request {"post_data":{"contact_id":"11224","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"مبلغ اشتباه زده شده 54 مانده داره 25ت واریز کرده 28 فروردین نتونستم ثبت کنم ارجاع به اقای سهرابی ادیت بشه","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:46:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:46:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:46:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11224","note_was_empty":true}
[2026-04-19 11:46:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"11224","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:46:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e48f64821d25.99805429","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:46:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e48f64821d25.99805429"}
[2026-04-19 11:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:46:36] [INFO] Updating virtual stage {"contact_id":"11224","stage_name":"deal_registered","force":false}
[2026-04-19 11:46:36] [INFO] Virtual stage successfully saved {"contact_id":"11224","stage_name":"deal_registered"}
[2026-04-19 11:46:36] [INFO] Virtual stage updated after activity save {"contact_id":"11224"}
[2026-04-19 11:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 11:46:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-19 11:47:05] [INFO] Checking activity reminders 
[2026-04-19 11:47:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:47:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:47:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-19 11:47:35] [INFO] Checking activity reminders 
[2026-04-19 11:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:48:05] [INFO] Checking activity reminders 
[2026-04-19 11:48:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:48:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:48:35] [INFO] Checking activity reminders 
[2026-04-19 11:48:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:48:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:49:05] [INFO] Checking activity reminders 
[2026-04-19 11:49:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:49:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:49:35] [INFO] Checking activity reminders 
[2026-04-19 11:49:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:49:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:49:37] [INFO] Activity save request {"post_data":{"contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"گفتهخ بود اخر ماه میزنه ماشین خریده بفروشه\/ ارسال پیامک یاداوری تسویه","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:49:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:49:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:49:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14373","note_was_empty":true}
[2026-04-19 11:49:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"14373","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:49:37] [INFO] Updating virtual stage {"contact_id":"14373","stage_name":"deal_registered","force":false}
[2026-04-19 11:49:37] [INFO] Virtual stage successfully saved {"contact_id":"14373","stage_name":"deal_registered"}
[2026-04-19 11:49:37] [INFO] Virtual stage updated after activity save {"contact_id":"14373"}
[2026-04-19 11:49:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b74104bfd1a1.18934610","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 11:49:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49019772c24.81982865","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:49:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49019772c24.81982865"}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:49:37] [INFO] Updating virtual stage {"contact_id":"14373","stage_name":"deal_registered","force":false}
[2026-04-19 11:49:37] [INFO] Virtual stage successfully saved {"contact_id":"14373","stage_name":"deal_registered"}
[2026-04-19 11:49:37] [INFO] Virtual stage updated after activity save {"contact_id":"14373"}
[2026-04-19 11:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 11:50:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:50:05] [INFO] Checking activity reminders 
[2026-04-19 11:50:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:50:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:50:35] [INFO] Checking activity reminders 
[2026-04-19 11:50:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:50:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:51:05] [INFO] Checking activity reminders 
[2026-04-19 11:51:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:51:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:51:35] [INFO] Checking activity reminders 
[2026-04-19 11:51:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:51:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:51:40] [INFO] Activity save request {"post_data":{"contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پ\r\nیامک پیگیری تسویه \/ گفته بود شنبه از بورس خارج میکنه میزنه","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:51:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11432","note_was_empty":true}
[2026-04-19 11:51:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"11432","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:40] [INFO] Updating virtual stage {"contact_id":"11432","stage_name":"deal_registered","force":false}
[2026-04-19 11:51:40] [INFO] Virtual stage successfully saved {"contact_id":"11432","stage_name":"deal_registered"}
[2026-04-19 11:51:40] [INFO] Virtual stage updated after activity save {"contact_id":"11432"}
[2026-04-19 11:51:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694a95b0d9b6c6.05208584","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 11:51:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e490948c2160.92027601","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69e490948c2160.92027601"}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:40] [INFO] Updating virtual stage {"contact_id":"11432","stage_name":"deal_registered","force":false}
[2026-04-19 11:51:40] [INFO] Virtual stage successfully saved {"contact_id":"11432","stage_name":"deal_registered"}
[2026-04-19 11:51:40] [INFO] Virtual stage updated after activity save {"contact_id":"11432"}
[2026-04-19 11:51:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-19 11:51:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:52:05] [INFO] Checking activity reminders 
[2026-04-19 11:52:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:52:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:52:35] [INFO] Checking activity reminders 
[2026-04-19 11:52:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:52:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:53:06] [INFO] Checking activity reminders 
[2026-04-19 11:53:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:53:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:53:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1951","deal_id":"local_69e48ef180f382.60993635","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 11:53:16","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1951","is_new_deal":false}
[2026-04-19 11:53:16] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 11:53:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 11:53:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 11:53:16] [INFO] getContactPrimaryPhone called {"contact_id":"1951"}
[2026-04-19 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:16] [INFO] getContactPrimaryPhone result {"contact_id":"1951","person_found":true,"primary_phone":"9398803203"}
[2026-04-19 11:53:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9398803203"}
[2026-04-19 11:53:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9398803203","contact_id":"1951","deal_id":"local_69e48ef180f382.60993635","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 11:53:16"}
[2026-04-19 11:53:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","existing_deal_found":true,"existing_contact_id":"1951","existing_title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 11:53:16"}
[2026-04-19 11:53:16] [INFO] DealController.save validated payments {"deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 11:53:16] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1951","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 11:53:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e48ef180f382.60993635","contact_didar_id":"1951","title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9398803203","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حامد نکویی","existing_deal":"YES","existing_deal_id":"local_69e48ef180f382.60993635","existing_deal_status":"Pending","server_time":"2026-04-19 11:53:16","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:16] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-19 11:53:16","ip_address":"5.112.51.211","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 11:53:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:36] [INFO] Checking activity reminders 
[2026-04-19 11:53:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:53:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:53:40] [INFO] Activity save request {"post_data":{"contact_id":"1951","deal_id":"local_69e48ef180f382.60993635","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:53:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1951","note_was_empty":true}
[2026-04-19 11:53:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"1951","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:40] [INFO] Updating virtual stage {"contact_id":"1951","stage_name":"deal_registered","force":false}
[2026-04-19 11:53:40] [INFO] Virtual stage successfully saved {"contact_id":"1951","stage_name":"deal_registered"}
[2026-04-19 11:53:40] [INFO] Virtual stage updated after activity save {"contact_id":"1951"}
[2026-04-19 11:53:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e48ef180f382.60993635","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 11:53:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4910cbd8535.76405767","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4910cbd8535.76405767"}
[2026-04-19 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:40] [INFO] Updating virtual stage {"contact_id":"1951","stage_name":"deal_registered","force":false}
[2026-04-19 11:53:40] [INFO] Virtual stage successfully saved {"contact_id":"1951","stage_name":"deal_registered"}
[2026-04-19 11:53:40] [INFO] Virtual stage updated after activity save {"contact_id":"1951"}
[2026-04-19 11:53:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-19 11:53:47] [INFO] Checking activity reminders 
[2026-04-19 11:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:54:00] [INFO] Activity save request {"post_data":{"contact_id":"6729","deal_id":"local_69b6b1f6db6594.48801747","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال 54 ت هست مانده داره \/ حقوق نگرفته هنوز امروز فردا بدن میزنه تسویه رو","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 11:54:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6729","note_was_empty":true}
[2026-04-19 11:54:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"6729","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:00] [INFO] Updating virtual stage {"contact_id":"6729","stage_name":"deal_registered","force":false}
[2026-04-19 11:54:00] [INFO] Virtual stage successfully saved {"contact_id":"6729","stage_name":"deal_registered"}
[2026-04-19 11:54:00] [INFO] Virtual stage updated after activity save {"contact_id":"6729"}
[2026-04-19 11:54:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6b1f6db6594.48801747","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 11:54:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49120843732.00425451","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49120843732.00425451"}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:00] [INFO] Updating virtual stage {"contact_id":"6729","stage_name":"deal_registered","force":false}
[2026-04-19 11:54:00] [INFO] Virtual stage successfully saved {"contact_id":"6729","stage_name":"deal_registered"}
[2026-04-19 11:54:00] [INFO] Virtual stage updated after activity save {"contact_id":"6729"}
[2026-04-19 11:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-19 11:54:06] [INFO] Checking activity reminders 
[2026-04-19 11:54:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:54:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:54:17] [INFO] Checking activity reminders 
[2026-04-19 11:54:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:54:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:54:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 11:54:36] [INFO] Checking activity reminders 
[2026-04-19 11:54:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:54:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:54:48] [INFO] Checking activity reminders 
[2026-04-19 11:54:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:54:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:55:06] [INFO] Checking activity reminders 
[2026-04-19 11:55:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:55:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:55:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 11:55:19] [INFO] Checking activity reminders 
[2026-04-19 11:55:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:55:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:55:24] [INFO] Checking activity reminders 
[2026-04-19 11:55:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:55:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:55:55] [INFO] Checking activity reminders 
[2026-04-19 11:55:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:55:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:56:25] [INFO] Checking activity reminders 
[2026-04-19 11:56:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:56:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:56:55] [INFO] Checking activity reminders 
[2026-04-19 11:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:57:25] [INFO] Checking activity reminders 
[2026-04-19 11:57:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:57:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:57:55] [INFO] Checking activity reminders 
[2026-04-19 11:57:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:57:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:58:25] [INFO] Checking activity reminders 
[2026-04-19 11:58:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:58:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:58:55] [INFO] Checking activity reminders 
[2026-04-19 11:58:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:58:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:59:25] [INFO] Checking activity reminders 
[2026-04-19 11:59:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:59:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 11:59:55] [INFO] Checking activity reminders 
[2026-04-19 11:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 11:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:00:25] [INFO] Checking activity reminders 
[2026-04-19 12:00:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:00:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:00:56] [INFO] Checking activity reminders 
[2026-04-19 12:00:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:00:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:01:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:26] [INFO] Checking activity reminders 
[2026-04-19 12:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:01:43] [INFO] Activity save request {"post_data":{"contact_id":"local_699c947020ec48.45521689","deal_id":"local_69b6b3ced917d2.46978297","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"تسوهی شده همون اسفند","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:01:43] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_699c947020ec48.45521689","note_was_empty":true}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Updating virtual stage {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase","force":false}
[2026-04-19 12:01:43] [INFO] Virtual stage successfully saved {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase"}
[2026-04-19 12:01:43] [INFO] Virtual stage updated after activity save {"contact_id":"local_699c947020ec48.45521689"}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6b3ced917d2.46978297","stage":"اتمام","status_change":"Won"}
[2026-04-19 12:01:43] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e492ef686ec4.73104062","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Activity saved successfully {"activity_id":"local_activity_69e492ef686ec4.73104062"}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:43] [INFO] Updating virtual stage {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase","force":false}
[2026-04-19 12:01:43] [INFO] Virtual stage successfully saved {"contact_id":"local_699c947020ec48.45521689","stage_name":"with_purchase"}
[2026-04-19 12:01:43] [INFO] Virtual stage updated after activity save {"contact_id":"local_699c947020ec48.45521689"}
[2026-04-19 12:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-19 12:01:56] [INFO] Checking activity reminders 
[2026-04-19 12:01:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:01:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:02:26] [INFO] Checking activity reminders 
[2026-04-19 12:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:02:56] [INFO] Checking activity reminders 
[2026-04-19 12:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:03:26] [INFO] Checking activity reminders 
[2026-04-19 12:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:03:56] [INFO] Checking activity reminders 
[2026-04-19 12:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:04:26] [INFO] Checking activity reminders 
[2026-04-19 12:04:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:04:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:04:56] [INFO] Checking activity reminders 
[2026-04-19 12:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:05:26] [INFO] Checking activity reminders 
[2026-04-19 12:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:05:41] [INFO] Activity save request {"post_data":{"contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیام پیگیری تسویه","activity_duration":"3","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:05:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20875","note_was_empty":true}
[2026-04-19 12:05:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"20875","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:41] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"deal_registered","force":false}
[2026-04-19 12:05:41] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"deal_registered"}
[2026-04-19 12:05:41] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-19 12:05:41] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699f170c1e62f1.09215329","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 12:05:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e493dd934788.98922898","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e493dd934788.98922898"}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:41] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"deal_registered","force":false}
[2026-04-19 12:05:41] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"deal_registered"}
[2026-04-19 12:05:41] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-19 12:05:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:05:57] [INFO] Checking activity reminders 
[2026-04-19 12:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:06:27] [INFO] Checking activity reminders 
[2026-04-19 12:06:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:06:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:06:57] [INFO] Checking activity reminders 
[2026-04-19 12:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:07:27] [INFO] Checking activity reminders 
[2026-04-19 12:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:07:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:07:57] [INFO] Checking activity reminders 
[2026-04-19 12:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:08:27] [INFO] Checking activity reminders 
[2026-04-19 12:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:08:57] [INFO] Checking activity reminders 
[2026-04-19 12:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:09:27] [INFO] Checking activity reminders 
[2026-04-19 12:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:09:57] [INFO] Checking activity reminders 
[2026-04-19 12:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:10:27] [INFO] Checking activity reminders 
[2026-04-19 12:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:10:57] [INFO] Checking activity reminders 
[2026-04-19 12:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:11:27] [INFO] Checking activity reminders 
[2026-04-19 12:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:11:57] [INFO] Checking activity reminders 
[2026-04-19 12:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:12:02] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 12:12:02] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 12:12:02] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 12:12:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:12:28] [INFO] Checking activity reminders 
[2026-04-19 12:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:12:58] [INFO] Checking activity reminders 
[2026-04-19 12:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:13:28] [INFO] Checking activity reminders 
[2026-04-19 12:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:13:58] [INFO] Checking activity reminders 
[2026-04-19 12:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:14:28] [INFO] Checking activity reminders 
[2026-04-19 12:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:14:58] [INFO] Checking activity reminders 
[2026-04-19 12:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:15:28] [INFO] Checking activity reminders 
[2026-04-19 12:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:15:58] [INFO] Checking activity reminders 
[2026-04-19 12:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:16:00] [INFO] Checking activity reminders 
[2026-04-19 12:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:16:28] [INFO] Checking activity reminders 
[2026-04-19 12:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:16:31] [INFO] Checking activity reminders 
[2026-04-19 12:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:16:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 12:16:48] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 12:16:48] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 12:16:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:16:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 12:16:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 12:16:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 12:16:58] [INFO] Checking activity reminders 
[2026-04-19 12:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:01] [INFO] Checking activity reminders 
[2026-04-19 12:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:17:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 12:17:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 12:17:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 12:17:19] [INFO] Checking activity reminders 
[2026-04-19 12:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:28] [INFO] Checking activity reminders 
[2026-04-19 12:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:31] [INFO] Checking activity reminders 
[2026-04-19 12:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:42] [INFO] Checking activity reminders 
[2026-04-19 12:17:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:17:49] [INFO] Checking activity reminders 
[2026-04-19 12:17:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:17:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:18:02] [INFO] Checking activity reminders 
[2026-04-19 12:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:18:19] [INFO] Checking activity reminders 
[2026-04-19 12:18:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:18:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:18:32] [INFO] Checking activity reminders 
[2026-04-19 12:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:18:40] [INFO] Checking activity reminders 
[2026-04-19 12:18:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:18:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:18:49] [INFO] Checking activity reminders 
[2026-04-19 12:18:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:18:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:02] [INFO] Checking activity reminders 
[2026-04-19 12:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:10] [INFO] Checking activity reminders 
[2026-04-19 12:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:19] [INFO] Checking activity reminders 
[2026-04-19 12:19:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:32] [INFO] Checking activity reminders 
[2026-04-19 12:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:40] [INFO] Checking activity reminders 
[2026-04-19 12:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:19:49] [INFO] Checking activity reminders 
[2026-04-19 12:19:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:19:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:02] [INFO] Checking activity reminders 
[2026-04-19 12:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:10] [INFO] Checking activity reminders 
[2026-04-19 12:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:19] [INFO] Checking activity reminders 
[2026-04-19 12:20:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:39] [INFO] Checking activity reminders 
[2026-04-19 12:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:40] [INFO] Checking activity reminders 
[2026-04-19 12:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:20:49] [INFO] Checking activity reminders 
[2026-04-19 12:20:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:20:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:21:10] [INFO] Checking activity reminders 
[2026-04-19 12:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:21:19] [INFO] Checking activity reminders 
[2026-04-19 12:21:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:21:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:21:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:21:34] [INFO] Lead update received {"contact_id":"7625","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-19 12:21:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:21:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:21:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:21:34] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7625"}
[2026-04-19 12:21:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:21:40] [INFO] Checking activity reminders 
[2026-04-19 12:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:21:49] [INFO] Checking activity reminders 
[2026-04-19 12:21:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:21:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:10] [INFO] Checking activity reminders 
[2026-04-19 12:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:12] [INFO] Checking activity reminders 
[2026-04-19 12:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:20] [INFO] Checking activity reminders 
[2026-04-19 12:22:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:40] [INFO] Checking activity reminders 
[2026-04-19 12:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:42] [INFO] Checking activity reminders 
[2026-04-19 12:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:22:50] [INFO] Checking activity reminders 
[2026-04-19 12:22:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:22:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:11] [INFO] Checking activity reminders 
[2026-04-19 12:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:13] [INFO] Checking activity reminders 
[2026-04-19 12:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:21] [INFO] Checking activity reminders 
[2026-04-19 12:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:41] [INFO] Checking activity reminders 
[2026-04-19 12:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:43] [INFO] Checking activity reminders 
[2026-04-19 12:23:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:23:51] [INFO] Checking activity reminders 
[2026-04-19 12:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:11] [INFO] Checking activity reminders 
[2026-04-19 12:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:14] [INFO] Checking activity reminders 
[2026-04-19 12:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:21] [INFO] Checking activity reminders 
[2026-04-19 12:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:41] [INFO] Checking activity reminders 
[2026-04-19 12:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:44] [INFO] Checking activity reminders 
[2026-04-19 12:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:51] [INFO] Checking activity reminders 
[2026-04-19 12:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:24:59] [INFO] Checking activity reminders 
[2026-04-19 12:24:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:24:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:25:04] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 12:25:04] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 12:25:04] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 12:25:08] [INFO] Checking activity reminders 
[2026-04-19 12:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:11] [INFO] Checking activity reminders 
[2026-04-19 12:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:14] [INFO] Checking activity reminders 
[2026-04-19 12:25:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:21] [INFO] Checking activity reminders 
[2026-04-19 12:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:41] [INFO] Checking activity reminders 
[2026-04-19 12:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:44] [INFO] Checking activity reminders 
[2026-04-19 12:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:25:51] [INFO] Checking activity reminders 
[2026-04-19 12:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:26:11] [INFO] Checking activity reminders 
[2026-04-19 12:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:26:14] [INFO] Checking activity reminders 
[2026-04-19 12:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:26:41] [INFO] Checking activity reminders 
[2026-04-19 12:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:26:44] [INFO] Checking activity reminders 
[2026-04-19 12:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:26:54] [INFO] Activity save request {"post_data":{"contact_id":"11964","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:26:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 12:26:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:26:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:26:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 12:26:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11964","note_was_empty":true}
[2026-04-19 12:26:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"11964","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 12:26:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e498d6d7dd93.26375072","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:26:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 12:26:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e498d6d7dd93.26375072"}
[2026-04-19 12:26:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 12:26:54] [INFO] Updating virtual stage {"contact_id":"11964","stage_name":"deal_registered","force":false}
[2026-04-19 12:26:54] [INFO] Virtual stage successfully saved {"contact_id":"11964","stage_name":"deal_registered"}
[2026-04-19 12:26:54] [INFO] Virtual stage updated after activity save {"contact_id":"11964"}
[2026-04-19 12:26:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11964","person_id":"2548"}
[2026-04-19 12:27:11] [INFO] Checking activity reminders 
[2026-04-19 12:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:15] [INFO] Checking activity reminders 
[2026-04-19 12:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:16] [INFO] Checking activity reminders 
[2026-04-19 12:27:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:17] [INFO] Checking activity reminders 
[2026-04-19 12:27:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-19 12:27:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15077","person_id":"6598"}
[2026-04-19 12:27:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-19 12:27:42] [INFO] Checking activity reminders 
[2026-04-19 12:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:45] [INFO] Checking activity reminders 
[2026-04-19 12:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:27:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:27:59] [INFO] Checking activity reminders 
[2026-04-19 12:27:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:27:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 12:28:05] [INFO] Checking activity reminders 
[2026-04-19 12:28:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:07] [INFO] Checking activity reminders 
[2026-04-19 12:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15077","person_id":"6598"}
[2026-04-19 12:28:12] [INFO] Checking activity reminders 
[2026-04-19 12:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:13] [INFO] Activity save request {"post_data":{"contact_id":"15264","deal_id":"local_699d6ed9b56097.23396614","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"با پدرش و عموش نمایشگاه زدن \/ ایرانی وارداتی \/ اونا تجربه داشتن \/ سرمایه گذاشته اونجا تا فردا 74ت بزنه \/ ارسال ش \r\nاز کارمندی استفا داده خوشحالم انقدر پیگیر روندش بودم که الان به نتیجه رسیده","activity_duration":"20","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:28:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15264","note_was_empty":true}
[2026-04-19 12:28:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"15264","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:13] [INFO] Updating virtual stage {"contact_id":"15264","stage_name":"deal_registered","force":false}
[2026-04-19 12:28:13] [INFO] Virtual stage successfully saved {"contact_id":"15264","stage_name":"deal_registered"}
[2026-04-19 12:28:13] [INFO] Virtual stage updated after activity save {"contact_id":"15264"}
[2026-04-19 12:28:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d6ed9b56097.23396614","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 12:28:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49925886aa2.64803142","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49925886aa2.64803142"}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:13] [INFO] Updating virtual stage {"contact_id":"15264","stage_name":"deal_registered","force":false}
[2026-04-19 12:28:13] [INFO] Virtual stage successfully saved {"contact_id":"15264","stage_name":"deal_registered"}
[2026-04-19 12:28:13] [INFO] Virtual stage updated after activity save {"contact_id":"15264"}
[2026-04-19 12:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-19 12:28:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:28:35] [INFO] Checking activity reminders 
[2026-04-19 12:28:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:37] [INFO] Checking activity reminders 
[2026-04-19 12:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:28:42] [INFO] Checking activity reminders 
[2026-04-19 12:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:29:05] [INFO] Checking activity reminders 
[2026-04-19 12:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:29:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11883","person_id":"18312"}
[2026-04-19 12:29:36] [INFO] Checking activity reminders 
[2026-04-19 12:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:29:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 12:29:56] [INFO] Checking activity reminders 
[2026-04-19 12:29:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:29:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:29:57] [INFO] Checking activity reminders 
[2026-04-19 12:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:30:03] [INFO] Checking activity reminders 
[2026-04-19 12:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:30:06] [INFO] Checking activity reminders 
[2026-04-19 12:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:30:27] [INFO] Checking activity reminders 
[2026-04-19 12:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:30:36] [INFO] Checking activity reminders 
[2026-04-19 12:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:30:57] [INFO] Checking activity reminders 
[2026-04-19 12:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:06] [INFO] Checking activity reminders 
[2026-04-19 12:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:10] [INFO] Checking activity reminders 
[2026-04-19 12:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:25] [INFO] Checking activity reminders 
[2026-04-19 12:31:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:27] [INFO] Checking activity reminders 
[2026-04-19 12:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:36] [INFO] Checking activity reminders 
[2026-04-19 12:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:31:49] [INFO] Activity save request {"post_data":{"contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"پیگیری تسویه ارسال پیامک امروز انجام بده \/ فاکتورش 6ماه شده \/ ارجاع به اقای سهرابی بتونم مبلغ درست بزنم","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:31:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20875","note_was_empty":true}
[2026-04-19 12:31:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"20875","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:49] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"deal_registered","force":false}
[2026-04-19 12:31:49] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"deal_registered"}
[2026-04-19 12:31:49] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-19 12:31:49] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699f170c1e62f1.09215329","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 12:31:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e499fdd32468.36466219","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e499fdd32468.36466219"}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:49] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"deal_registered","force":false}
[2026-04-19 12:31:49] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"deal_registered"}
[2026-04-19 12:31:49] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-19 12:31:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 12:31:57] [INFO] Checking activity reminders 
[2026-04-19 12:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:07] [INFO] Checking activity reminders 
[2026-04-19 12:32:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:17] [INFO] Checking activity reminders 
[2026-04-19 12:32:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:24] [INFO] Checking activity reminders 
[2026-04-19 12:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:27] [INFO] Checking activity reminders 
[2026-04-19 12:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:37] [INFO] Checking activity reminders 
[2026-04-19 12:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:40] [INFO] Activity save request {"post_data":{"contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ارسال ش کارت واتریز کنه تسویه رو امروز 40ت مانده \/ ماشین معامله نکرد پراید میخواست ","activity_duration":"10","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:32:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"995","note_was_empty":true}
[2026-04-19 12:32:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"995","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:40] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-19 12:32:40] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-19 12:32:40] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-19 12:32:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69493e8705f8e4.10240645","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 12:32:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49a30338861.10368426","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49a30338861.10368426"}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:40] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-19 12:32:40] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-19 12:32:40] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-19 12:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-19 12:32:53] [INFO] Checking activity reminders 
[2026-04-19 12:32:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:32:57] [INFO] Checking activity reminders 
[2026-04-19 12:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:32:57] [INFO] Checking activity reminders 
[2026-04-19 12:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:07] [INFO] Checking activity reminders 
[2026-04-19 12:33:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:19] [INFO] Checking activity reminders 
[2026-04-19 12:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:26] [INFO] Checking activity reminders 
[2026-04-19 12:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:27] [INFO] Checking activity reminders 
[2026-04-19 12:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:38] [INFO] Checking activity reminders 
[2026-04-19 12:33:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:50] [INFO] Checking activity reminders 
[2026-04-19 12:33:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:33:58] [INFO] Checking activity reminders 
[2026-04-19 12:33:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:33:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:04] [INFO] Checking activity reminders 
[2026-04-19 12:34:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:08] [INFO] Checking activity reminders 
[2026-04-19 12:34:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:13] [INFO] Checking activity reminders 
[2026-04-19 12:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:25] [INFO] Checking activity reminders 
[2026-04-19 12:34:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:28] [INFO] Checking activity reminders 
[2026-04-19 12:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:38] [INFO] Checking activity reminders 
[2026-04-19 12:34:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:34:58] [INFO] Checking activity reminders 
[2026-04-19 12:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:35:08] [INFO] Checking activity reminders 
[2026-04-19 12:35:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:35:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:35:28] [INFO] Checking activity reminders 
[2026-04-19 12:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:35:38] [INFO] Checking activity reminders 
[2026-04-19 12:35:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:35:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:35:44] [INFO] Checking activity reminders 
[2026-04-19 12:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:36:09] [INFO] Checking activity reminders 
[2026-04-19 12:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:36:25] [INFO] Checking activity reminders 
[2026-04-19 12:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:36:39] [INFO] Checking activity reminders 
[2026-04-19 12:36:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:36:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:36:41] [INFO] Checking activity reminders 
[2026-04-19 12:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:01] [INFO] Checking activity reminders 
[2026-04-19 12:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:09] [INFO] Checking activity reminders 
[2026-04-19 12:37:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:31] [INFO] Checking activity reminders 
[2026-04-19 12:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:40] [INFO] Checking activity reminders 
[2026-04-19 12:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 12:37:41","session_id":"3216q0ajpd9fmbng18lt5qsp9r"}
[2026-04-19 12:37:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:37:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15239","is_new_deal":false}
[2026-04-19 12:37:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 12:37:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 12:37:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 12:37:41] [INFO] getContactPrimaryPhone called {"contact_id":"15239"}
[2026-04-19 12:37:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:37:41] [INFO] getContactPrimaryPhone result {"contact_id":"15239","person_found":true,"primary_phone":"9171755459"}
[2026-04-19 12:37:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9171755459"}
[2026-04-19 12:37:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9171755459","contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 12:37:41"}
[2026-04-19 12:37:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","existing_deal_found":true,"existing_contact_id":"15239","existing_title":"معامله اول 9171755459 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 12:37:41"}
[2026-04-19 12:37:41] [INFO] DealController.save validated payments {"deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 12:37:41] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15239","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 12:37:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694906ec4a8a33.10265829","contact_didar_id":"15239","title":"معامله اول 9171755459 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9171755459","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":78000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رهبریان","existing_deal":"YES","existing_deal_id":"local_694906ec4a8a33.10265829","existing_deal_status":"Pending","server_time":"2026-04-19 12:37:41","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 12:37:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:37:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694906ec4a8a33.10265829","contact_id":"15239","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9171755459 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":78000000,"server_time":"2026-04-19 12:37:41","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 12:37:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:37:50] [INFO] Checking activity reminders 
[2026-04-19 12:37:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:37:58] [INFO] Checking activity reminders 
[2026-04-19 12:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:01] [INFO] Activity save request {"post_data":{"contact_id":"15239","deal_id":"local_694906ec4a8a33.10265829","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"دی تسویه شده ","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:38:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15239","note_was_empty":true}
[2026-04-19 12:38:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"15239","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Updating virtual stage {"contact_id":"15239","stage_name":"with_purchase","force":false}
[2026-04-19 12:38:01] [INFO] Virtual stage successfully saved {"contact_id":"15239","stage_name":"with_purchase"}
[2026-04-19 12:38:01] [INFO] Virtual stage updated after activity save {"contact_id":"15239"}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694906ec4a8a33.10265829","stage":"اتمام","status_change":"Won"}
[2026-04-19 12:38:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49b71326428.95366282","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49b71326428.95366282"}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Updating virtual stage {"contact_id":"15239","stage_name":"with_purchase","force":false}
[2026-04-19 12:38:01] [INFO] Virtual stage successfully saved {"contact_id":"15239","stage_name":"with_purchase"}
[2026-04-19 12:38:01] [INFO] Virtual stage updated after activity save {"contact_id":"15239"}
[2026-04-19 12:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15239","person_id":"3260"}
[2026-04-19 12:38:01] [INFO] Checking activity reminders 
[2026-04-19 12:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15077","person_id":"6598"}
[2026-04-19 12:38:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:10] [INFO] Checking activity reminders 
[2026-04-19 12:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:13] [INFO] Checking activity reminders 
[2026-04-19 12:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-19 12:38:31] [INFO] Checking activity reminders 
[2026-04-19 12:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:40] [INFO] Checking activity reminders 
[2026-04-19 12:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:43] [INFO] Checking activity reminders 
[2026-04-19 12:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:38:56] [INFO] Activity save request {"post_data":{"contact_id":"7625","deal_id":"local_6950f6a3883cf9.46713438","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"متقاعد کردم منصرف نشه 6ماهه انجام بده 10 ت مانده داره اردیبهشت تسویه میکنه ","activity_duration":"35","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:38:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7625","note_was_empty":true}
[2026-04-19 12:38:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"7625","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:56] [INFO] Updating virtual stage {"contact_id":"7625","stage_name":"deal_registered","force":false}
[2026-04-19 12:38:56] [INFO] Virtual stage successfully saved {"contact_id":"7625","stage_name":"deal_registered"}
[2026-04-19 12:38:56] [INFO] Virtual stage updated after activity save {"contact_id":"7625"}
[2026-04-19 12:38:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950f6a3883cf9.46713438","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 12:38:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49ba8bd13c9.80796211","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49ba8bd13c9.80796211"}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:38:56] [INFO] Updating virtual stage {"contact_id":"7625","stage_name":"deal_registered","force":false}
[2026-04-19 12:38:56] [INFO] Virtual stage successfully saved {"contact_id":"7625","stage_name":"deal_registered"}
[2026-04-19 12:38:56] [INFO] Virtual stage updated after activity save {"contact_id":"7625"}
[2026-04-19 12:38:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-19 12:39:01] [INFO] Checking activity reminders 
[2026-04-19 12:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:39:11] [INFO] Checking activity reminders 
[2026-04-19 12:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:39:31] [INFO] Checking activity reminders 
[2026-04-19 12:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:39:41] [INFO] Checking activity reminders 
[2026-04-19 12:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:40:02] [INFO] Checking activity reminders 
[2026-04-19 12:40:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:40:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:40:11] [INFO] Checking activity reminders 
[2026-04-19 12:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:40:32] [INFO] Checking activity reminders 
[2026-04-19 12:40:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:40:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:40:41] [INFO] Checking activity reminders 
[2026-04-19 12:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:40:58] [INFO] Checking activity reminders 
[2026-04-19 12:40:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:40:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:02] [INFO] Checking activity reminders 
[2026-04-19 12:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:12] [INFO] Checking activity reminders 
[2026-04-19 12:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:13] [INFO] Checking activity reminders 
[2026-04-19 12:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-19 12:41:32] [INFO] Checking activity reminders 
[2026-04-19 12:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:40] [INFO] Checking activity reminders 
[2026-04-19 12:41:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:41:42] [INFO] Checking activity reminders 
[2026-04-19 12:41:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:41:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:42:02] [INFO] Checking activity reminders 
[2026-04-19 12:42:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:42:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:42:12] [INFO] Checking activity reminders 
[2026-04-19 12:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:42:32] [INFO] Checking activity reminders 
[2026-04-19 12:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:42:42] [INFO] Checking activity reminders 
[2026-04-19 12:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:42:59] [INFO] Checking activity reminders 
[2026-04-19 12:42:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:42:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:43:02] [INFO] Checking activity reminders 
[2026-04-19 12:43:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:43:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:43:15] [INFO] Checking activity reminders 
[2026-04-19 12:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:43:32] [INFO] Checking activity reminders 
[2026-04-19 12:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:43:48] [INFO] Checking activity reminders 
[2026-04-19 12:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:02] [INFO] Checking activity reminders 
[2026-04-19 12:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:06] [INFO] Checking activity reminders 
[2026-04-19 12:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:17] [INFO] Checking activity reminders 
[2026-04-19 12:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:18] [INFO] Checking activity reminders 
[2026-04-19 12:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:32] [INFO] Checking activity reminders 
[2026-04-19 12:44:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:44:49] [INFO] Checking activity reminders 
[2026-04-19 12:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:03] [INFO] Checking activity reminders 
[2026-04-19 12:45:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:20] [INFO] Checking activity reminders 
[2026-04-19 12:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:23] [INFO] Checking activity reminders 
[2026-04-19 12:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:33] [INFO] Checking activity reminders 
[2026-04-19 12:45:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:46] [INFO] Checking activity reminders 
[2026-04-19 12:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:45:51] [INFO] Checking activity reminders 
[2026-04-19 12:45:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:45:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:46:03] [INFO] Checking activity reminders 
[2026-04-19 12:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:46:21] [INFO] Checking activity reminders 
[2026-04-19 12:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:46:22] [INFO] Checking activity reminders 
[2026-04-19 12:46:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:46:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:46:33] [INFO] Checking activity reminders 
[2026-04-19 12:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:46:51] [INFO] Checking activity reminders 
[2026-04-19 12:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:03] [INFO] Checking activity reminders 
[2026-04-19 12:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:07] [INFO] Checking activity reminders 
[2026-04-19 12:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:10] [INFO] Checking activity reminders 
[2026-04-19 12:47:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:22] [INFO] Checking activity reminders 
[2026-04-19 12:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:33] [INFO] Checking activity reminders 
[2026-04-19 12:47:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:40] [INFO] Checking activity reminders 
[2026-04-19 12:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:52] [INFO] Checking activity reminders 
[2026-04-19 12:47:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:47:53] [INFO] Checking activity reminders 
[2026-04-19 12:47:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:47:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:04] [INFO] Checking activity reminders 
[2026-04-19 12:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:11] [INFO] Checking activity reminders 
[2026-04-19 12:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:48:19] [INFO] Checking activity reminders 
[2026-04-19 12:48:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:22] [INFO] Checking activity reminders 
[2026-04-19 12:48:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:34] [INFO] Checking activity reminders 
[2026-04-19 12:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:39] [INFO] Checking activity reminders 
[2026-04-19 12:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:46] [INFO] Checking activity reminders 
[2026-04-19 12:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:48:52] [INFO] Checking activity reminders 
[2026-04-19 12:48:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:48:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:49:04] [INFO] Checking activity reminders 
[2026-04-19 12:49:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:49:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:49:22] [INFO] Checking activity reminders 
[2026-04-19 12:49:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:49:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:49:34] [INFO] Checking activity reminders 
[2026-04-19 12:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:49:52] [INFO] Checking activity reminders 
[2026-04-19 12:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:50:04] [INFO] Checking activity reminders 
[2026-04-19 12:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:50:23] [INFO] Checking activity reminders 
[2026-04-19 12:50:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:50:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:50:25] [INFO] Activity save request {"post_data":{"contact_id":"20596","deal_id":"local_69e0a0a786eaf7.88461155","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"هوز واریز نکرده عدم پاسخ ارسال پیامک پیگیری واریزی ","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:50:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20596","note_was_empty":true}
[2026-04-19 12:50:25] [INFO] Didar write disabled; saving activity locally {"contact_id":"20596","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:25] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-19 12:50:25] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-19 12:50:25] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-19 12:50:25] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0a786eaf7.88461155","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 12:50:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e49e590ff097.41158536","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69e49e590ff097.41158536"}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:25] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-19 12:50:25] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-19 12:50:25] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-19 12:50:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-19 12:50:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_88","person_id":"21165"}
[2026-04-19 12:50:34] [INFO] Checking activity reminders 
[2026-04-19 12:50:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:50:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:50:43] [INFO] Checking activity reminders 
[2026-04-19 12:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:50:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:50:53] [INFO] Checking activity reminders 
[2026-04-19 12:50:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:50:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:04] [INFO] Checking activity reminders 
[2026-04-19 12:51:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:13] [INFO] Checking activity reminders 
[2026-04-19 12:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-19 12:51:23] [INFO] Checking activity reminders 
[2026-04-19 12:51:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:34] [INFO] Checking activity reminders 
[2026-04-19 12:51:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:43] [INFO] Checking activity reminders 
[2026-04-19 12:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:51:53] [INFO] Checking activity reminders 
[2026-04-19 12:51:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:51:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:04] [INFO] Checking activity reminders 
[2026-04-19 12:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:07] [INFO] Checking activity reminders 
[2026-04-19 12:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:23] [INFO] Checking activity reminders 
[2026-04-19 12:52:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:34] [INFO] Checking activity reminders 
[2026-04-19 12:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:45] [INFO] Checking activity reminders 
[2026-04-19 12:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:52] [INFO] Checking activity reminders 
[2026-04-19 12:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:52:54] [INFO] Checking activity reminders 
[2026-04-19 12:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:53:04] [INFO] Checking activity reminders 
[2026-04-19 12:53:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:53:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:53:09] [INFO] Checking activity reminders 
[2026-04-19 12:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:53:24] [INFO] Checking activity reminders 
[2026-04-19 12:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:53:34] [INFO] Checking activity reminders 
[2026-04-19 12:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:53:55] [INFO] Checking activity reminders 
[2026-04-19 12:53:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:53:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:54:04] [INFO] Checking activity reminders 
[2026-04-19 12:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:54:25] [INFO] Checking activity reminders 
[2026-04-19 12:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:54:34] [INFO] Checking activity reminders 
[2026-04-19 12:54:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:54:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:54:37] [INFO] Checking activity reminders 
[2026-04-19 12:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:54:55] [INFO] Checking activity reminders 
[2026-04-19 12:54:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:54:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:05] [INFO] Checking activity reminders 
[2026-04-19 12:55:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:25] [INFO] Checking activity reminders 
[2026-04-19 12:55:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:26] [INFO] Checking activity reminders 
[2026-04-19 12:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:31] [INFO] Checking activity reminders 
[2026-04-19 12:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:35] [INFO] Checking activity reminders 
[2026-04-19 12:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:55:56] [INFO] Checking activity reminders 
[2026-04-19 12:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:56:05] [INFO] Checking activity reminders 
[2026-04-19 12:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:56:25] [INFO] Checking activity reminders 
[2026-04-19 12:56:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:56:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:56:26] [INFO] Checking activity reminders 
[2026-04-19 12:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:56:35] [INFO] Checking activity reminders 
[2026-04-19 12:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:56:56] [INFO] Checking activity reminders 
[2026-04-19 12:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:57:05] [INFO] Checking activity reminders 
[2026-04-19 12:57:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:57:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:57:26] [INFO] Checking activity reminders 
[2026-04-19 12:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:57:35] [INFO] Checking activity reminders 
[2026-04-19 12:57:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:57:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:57:57] [INFO] Checking activity reminders 
[2026-04-19 12:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:05] [INFO] Checking activity reminders 
[2026-04-19 12:58:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:17] [INFO] Checking activity reminders 
[2026-04-19 12:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:22] [INFO] Checking activity reminders 
[2026-04-19 12:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:27] [INFO] Checking activity reminders 
[2026-04-19 12:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:28] [INFO] Activity save request {"post_data":{"contact_id":"983","deal_id":"local_69d4bd470a8d20.97501450","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه هنوز چک پاس نشده بتونه دورز دیگه 10 بیعانه میزنه \/ گفتم زمان ببره یکجا نقد 79ت هست چون چند بار پیگیری کردم شرایط گذاشته بودیم \/ ","activity_duration":"15","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 12:58:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"983","note_was_empty":true}
[2026-04-19 12:58:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"983","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:28] [INFO] Updating virtual stage {"contact_id":"983","stage_name":"deal_registered","force":false}
[2026-04-19 12:58:28] [INFO] Virtual stage successfully saved {"contact_id":"983","stage_name":"deal_registered"}
[2026-04-19 12:58:28] [INFO] Virtual stage updated after activity save {"contact_id":"983"}
[2026-04-19 12:58:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4bd470a8d20.97501450","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 12:58:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a03cdd03b4.97322833","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a03cdd03b4.97322833"}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:28] [INFO] Updating virtual stage {"contact_id":"983","stage_name":"deal_registered","force":false}
[2026-04-19 12:58:28] [INFO] Virtual stage successfully saved {"contact_id":"983","stage_name":"deal_registered"}
[2026-04-19 12:58:28] [INFO] Virtual stage updated after activity save {"contact_id":"983"}
[2026-04-19 12:58:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"983","person_id":"5161"}
[2026-04-19 12:58:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224ec2390d8.74455270","person_id":"21980"}
[2026-04-19 12:58:35] [INFO] Checking activity reminders 
[2026-04-19 12:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:58:58] [INFO] Checking activity reminders 
[2026-04-19 12:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:59:05] [INFO] Checking activity reminders 
[2026-04-19 12:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:59:24] [INFO] Checking activity reminders 
[2026-04-19 12:59:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:59:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:59:28] [INFO] Checking activity reminders 
[2026-04-19 12:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:59:35] [INFO] Checking activity reminders 
[2026-04-19 12:59:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:59:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 12:59:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 12:59:58] [INFO] Checking activity reminders 
[2026-04-19 12:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 12:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:00:06] [INFO] Checking activity reminders 
[2026-04-19 13:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:00:28] [INFO] Checking activity reminders 
[2026-04-19 13:00:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:00:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:00:36] [INFO] Checking activity reminders 
[2026-04-19 13:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:00:36] [INFO] Checking activity reminders 
[2026-04-19 13:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:00:59] [INFO] Checking activity reminders 
[2026-04-19 13:00:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:00:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:00] [INFO] Activity save request {"post_data":{"contact_id":"21663","deal_id":"local_69bbeaae569565.94495590","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:01:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21663","note_was_empty":true}
[2026-04-19 13:01:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"21663","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:00] [INFO] Updating virtual stage {"contact_id":"21663","stage_name":"deal_registered","force":false}
[2026-04-19 13:01:00] [INFO] Virtual stage successfully saved {"contact_id":"21663","stage_name":"deal_registered"}
[2026-04-19 13:01:00] [INFO] Virtual stage updated after activity save {"contact_id":"21663"}
[2026-04-19 13:01:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbeaae569565.94495590","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:01:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a0d485d295.76354085","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a0d485d295.76354085"}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:00] [INFO] Updating virtual stage {"contact_id":"21663","stage_name":"deal_registered","force":false}
[2026-04-19 13:01:00] [INFO] Virtual stage successfully saved {"contact_id":"21663","stage_name":"deal_registered"}
[2026-04-19 13:01:00] [INFO] Virtual stage updated after activity save {"contact_id":"21663"}
[2026-04-19 13:01:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-19 13:01:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-19 13:01:06] [INFO] Checking activity reminders 
[2026-04-19 13:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:06] [INFO] Checking activity reminders 
[2026-04-19 13:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:29] [INFO] Checking activity reminders 
[2026-04-19 13:01:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:36] [INFO] Checking activity reminders 
[2026-04-19 13:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:54] [INFO] Activity save request {"post_data":{"contact_id":"local_695cb9622da444.78163474","deal_id":"local_69df7caa44ee73.32667815","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"15 ت زده 6ماهه هست مانده داره","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:01:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_695cb9622da444.78163474","note_was_empty":true}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:54] [INFO] Updating virtual stage {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered","force":false}
[2026-04-19 13:01:54] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered"}
[2026-04-19 13:01:54] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cb9622da444.78163474"}
[2026-04-19 13:01:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69df7caa44ee73.32667815","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 13:01:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a10a0970e2.91569835","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a10a0970e2.91569835"}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:54] [INFO] Updating virtual stage {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered","force":false}
[2026-04-19 13:01:54] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered"}
[2026-04-19 13:01:54] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cb9622da444.78163474"}
[2026-04-19 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:01:58] [INFO] Checking activity reminders 
[2026-04-19 13:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:01:59] [INFO] Checking activity reminders 
[2026-04-19 13:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:02:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 13:02:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:02:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:02:29] [INFO] Checking activity reminders 
[2026-04-19 13:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:02:29] [INFO] Checking activity reminders 
[2026-04-19 13:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:02:59] [INFO] Checking activity reminders 
[2026-04-19 13:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:03:11] [INFO] Checking activity reminders 
[2026-04-19 13:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:03:17] [INFO] Checking activity reminders 
[2026-04-19 13:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:03:20] [INFO] Checking activity reminders 
[2026-04-19 13:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:03:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:03:47] [INFO] Checking activity reminders 
[2026-04-19 13:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:04:17] [INFO] Checking activity reminders 
[2026-04-19 13:04:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:04:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:04:22] [INFO] Checking activity reminders 
[2026-04-19 13:04:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:04:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:04:32] [INFO] Activity save request {"post_data":{"contact_id":"6754","deal_id":"local_6942a221e2f862.47832460","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ انجام نداد","activity_duration":"3","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:04:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6754","note_was_empty":true}
[2026-04-19 13:04:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"6754","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:32] [INFO] Updating virtual stage {"contact_id":"6754","stage_name":"deal_registered","force":false}
[2026-04-19 13:04:32] [INFO] Virtual stage successfully saved {"contact_id":"6754","stage_name":"deal_registered"}
[2026-04-19 13:04:32] [INFO] Virtual stage updated after activity save {"contact_id":"6754"}
[2026-04-19 13:04:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6942a221e2f862.47832460","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:04:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a1a87a7921.97701811","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a1a87a7921.97701811"}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:32] [INFO] Updating virtual stage {"contact_id":"6754","stage_name":"deal_registered","force":false}
[2026-04-19 13:04:32] [INFO] Virtual stage successfully saved {"contact_id":"6754","stage_name":"deal_registered"}
[2026-04-19 13:04:32] [INFO] Virtual stage updated after activity save {"contact_id":"6754"}
[2026-04-19 13:04:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6754","person_id":"3004"}
[2026-04-19 13:04:47] [INFO] Checking activity reminders 
[2026-04-19 13:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:04:52] [INFO] Checking activity reminders 
[2026-04-19 13:04:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:04:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:04:52] [INFO] Checking activity reminders 
[2026-04-19 13:04:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:04:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-19 13:05:17] [INFO] Checking activity reminders 
[2026-04-19 13:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:05:22] [INFO] Checking activity reminders 
[2026-04-19 13:05:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:05:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:05:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:05:47] [INFO] Checking activity reminders 
[2026-04-19 13:05:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:05:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:05:52] [INFO] Checking activity reminders 
[2026-04-19 13:05:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:05:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:06:17] [INFO] Checking activity reminders 
[2026-04-19 13:06:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:06:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:06:18] [INFO] Activity save request {"post_data":{"contact_id":"local_695cc29f3af4e6.80623237","deal_id":"local_695cc29f3c537","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خاموش هست","activity_duration":"3","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:06:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:06:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:06:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_695cc29f3af4e6.80623237","note_was_empty":true}
[2026-04-19 13:06:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:18] [INFO] Updating virtual stage {"contact_id":"local_695cc29f3af4e6.80623237","stage_name":"deal_registered","force":false}
[2026-04-19 13:06:18] [INFO] Virtual stage successfully saved {"contact_id":"local_695cc29f3af4e6.80623237","stage_name":"deal_registered"}
[2026-04-19 13:06:18] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cc29f3af4e6.80623237"}
[2026-04-19 13:06:18] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695cc29f3c537","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:06:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a212e857a0.05027451","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:06:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a212e857a0.05027451"}
[2026-04-19 13:06:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:18] [INFO] Updating virtual stage {"contact_id":"local_695cc29f3af4e6.80623237","stage_name":"deal_registered","force":false}
[2026-04-19 13:06:18] [INFO] Virtual stage successfully saved {"contact_id":"local_695cc29f3af4e6.80623237","stage_name":"deal_registered"}
[2026-04-19 13:06:18] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cc29f3af4e6.80623237"}
[2026-04-19 13:06:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc29f3af4e6.80623237","person_id":"21533"}
[2026-04-19 13:06:22] [INFO] Checking activity reminders 
[2026-04-19 13:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:06:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:06:47] [INFO] Checking activity reminders 
[2026-04-19 13:06:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:06:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:06:53] [INFO] Checking activity reminders 
[2026-04-19 13:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:07:17] [INFO] Checking activity reminders 
[2026-04-19 13:07:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:07:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:07:23] [INFO] Checking activity reminders 
[2026-04-19 13:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:07:48] [INFO] Checking activity reminders 
[2026-04-19 13:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:07:53] [INFO] Checking activity reminders 
[2026-04-19 13:07:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:07:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:08:18] [INFO] Checking activity reminders 
[2026-04-19 13:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:08:23] [INFO] Checking activity reminders 
[2026-04-19 13:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:08:48] [INFO] Checking activity reminders 
[2026-04-19 13:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:08:53] [INFO] Checking activity reminders 
[2026-04-19 13:08:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:08:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:09:18] [INFO] Checking activity reminders 
[2026-04-19 13:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:09:23] [INFO] Checking activity reminders 
[2026-04-19 13:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:09:48] [INFO] Checking activity reminders 
[2026-04-19 13:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:09:53] [INFO] Checking activity reminders 
[2026-04-19 13:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:10:18] [INFO] Checking activity reminders 
[2026-04-19 13:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:10:23] [INFO] Checking activity reminders 
[2026-04-19 13:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:10:48] [INFO] Checking activity reminders 
[2026-04-19 13:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:10:54] [INFO] Checking activity reminders 
[2026-04-19 13:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:11:18] [INFO] Checking activity reminders 
[2026-04-19 13:11:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:11:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:11:24] [INFO] Checking activity reminders 
[2026-04-19 13:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:11:48] [INFO] Checking activity reminders 
[2026-04-19 13:11:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:11:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:11:54] [INFO] Checking activity reminders 
[2026-04-19 13:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:12:08] [INFO] Checking activity reminders 
[2026-04-19 13:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:12:18] [INFO] Checking activity reminders 
[2026-04-19 13:12:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:12:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:12:24] [INFO] Checking activity reminders 
[2026-04-19 13:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:12:43] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 13:12:43] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:12:43] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:12:48] [INFO] Checking activity reminders 
[2026-04-19 13:12:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:12:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:12:54] [INFO] Checking activity reminders 
[2026-04-19 13:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:13:18] [INFO] Checking activity reminders 
[2026-04-19 13:13:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:13:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:13:24] [INFO] Checking activity reminders 
[2026-04-19 13:13:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:13:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:13:38] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 13:13:38] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:38] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:38] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:39] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:42] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:48] [INFO] Checking activity reminders 
[2026-04-19 13:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:13:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 13:13:50] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 13:13:50] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 13:13:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 13:13:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 13:13:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 13:13:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 13:13:54] [INFO] Checking activity reminders 
[2026-04-19 13:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:13:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-19 13:14:18] [INFO] Checking activity reminders 
[2026-04-19 13:14:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:14:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:14:24] [INFO] Checking activity reminders 
[2026-04-19 13:14:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:14:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:14:49] [INFO] Checking activity reminders 
[2026-04-19 13:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:14:54] [INFO] Checking activity reminders 
[2026-04-19 13:14:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:14:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:14:58] [INFO] Checking activity reminders 
[2026-04-19 13:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:15] [INFO] Checking activity reminders 
[2026-04-19 13:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-19 13:15:19] [INFO] Checking activity reminders 
[2026-04-19 13:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:24] [INFO] Checking activity reminders 
[2026-04-19 13:15:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:15:45] [INFO] Checking activity reminders 
[2026-04-19 13:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:49] [INFO] Checking activity reminders 
[2026-04-19 13:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:15:54] [INFO] Checking activity reminders 
[2026-04-19 13:15:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:15:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:16:19] [INFO] Checking activity reminders 
[2026-04-19 13:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:16:25] [INFO] Checking activity reminders 
[2026-04-19 13:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:16:31] [INFO] Checking activity reminders 
[2026-04-19 13:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:16:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:16:55] [INFO] Checking activity reminders 
[2026-04-19 13:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:01] [INFO] Checking activity reminders 
[2026-04-19 13:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:19] [INFO] Checking activity reminders 
[2026-04-19 13:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:23] [INFO] Checking activity reminders 
[2026-04-19 13:17:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:25] [INFO] Checking activity reminders 
[2026-04-19 13:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:31] [INFO] Checking activity reminders 
[2026-04-19 13:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-19 13:17:49] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c26679f016.87637904","deal_id":"local_69b5c2667a9cb","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:17:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b5c26679f016.87637904","note_was_empty":true}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:49] [INFO] Updating virtual stage {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered","force":false}
[2026-04-19 13:17:49] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered"}
[2026-04-19 13:17:49] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c26679f016.87637904"}
[2026-04-19 13:17:49] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c2667a9cb","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:17:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a4c549f817.26451831","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a4c549f817.26451831"}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:49] [INFO] Updating virtual stage {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered","force":false}
[2026-04-19 13:17:49] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered"}
[2026-04-19 13:17:49] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c26679f016.87637904"}
[2026-04-19 13:17:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-19 13:17:55] [INFO] Checking activity reminders 
[2026-04-19 13:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:17:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:01] [INFO] Checking activity reminders 
[2026-04-19 13:18:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:18:06] [INFO] Checking activity reminders 
[2026-04-19 13:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:18:12] [INFO] Checking activity reminders 
[2026-04-19 13:18:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:18:25] [INFO] Checking activity reminders 
[2026-04-19 13:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:18:31] [INFO] Checking activity reminders 
[2026-04-19 13:18:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:18:36] [INFO] Activity save request {"post_data":{"contact_id":"4312","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال 6ماهه 39 ت ارسال ش کارت بزنه امروز فردا \/ ماشین فروخته 1نقد طلا پله ای بخره ","activity_duration":"20","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:18:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"4312","note_was_empty":true}
[2026-04-19 13:18:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"4312","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:18:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a4f4da2171.92601427","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a4f4da2171.92601427"}
[2026-04-19 13:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:36] [INFO] Updating virtual stage {"contact_id":"4312","stage_name":"deal_registered","force":false}
[2026-04-19 13:18:36] [INFO] Virtual stage successfully saved {"contact_id":"4312","stage_name":"deal_registered"}
[2026-04-19 13:18:36] [INFO] Virtual stage updated after activity save {"contact_id":"4312"}
[2026-04-19 13:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-19 13:18:55] [INFO] Checking activity reminders 
[2026-04-19 13:18:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:18:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:19:01] [INFO] Checking activity reminders 
[2026-04-19 13:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:19:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:19:25] [INFO] Checking activity reminders 
[2026-04-19 13:19:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:19:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:19:32] [INFO] Checking activity reminders 
[2026-04-19 13:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:19:55] [INFO] Checking activity reminders 
[2026-04-19 13:19:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:19:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:19:57] [INFO] Activity save request {"post_data":{"contact_id":"5239","deal_id":"local_69d21079499582.36887205","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیکار شده \r\nفولاد مبارکه \r\nپرزنت 6 ماهه کانال \r\nسرمایه محدود \/ ملک میخواد بزرگتر کنه \r\nبهش راهنمایی کردم برای شیفت سرمایه و کانال 405 \r\nنوسان گیری کانال برای کمک به درامد و هزینه هاش \r\nمیگه من حتی باشگاه نمیرم تا تکلیفم روشن بشه \r\n\r\n","activity_duration":"7","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:19:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:19:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:19:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5239","note_was_empty":true}
[2026-04-19 13:19:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"5239","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:19:57] [INFO] Updating virtual stage {"contact_id":"5239","stage_name":"deal_registered","force":false}
[2026-04-19 13:19:57] [INFO] Virtual stage successfully saved {"contact_id":"5239","stage_name":"deal_registered"}
[2026-04-19 13:19:57] [INFO] Virtual stage updated after activity save {"contact_id":"5239"}
[2026-04-19 13:19:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d21079499582.36887205","stage":"تماس پیگیری","status_change":null}
[2026-04-19 13:19:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a5454242d6.61891586","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:19:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a5454242d6.61891586"}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:19:57] [INFO] Updating virtual stage {"contact_id":"5239","stage_name":"deal_registered","force":false}
[2026-04-19 13:19:57] [INFO] Virtual stage successfully saved {"contact_id":"5239","stage_name":"deal_registered"}
[2026-04-19 13:19:57] [INFO] Virtual stage updated after activity save {"contact_id":"5239"}
[2026-04-19 13:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:20:02] [INFO] Checking activity reminders 
[2026-04-19 13:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:20:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"5239","deal_id":"local_69d21079499582.36887205","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 13:20:09","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 13:20:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:20:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"5239","is_new_deal":false}
[2026-04-19 13:20:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 13:20:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 13:20:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 13:20:09] [INFO] getContactPrimaryPhone called {"contact_id":"5239"}
[2026-04-19 13:20:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:20:09] [INFO] getContactPrimaryPhone result {"contact_id":"5239","person_found":true,"primary_phone":"9139092610"}
[2026-04-19 13:20:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9139092610"}
[2026-04-19 13:20:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9139092610","contact_id":"5239","deal_id":"local_69d21079499582.36887205","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 13:20:09"}
[2026-04-19 13:20:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d21079499582.36887205","contact_id":"5239","existing_deal_found":true,"existing_contact_id":"5239","existing_title":"معامله دوم 9139092610 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 13:20:09"}
[2026-04-19 13:20:09] [INFO] DealController.save validated payments {"deal_id":"local_69d21079499582.36887205","contact_id":"5239","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-19 13:20:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"5239","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 13:20:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d21079499582.36887205","contact_didar_id":"5239","title":"معامله دوم 9139092610 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9139092610","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"فهیمی","existing_deal":"YES","existing_deal_id":"local_69d21079499582.36887205","existing_deal_status":"Pending","server_time":"2026-04-19 13:20:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 13:20:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:20:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d21079499582.36887205","contact_id":"5239","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9139092610 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-19 13:20:09","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 13:20:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5239","person_id":"16055"}
[2026-04-19 13:20:25] [INFO] Checking activity reminders 
[2026-04-19 13:20:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:20:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:20:32] [INFO] Checking activity reminders 
[2026-04-19 13:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:20:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:20:55] [INFO] Checking activity reminders 
[2026-04-19 13:20:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:20:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:21:02] [INFO] Checking activity reminders 
[2026-04-19 13:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:21:25] [INFO] Checking activity reminders 
[2026-04-19 13:21:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:21:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:21:32] [INFO] Checking activity reminders 
[2026-04-19 13:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:21:56] [INFO] Checking activity reminders 
[2026-04-19 13:21:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:21:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:22:02] [INFO] Checking activity reminders 
[2026-04-19 13:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:22:26] [INFO] Checking activity reminders 
[2026-04-19 13:22:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:22:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:22:32] [INFO] Checking activity reminders 
[2026-04-19 13:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:22:50] [INFO] Activity save request {"post_data":{"contact_id":"8150","deal_id":"local_69d225bb5d1347.31356213","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه برادرم موافقت نمیکنه \r\nچارسال با سرمایه طلای فیزکی و خودرو گرفتیم خیلی سود کردیم \r\nبا اینکه نیمه ی دوم سال اومدم خیلی راضی هستم \r\nمجدد با برادرم صحبت کننم \/ از من بزرگتره سرمایه داره ","activity_duration":"7","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:22:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8150","note_was_empty":true}
[2026-04-19 13:22:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"8150","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:50] [INFO] Updating virtual stage {"contact_id":"8150","stage_name":"deal_registered","force":false}
[2026-04-19 13:22:50] [INFO] Virtual stage successfully saved {"contact_id":"8150","stage_name":"deal_registered"}
[2026-04-19 13:22:50] [INFO] Virtual stage updated after activity save {"contact_id":"8150"}
[2026-04-19 13:22:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d225bb5d1347.31356213","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:22:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a5f2200e66.23421970","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a5f2200e66.23421970"}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:50] [INFO] Updating virtual stage {"contact_id":"8150","stage_name":"deal_registered","force":false}
[2026-04-19 13:22:50] [INFO] Virtual stage successfully saved {"contact_id":"8150","stage_name":"deal_registered"}
[2026-04-19 13:22:50] [INFO] Virtual stage updated after activity save {"contact_id":"8150"}
[2026-04-19 13:22:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8150","person_id":"13773"}
[2026-04-19 13:22:56] [INFO] Checking activity reminders 
[2026-04-19 13:22:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:22:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:22:58] [INFO] Checking activity reminders 
[2026-04-19 13:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:23:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 13:23:02] [INFO] Checking activity reminders 
[2026-04-19 13:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:23:19] [INFO] Checking activity reminders 
[2026-04-19 13:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:23:26] [INFO] Checking activity reminders 
[2026-04-19 13:23:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:23:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:23:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 13:23:27","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 13:23:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 13:23:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11224","is_new_deal":false}
[2026-04-19 13:23:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 13:23:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 13:23:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 13:23:27] [INFO] getContactPrimaryPhone called {"contact_id":"11224"}
[2026-04-19 13:23:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 13:23:27] [INFO] getContactPrimaryPhone result {"contact_id":"11224","person_found":true,"primary_phone":"9367776843"}
[2026-04-19 13:23:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367776843"}
[2026-04-19 13:23:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367776843","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 13:23:27"}
[2026-04-19 13:23:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","existing_deal_found":true,"existing_contact_id":"11224","existing_title":"معامله سوم 9367776843 | کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 13:23:27"}
[2026-04-19 13:23:27] [INFO] DealController.save validated payments {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 13:23:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11224","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-19 13:23:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bd03f8b5e821.80397397","contact_didar_id":"11224","title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9367776843","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زارعی","existing_deal":"YES","existing_deal_id":"local_69bd03f8b5e821.80397397","existing_deal_status":"Pending","server_time":"2026-04-19 13:23:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-19 13:23:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 13:23:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-19 13:23:27","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 13:23:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-19 13:23:32] [INFO] Checking activity reminders 
[2026-04-19 13:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:23:56] [INFO] Checking activity reminders 
[2026-04-19 13:23:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:23:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:02] [INFO] Checking activity reminders 
[2026-04-19 13:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:05] [INFO] Checking activity reminders 
[2026-04-19 13:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 13:24:23] [INFO] Checking activity reminders 
[2026-04-19 13:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:26] [INFO] Checking activity reminders 
[2026-04-19 13:24:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 13:24:30","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 13:24:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 13:24:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20875","is_new_deal":false}
[2026-04-19 13:24:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 13:24:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 13:24:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 13:24:30] [INFO] getContactPrimaryPhone called {"contact_id":"20875"}
[2026-04-19 13:24:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 13:24:30] [INFO] getContactPrimaryPhone result {"contact_id":"20875","person_found":true,"primary_phone":"9193400253"}
[2026-04-19 13:24:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193400253"}
[2026-04-19 13:24:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193400253","contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 13:24:30"}
[2026-04-19 13:24:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","existing_deal_found":true,"existing_contact_id":"20875","existing_title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 13:24:30"}
[2026-04-19 13:24:30] [INFO] DealController.save validated payments {"deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 13:24:30] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20875","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-19 13:24:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699f170c1e62f1.09215329","contact_didar_id":"20875","title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9193400253","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"جواد بیگی","existing_deal":"YES","existing_deal_id":"local_699f170c1e62f1.09215329","existing_deal_status":"Pending","server_time":"2026-04-19 13:24:30","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-19 13:24:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 13:24:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":15000000,"server_time":"2026-04-19 13:24:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 13:24:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-19 13:24:32] [INFO] Checking activity reminders 
[2026-04-19 13:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:52] [INFO] Checking activity reminders 
[2026-04-19 13:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 13:24:56] [INFO] Checking activity reminders 
[2026-04-19 13:24:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:24:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:25:02] [INFO] Checking activity reminders 
[2026-04-19 13:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:25:26] [INFO] Checking activity reminders 
[2026-04-19 13:25:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:25:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:25:32] [INFO] Checking activity reminders 
[2026-04-19 13:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:25:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:25:56] [INFO] Checking activity reminders 
[2026-04-19 13:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:26:02] [INFO] Checking activity reminders 
[2026-04-19 13:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:26:22] [INFO] Activity save request {"post_data":{"contact_id":"11923","deal_id":"local_69d4dcbcbe7ef8.38675734","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:26:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11923","note_was_empty":true}
[2026-04-19 13:26:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"11923","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:22] [INFO] Updating virtual stage {"contact_id":"11923","stage_name":"deal_registered","force":false}
[2026-04-19 13:26:22] [INFO] Virtual stage successfully saved {"contact_id":"11923","stage_name":"deal_registered"}
[2026-04-19 13:26:22] [INFO] Virtual stage updated after activity save {"contact_id":"11923"}
[2026-04-19 13:26:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4dcbcbe7ef8.38675734","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:26:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a6c6471901.96374723","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a6c6471901.96374723"}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:22] [INFO] Updating virtual stage {"contact_id":"11923","stage_name":"deal_registered","force":false}
[2026-04-19 13:26:22] [INFO] Virtual stage successfully saved {"contact_id":"11923","stage_name":"deal_registered"}
[2026-04-19 13:26:22] [INFO] Virtual stage updated after activity save {"contact_id":"11923"}
[2026-04-19 13:26:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-19 13:26:26] [INFO] Checking activity reminders 
[2026-04-19 13:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:26:32] [INFO] Checking activity reminders 
[2026-04-19 13:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:26:56] [INFO] Checking activity reminders 
[2026-04-19 13:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:27:03] [INFO] Checking activity reminders 
[2026-04-19 13:27:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:27:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:27:26] [INFO] Checking activity reminders 
[2026-04-19 13:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:27:33] [INFO] Checking activity reminders 
[2026-04-19 13:27:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:27:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:27:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-19 13:27:57] [INFO] Checking activity reminders 
[2026-04-19 13:27:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:27:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:28:03] [INFO] Checking activity reminders 
[2026-04-19 13:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:28:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:28:27] [INFO] Checking activity reminders 
[2026-04-19 13:28:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:28:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:28:33] [INFO] Checking activity reminders 
[2026-04-19 13:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:28:57] [INFO] Checking activity reminders 
[2026-04-19 13:28:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:28:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:29:03] [INFO] Checking activity reminders 
[2026-04-19 13:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:29:27] [INFO] Checking activity reminders 
[2026-04-19 13:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:29:28] [INFO] Activity save request {"post_data":{"contact_id":"20519","deal_id":"local_69da0aa331c420.57299180","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:29:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20519","note_was_empty":true}
[2026-04-19 13:29:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"20519","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:28] [INFO] Updating virtual stage {"contact_id":"20519","stage_name":"deal_registered","force":false}
[2026-04-19 13:29:28] [INFO] Virtual stage successfully saved {"contact_id":"20519","stage_name":"deal_registered"}
[2026-04-19 13:29:28] [INFO] Virtual stage updated after activity save {"contact_id":"20519"}
[2026-04-19 13:29:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69da0aa331c420.57299180","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:29:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a780aa43b8.28507154","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a780aa43b8.28507154"}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:28] [INFO] Updating virtual stage {"contact_id":"20519","stage_name":"deal_registered","force":false}
[2026-04-19 13:29:28] [INFO] Virtual stage successfully saved {"contact_id":"20519","stage_name":"deal_registered"}
[2026-04-19 13:29:28] [INFO] Virtual stage updated after activity save {"contact_id":"20519"}
[2026-04-19 13:29:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20519","person_id":"20256"}
[2026-04-19 13:29:33] [INFO] Checking activity reminders 
[2026-04-19 13:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:29:57] [INFO] Checking activity reminders 
[2026-04-19 13:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:30:03] [INFO] Checking activity reminders 
[2026-04-19 13:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:30:27] [INFO] Checking activity reminders 
[2026-04-19 13:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:30:33] [INFO] Checking activity reminders 
[2026-04-19 13:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:30:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:30:57] [INFO] Checking activity reminders 
[2026-04-19 13:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:31:03] [INFO] Checking activity reminders 
[2026-04-19 13:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:31:27] [INFO] Checking activity reminders 
[2026-04-19 13:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:31:33] [INFO] Checking activity reminders 
[2026-04-19 13:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:31:57] [INFO] Checking activity reminders 
[2026-04-19 13:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:32:03] [INFO] Checking activity reminders 
[2026-04-19 13:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:32:28] [INFO] Checking activity reminders 
[2026-04-19 13:32:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:32:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:32:33] [INFO] Checking activity reminders 
[2026-04-19 13:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:32:58] [INFO] Checking activity reminders 
[2026-04-19 13:32:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:32:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:33:03] [INFO] Checking activity reminders 
[2026-04-19 13:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:33:28] [INFO] Checking activity reminders 
[2026-04-19 13:33:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:33:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:33:33] [INFO] Checking activity reminders 
[2026-04-19 13:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:33:48] [INFO] Activity save request {"post_data":{"contact_id":"353","deal_id":"local_69d6911a377ba9.80147603","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال ش کارت فردا این موقع اطلاع واریز \/ ماشین 207 دراه استاد گفته بوده پارسال بفروشه طلا کنه نکرده\/ زنش مریضه \/ پونک کار میکنه \/ پیشنهاد هوش کارشناسی داد15ت \r\nباهم انجام بده تسویه میزارم خرداد اما فقط یکی اردیبهشت تسویه ","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:33:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"353","note_was_empty":true}
[2026-04-19 13:33:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"353","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:48] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-19 13:33:48] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-19 13:33:48] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-19 13:33:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6911a377ba9.80147603","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:33:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a884c13b89.01895311","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a884c13b89.01895311"}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:48] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-19 13:33:48] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-19 13:33:48] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-19 13:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-19 13:33:58] [INFO] Checking activity reminders 
[2026-04-19 13:33:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:33:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:34:10] [INFO] Checking activity reminders 
[2026-04-19 13:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:34:28] [INFO] Checking activity reminders 
[2026-04-19 13:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:34:56] [INFO] Checking activity reminders 
[2026-04-19 13:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:34:58] [INFO] Checking activity reminders 
[2026-04-19 13:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:35:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:35:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:35:26] [INFO] Checking activity reminders 
[2026-04-19 13:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:35:28] [INFO] Checking activity reminders 
[2026-04-19 13:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:35:58] [INFO] Checking activity reminders 
[2026-04-19 13:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:36:24] [INFO] Checking activity reminders 
[2026-04-19 13:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:36:29] [INFO] Checking activity reminders 
[2026-04-19 13:36:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:36:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:36:54] [INFO] Checking activity reminders 
[2026-04-19 13:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:36:59] [INFO] Activity save request {"post_data":{"contact_id":"10832","deal_id":"local_695a6d3ab3c353.66147360","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:36:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10832","note_was_empty":true}
[2026-04-19 13:36:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"10832","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Updating virtual stage {"contact_id":"10832","stage_name":"deal_registered","force":false}
[2026-04-19 13:36:59] [INFO] Virtual stage successfully saved {"contact_id":"10832","stage_name":"deal_registered"}
[2026-04-19 13:36:59] [INFO] Virtual stage updated after activity save {"contact_id":"10832"}
[2026-04-19 13:36:59] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695a6d3ab3c353.66147360","stage":"تماس پیگیری","status_change":null}
[2026-04-19 13:36:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a9430ce2f4.49115377","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a9430ce2f4.49115377"}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Updating virtual stage {"contact_id":"10832","stage_name":"deal_registered","force":false}
[2026-04-19 13:36:59] [INFO] Virtual stage successfully saved {"contact_id":"10832","stage_name":"deal_registered"}
[2026-04-19 13:36:59] [INFO] Virtual stage updated after activity save {"contact_id":"10832"}
[2026-04-19 13:36:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10832","person_id":"15267"}
[2026-04-19 13:36:59] [INFO] Checking activity reminders 
[2026-04-19 13:36:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:36:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:37:24] [INFO] Checking activity reminders 
[2026-04-19 13:37:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:37:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:37:30] [INFO] Checking activity reminders 
[2026-04-19 13:37:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:37:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:37:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:37:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"local_69e344cd6218c4.34032970","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 13:37:51","session_id":"3216q0ajpd9fmbng18lt5qsp9r"}
[2026-04-19 13:37:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:37:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_69dc8794ca28e4.79401978","is_new_deal":false}
[2026-04-19 13:37:51] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-19 13:37:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-19 13:37:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-19 13:37:51] [INFO] getContactPrimaryPhone called {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-19 13:37:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:37:51] [INFO] getContactPrimaryPhone result {"contact_id":"local_69dc8794ca28e4.79401978","person_found":true,"primary_phone":"9330688687"}
[2026-04-19 13:37:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330688687"}
[2026-04-19 13:37:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330688687","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"local_69e344cd6218c4.34032970","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 13:37:51"}
[2026-04-19 13:37:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e344cd6218c4.34032970","contact_id":"local_69dc8794ca28e4.79401978","existing_deal_found":true,"existing_contact_id":"local_69dc8794ca28e4.79401978","existing_title":"معامله دوم 9330688687 | هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 13:37:51"}
[2026-04-19 13:37:51] [INFO] DealController.save validated payments {"deal_id":"local_69e344cd6218c4.34032970","contact_id":"local_69dc8794ca28e4.79401978","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-19 13:37:51] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69dc8794ca28e4.79401978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 13:37:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e344cd6218c4.34032970","contact_didar_id":"local_69dc8794ca28e4.79401978","title":"معامله دوم 9330688687 | هوش خودرو","base_title_used":"معامله دوم 9330688687","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امید رحیمی","existing_deal":"YES","existing_deal_id":"local_69e344cd6218c4.34032970","existing_deal_status":"Pending","server_time":"2026-04-19 13:37:51","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 13:37:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:37:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e344cd6218c4.34032970","contact_id":"local_69dc8794ca28e4.79401978","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9330688687 | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-19 13:37:51","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 13:37:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:37:54] [INFO] Checking activity reminders 
[2026-04-19 13:37:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:37:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:38:01] [INFO] Checking activity reminders 
[2026-04-19 13:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:38:04] [INFO] Activity save request {"post_data":{"contact_id":"269","deal_id":"local_69d6965e72f169.77215995","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خودم حتما انجام میدم و تماس میگیرم ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:38:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"269","note_was_empty":true}
[2026-04-19 13:38:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"269","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:04] [INFO] Updating virtual stage {"contact_id":"269","stage_name":"deal_registered","force":false}
[2026-04-19 13:38:04] [INFO] Virtual stage successfully saved {"contact_id":"269","stage_name":"deal_registered"}
[2026-04-19 13:38:04] [INFO] Virtual stage updated after activity save {"contact_id":"269"}
[2026-04-19 13:38:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6965e72f169.77215995","stage":"تماس پیگیری","status_change":null}
[2026-04-19 13:38:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a984bf76f7.29757949","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a984bf76f7.29757949"}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:04] [INFO] Updating virtual stage {"contact_id":"269","stage_name":"deal_registered","force":false}
[2026-04-19 13:38:04] [INFO] Virtual stage successfully saved {"contact_id":"269","stage_name":"deal_registered"}
[2026-04-19 13:38:04] [INFO] Virtual stage updated after activity save {"contact_id":"269"}
[2026-04-19 13:38:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"269","person_id":"45"}
[2026-04-19 13:38:19] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دسترسی هنوز فعال نشده\/ تا فردا تسویه میکنه ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:38:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:38:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:38:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69dc8794ca28e4.79401978","note_was_empty":true}
[2026-04-19 13:38:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4a9932772e8.76712099","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:38:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4a9932772e8.76712099"}
[2026-04-19 13:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:38:19] [INFO] Updating virtual stage {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered","force":false}
[2026-04-19 13:38:19] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered"}
[2026-04-19 13:38:19] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-19 13:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 13:38:24] [INFO] Checking activity reminders 
[2026-04-19 13:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:38:31] [INFO] Checking activity reminders 
[2026-04-19 13:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:38:42] [INFO] Checking activity reminders 
[2026-04-19 13:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:39:01] [INFO] Checking activity reminders 
[2026-04-19 13:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:39:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:39:12] [INFO] Checking activity reminders 
[2026-04-19 13:39:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:39:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:39:27] [INFO] Checking activity reminders 
[2026-04-19 13:39:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:39:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:39:31] [INFO] Checking activity reminders 
[2026-04-19 13:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:39:42] [INFO] Checking activity reminders 
[2026-04-19 13:39:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:39:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:40:01] [INFO] Checking activity reminders 
[2026-04-19 13:40:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:40:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:40:12] [INFO] Checking activity reminders 
[2026-04-19 13:40:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:40:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:40:29] [INFO] Checking activity reminders 
[2026-04-19 13:40:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:40:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:40:31] [INFO] Checking activity reminders 
[2026-04-19 13:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:40:42] [INFO] Checking activity reminders 
[2026-04-19 13:40:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:40:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:41:01] [INFO] Checking activity reminders 
[2026-04-19 13:41:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:41:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:41:13] [INFO] Checking activity reminders 
[2026-04-19 13:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:41:31] [INFO] Checking activity reminders 
[2026-04-19 13:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:41:43] [INFO] Checking activity reminders 
[2026-04-19 13:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:42:01] [INFO] Checking activity reminders 
[2026-04-19 13:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:42:13] [INFO] Checking activity reminders 
[2026-04-19 13:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:42:31] [INFO] Checking activity reminders 
[2026-04-19 13:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:42:43] [INFO] Checking activity reminders 
[2026-04-19 13:42:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:42:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:01] [INFO] Checking activity reminders 
[2026-04-19 13:43:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:06] [INFO] Checking activity reminders 
[2026-04-19 13:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:13] [INFO] Checking activity reminders 
[2026-04-19 13:43:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:26] [INFO] Checking activity reminders 
[2026-04-19 13:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:31] [INFO] Checking activity reminders 
[2026-04-19 13:43:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-19 13:43:43] [INFO] Checking activity reminders 
[2026-04-19 13:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:43:55] [INFO] Checking activity reminders 
[2026-04-19 13:43:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:43:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:44:01] [INFO] Checking activity reminders 
[2026-04-19 13:44:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:44:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:44:13] [INFO] Checking activity reminders 
[2026-04-19 13:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:44:31] [INFO] Checking activity reminders 
[2026-04-19 13:44:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:44:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:44:43] [INFO] Checking activity reminders 
[2026-04-19 13:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:44:49] [INFO] Checking activity reminders 
[2026-04-19 13:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:45:02] [INFO] Checking activity reminders 
[2026-04-19 13:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:45:13] [INFO] Checking activity reminders 
[2026-04-19 13:45:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:45:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:45:32] [INFO] Checking activity reminders 
[2026-04-19 13:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:45:43] [INFO] Checking activity reminders 
[2026-04-19 13:45:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:45:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:45:45] [INFO] Activity save request {"post_data":{"contact_id":"1726","deal_id":"local_69d0a8a4dad1d0.23974740","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری ","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:45:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:45:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:45:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1726","note_was_empty":true}
[2026-04-19 13:45:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"1726","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:45:45] [INFO] Updating virtual stage {"contact_id":"1726","stage_name":"deal_registered","force":false}
[2026-04-19 13:45:45] [INFO] Virtual stage successfully saved {"contact_id":"1726","stage_name":"deal_registered"}
[2026-04-19 13:45:45] [INFO] Virtual stage updated after activity save {"contact_id":"1726"}
[2026-04-19 13:45:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a8a4dad1d0.23974740","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:45:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4ab51115f62.37836139","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:45:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4ab51115f62.37836139"}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:45:45] [INFO] Updating virtual stage {"contact_id":"1726","stage_name":"deal_registered","force":false}
[2026-04-19 13:45:45] [INFO] Virtual stage successfully saved {"contact_id":"1726","stage_name":"deal_registered"}
[2026-04-19 13:45:45] [INFO] Virtual stage updated after activity save {"contact_id":"1726"}
[2026-04-19 13:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-19 13:46:02] [INFO] Checking activity reminders 
[2026-04-19 13:46:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:46:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:46:13] [INFO] Checking activity reminders 
[2026-04-19 13:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:46:32] [INFO] Checking activity reminders 
[2026-04-19 13:46:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:46:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:46:33] [INFO] Checking activity reminders 
[2026-04-19 13:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:46:43] [INFO] Checking activity reminders 
[2026-04-19 13:46:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:46:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:47:02] [INFO] Checking activity reminders 
[2026-04-19 13:47:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:47:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:47:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:47:13] [INFO] Checking activity reminders 
[2026-04-19 13:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:47:32] [INFO] Checking activity reminders 
[2026-04-19 13:47:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:47:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:47:43] [INFO] Checking activity reminders 
[2026-04-19 13:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:02] [INFO] Checking activity reminders 
[2026-04-19 13:48:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:04] [INFO] Checking activity reminders 
[2026-04-19 13:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:14] [INFO] Checking activity reminders 
[2026-04-19 13:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:27] [INFO] Checking activity reminders 
[2026-04-19 13:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:32] [INFO] Checking activity reminders 
[2026-04-19 13:48:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:44] [INFO] Checking activity reminders 
[2026-04-19 13:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:48:58] [INFO] Checking activity reminders 
[2026-04-19 13:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:49:02] [INFO] Checking activity reminders 
[2026-04-19 13:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-19 13:49:14] [INFO] Checking activity reminders 
[2026-04-19 13:49:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:49:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:49:32] [INFO] Checking activity reminders 
[2026-04-19 13:49:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:49:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:49:41] [INFO] Activity save request {"post_data":{"contact_id":"5381","deal_id":"local_69c7e9d396caa6.54005764","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:49:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5381","note_was_empty":true}
[2026-04-19 13:49:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"5381","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:41] [INFO] Updating virtual stage {"contact_id":"5381","stage_name":"deal_registered","force":false}
[2026-04-19 13:49:41] [INFO] Virtual stage successfully saved {"contact_id":"5381","stage_name":"deal_registered"}
[2026-04-19 13:49:41] [INFO] Virtual stage updated after activity save {"contact_id":"5381"}
[2026-04-19 13:49:41] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c7e9d396caa6.54005764","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:49:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4ac3d860fd0.91089705","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4ac3d860fd0.91089705"}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:41] [INFO] Updating virtual stage {"contact_id":"5381","stage_name":"deal_registered","force":false}
[2026-04-19 13:49:41] [INFO] Virtual stage successfully saved {"contact_id":"5381","stage_name":"deal_registered"}
[2026-04-19 13:49:41] [INFO] Virtual stage updated after activity save {"contact_id":"5381"}
[2026-04-19 13:49:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5381","person_id":"13953"}
[2026-04-19 13:49:44] [INFO] Checking activity reminders 
[2026-04-19 13:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:49:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:49:57] [INFO] Checking activity reminders 
[2026-04-19 13:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:50:10] [INFO] Checking activity reminders 
[2026-04-19 13:50:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:50:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:50:14] [INFO] Checking activity reminders 
[2026-04-19 13:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:50:31] [INFO] Checking activity reminders 
[2026-04-19 13:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:50:41] [INFO] Checking activity reminders 
[2026-04-19 13:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:50:44] [INFO] Checking activity reminders 
[2026-04-19 13:50:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:50:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:01] [INFO] Checking activity reminders 
[2026-04-19 13:51:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:11] [INFO] Checking activity reminders 
[2026-04-19 13:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:14] [INFO] Checking activity reminders 
[2026-04-19 13:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:31] [INFO] Checking activity reminders 
[2026-04-19 13:51:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:41] [INFO] Checking activity reminders 
[2026-04-19 13:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:51:44] [INFO] Checking activity reminders 
[2026-04-19 13:51:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:51:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:01] [INFO] Checking activity reminders 
[2026-04-19 13:52:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:11] [INFO] Checking activity reminders 
[2026-04-19 13:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:14] [INFO] Checking activity reminders 
[2026-04-19 13:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:20] [INFO] Activity save request {"post_data":{"contact_id":"19271","deal_id":"local_69b9a82114c262.89718371","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیامک پیگیری \/ عدم پاسخ تماس","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 13:52:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"19271","note_was_empty":true}
[2026-04-19 13:52:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"19271","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:20] [INFO] Updating virtual stage {"contact_id":"19271","stage_name":"deal_registered","force":false}
[2026-04-19 13:52:20] [INFO] Virtual stage successfully saved {"contact_id":"19271","stage_name":"deal_registered"}
[2026-04-19 13:52:20] [INFO] Virtual stage updated after activity save {"contact_id":"19271"}
[2026-04-19 13:52:20] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b9a82114c262.89718371","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 13:52:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4acdc6200f8.84724980","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4acdc6200f8.84724980"}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:20] [INFO] Updating virtual stage {"contact_id":"19271","stage_name":"deal_registered","force":false}
[2026-04-19 13:52:20] [INFO] Virtual stage successfully saved {"contact_id":"19271","stage_name":"deal_registered"}
[2026-04-19 13:52:20] [INFO] Virtual stage updated after activity save {"contact_id":"19271"}
[2026-04-19 13:52:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19271","person_id":"5691"}
[2026-04-19 13:52:31] [INFO] Checking activity reminders 
[2026-04-19 13:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:41] [INFO] Checking activity reminders 
[2026-04-19 13:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:52:44] [INFO] Checking activity reminders 
[2026-04-19 13:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:53:11] [INFO] Checking activity reminders 
[2026-04-19 13:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:53:14] [INFO] Checking activity reminders 
[2026-04-19 13:53:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:53:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:53:41] [INFO] Checking activity reminders 
[2026-04-19 13:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:53:44] [INFO] Checking activity reminders 
[2026-04-19 13:53:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:53:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:54:11] [INFO] Checking activity reminders 
[2026-04-19 13:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:54:14] [INFO] Checking activity reminders 
[2026-04-19 13:54:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:54:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:54:41] [INFO] Checking activity reminders 
[2026-04-19 13:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:54:44] [INFO] Checking activity reminders 
[2026-04-19 13:54:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:54:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:54:54] [INFO] Checking activity reminders 
[2026-04-19 13:54:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:54:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:55:11] [INFO] Checking activity reminders 
[2026-04-19 13:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:55:14] [INFO] Checking activity reminders 
[2026-04-19 13:55:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:55:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:55:41] [INFO] Checking activity reminders 
[2026-04-19 13:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:55:45] [INFO] Checking activity reminders 
[2026-04-19 13:55:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:55:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:56:11] [INFO] Checking activity reminders 
[2026-04-19 13:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:56:15] [INFO] Checking activity reminders 
[2026-04-19 13:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:56:41] [INFO] Checking activity reminders 
[2026-04-19 13:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:56:45] [INFO] Checking activity reminders 
[2026-04-19 13:56:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:56:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:56:52] [INFO] Checking activity reminders 
[2026-04-19 13:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:11] [INFO] Checking activity reminders 
[2026-04-19 13:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:15] [INFO] Checking activity reminders 
[2026-04-19 13:57:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:20] [INFO] Checking activity reminders 
[2026-04-19 13:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b92e89d8be69.70262482","person_id":"21894"}
[2026-04-19 13:57:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:57:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:57:35] [INFO] generateDealTitle result {"contact_id":"9687","person_name":"عنایت زاده","mobile":"9191326643","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9191326643"}
[2026-04-19 13:57:42] [INFO] Checking activity reminders 
[2026-04-19 13:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:45] [INFO] Checking activity reminders 
[2026-04-19 13:57:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:57:56] [INFO] Checking activity reminders 
[2026-04-19 13:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:12] [INFO] Checking activity reminders 
[2026-04-19 13:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:15] [INFO] Checking activity reminders 
[2026-04-19 13:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:41] [INFO] Checking activity reminders 
[2026-04-19 13:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:42] [INFO] Checking activity reminders 
[2026-04-19 13:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:45] [INFO] Checking activity reminders 
[2026-04-19 13:58:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:58:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:58:48] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9687","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 13:58:48","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:58:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9687","is_new_deal":true}
[2026-04-19 13:58:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 13:58:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 13:58:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 13:58:48] [INFO] getContactPrimaryPhone called {"contact_id":"9687"}
[2026-04-19 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:58:48] [INFO] getContactPrimaryPhone result {"contact_id":"9687","person_found":true,"primary_phone":"9191326643"}
[2026-04-19 13:58:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9191326643"}
[2026-04-19 13:58:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9191326643","contact_id":"9687","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 13:58:48"}
[2026-04-19 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:58:48] [INFO] generateDealTitle result {"contact_id":"9687","person_name":"عنایت زاده","mobile":"9191326643","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9191326643"}
[2026-04-19 13:58:48] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"9687","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-19 13:58:48] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9687","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 13:58:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"9687","title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9191326643","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"عنایت زاده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-19 13:58:48","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:58:48] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-19 13:58:48] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"9687","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-19 13:58:48","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 13:58:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 13:59:11] [INFO] Checking activity reminders 
[2026-04-19 13:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:59:12] [INFO] Checking activity reminders 
[2026-04-19 13:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:59:15] [INFO] Checking activity reminders 
[2026-04-19 13:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:59:41] [INFO] Checking activity reminders 
[2026-04-19 13:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:59:42] [INFO] Checking activity reminders 
[2026-04-19 13:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 13:59:45] [INFO] Checking activity reminders 
[2026-04-19 13:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 13:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:11] [INFO] Checking activity reminders 
[2026-04-19 14:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:12] [INFO] Checking activity reminders 
[2026-04-19 14:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:15] [INFO] Checking activity reminders 
[2026-04-19 14:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:42] [INFO] Checking activity reminders 
[2026-04-19 14:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:42] [INFO] Checking activity reminders 
[2026-04-19 14:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:00:45] [INFO] Checking activity reminders 
[2026-04-19 14:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:01:12] [INFO] Checking activity reminders 
[2026-04-19 14:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:01:15] [INFO] Checking activity reminders 
[2026-04-19 14:01:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:01:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:01:43] [INFO] Checking activity reminders 
[2026-04-19 14:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:01:46] [INFO] Checking activity reminders 
[2026-04-19 14:01:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:01:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:02:09] [INFO] Checking activity reminders 
[2026-04-19 14:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:02:13] [INFO] Checking activity reminders 
[2026-04-19 14:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:02:16] [INFO] Checking activity reminders 
[2026-04-19 14:02:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:02:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:02:43] [INFO] Checking activity reminders 
[2026-04-19 14:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:02:46] [INFO] Checking activity reminders 
[2026-04-19 14:02:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:02:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:06] [INFO] Checking activity reminders 
[2026-04-19 14:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:13] [INFO] Checking activity reminders 
[2026-04-19 14:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:16] [INFO] Checking activity reminders 
[2026-04-19 14:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:43] [INFO] Checking activity reminders 
[2026-04-19 14:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:46] [INFO] Checking activity reminders 
[2026-04-19 14:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:03:54] [INFO] Activity save request {"post_data":{"contact_id":"9687","deal_id":"local_69e4ae60eca6c2.63356263","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سوپر مارکت \/ کارشو سپرده \r\nسرمایه در طلا \r\nپرزنت 1 ساله \r\nبله نصب کنه \r\nبیعانه واریز \r\n15 روز دیگه تسویه ","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:03:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 14:03:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:03:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9687","note_was_empty":true}
[2026-04-19 14:03:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"9687","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:03:54] [INFO] Updating virtual stage {"contact_id":"9687","stage_name":"deal_registered","force":false}
[2026-04-19 14:03:54] [INFO] Virtual stage successfully saved {"contact_id":"9687","stage_name":"deal_registered"}
[2026-04-19 14:03:54] [INFO] Virtual stage updated after activity save {"contact_id":"9687"}
[2026-04-19 14:03:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e4ae60eca6c2.63356263","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 14:03:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4af92c1c4f7.12138354","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:03:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4af92c1c4f7.12138354"}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:03:54] [INFO] Updating virtual stage {"contact_id":"9687","stage_name":"deal_registered","force":false}
[2026-04-19 14:03:54] [INFO] Virtual stage successfully saved {"contact_id":"9687","stage_name":"deal_registered"}
[2026-04-19 14:03:54] [INFO] Virtual stage updated after activity save {"contact_id":"9687"}
[2026-04-19 14:03:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 14:04:13] [INFO] Checking activity reminders 
[2026-04-19 14:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:04:16] [INFO] Checking activity reminders 
[2026-04-19 14:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:04:43] [INFO] Checking activity reminders 
[2026-04-19 14:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:04:46] [INFO] Checking activity reminders 
[2026-04-19 14:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:05:13] [INFO] Checking activity reminders 
[2026-04-19 14:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:05:16] [INFO] Checking activity reminders 
[2026-04-19 14:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:05:43] [INFO] Checking activity reminders 
[2026-04-19 14:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:05:46] [INFO] Checking activity reminders 
[2026-04-19 14:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:06:13] [INFO] Checking activity reminders 
[2026-04-19 14:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:06:16] [INFO] Checking activity reminders 
[2026-04-19 14:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:06:43] [INFO] Checking activity reminders 
[2026-04-19 14:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:06:46] [INFO] Checking activity reminders 
[2026-04-19 14:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:07:14] [INFO] Checking activity reminders 
[2026-04-19 14:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:07:16] [INFO] Checking activity reminders 
[2026-04-19 14:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:07:44] [INFO] Checking activity reminders 
[2026-04-19 14:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:07:46] [INFO] Checking activity reminders 
[2026-04-19 14:07:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:07:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:08:14] [INFO] Checking activity reminders 
[2026-04-19 14:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:08:17] [INFO] Checking activity reminders 
[2026-04-19 14:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:08:44] [INFO] Checking activity reminders 
[2026-04-19 14:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:08:47] [INFO] Checking activity reminders 
[2026-04-19 14:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:09:14] [INFO] Checking activity reminders 
[2026-04-19 14:09:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:09:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:09:44] [INFO] Checking activity reminders 
[2026-04-19 14:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:10:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:10:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:08] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:13] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:14] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:14] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:14] [INFO] Checking activity reminders 
[2026-04-19 14:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:10:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:19] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:33] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:10:33] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 14:10:33] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 14:10:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 14:10:34] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 14:10:34] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 14:10:34] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 14:10:44] [INFO] Checking activity reminders 
[2026-04-19 14:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:10:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15665","person_id":"6997"}
[2026-04-19 14:10:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20694","person_id":"7006"}
[2026-04-19 14:11:04] [INFO] Checking activity reminders 
[2026-04-19 14:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:11:15] [INFO] Checking activity reminders 
[2026-04-19 14:11:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:11:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:11:34] [INFO] Checking activity reminders 
[2026-04-19 14:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:11:45] [INFO] Checking activity reminders 
[2026-04-19 14:11:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:11:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:12:04] [INFO] Checking activity reminders 
[2026-04-19 14:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:12:15] [INFO] Checking activity reminders 
[2026-04-19 14:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:12:34] [INFO] Checking activity reminders 
[2026-04-19 14:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:12:45] [INFO] Checking activity reminders 
[2026-04-19 14:12:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:12:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:13:04] [INFO] Checking activity reminders 
[2026-04-19 14:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:13:15] [INFO] Checking activity reminders 
[2026-04-19 14:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:13:35] [INFO] Checking activity reminders 
[2026-04-19 14:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:13:45] [INFO] Checking activity reminders 
[2026-04-19 14:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:14:06] [INFO] Checking activity reminders 
[2026-04-19 14:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:14:15] [INFO] Checking activity reminders 
[2026-04-19 14:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:14:36] [INFO] Checking activity reminders 
[2026-04-19 14:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:14:45] [INFO] Checking activity reminders 
[2026-04-19 14:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:15:06] [INFO] Checking activity reminders 
[2026-04-19 14:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:15:15] [INFO] Checking activity reminders 
[2026-04-19 14:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:15:36] [INFO] Checking activity reminders 
[2026-04-19 14:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:15:45] [INFO] Checking activity reminders 
[2026-04-19 14:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:16:06] [INFO] Checking activity reminders 
[2026-04-19 14:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:16:16] [INFO] Checking activity reminders 
[2026-04-19 14:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:16:36] [INFO] Checking activity reminders 
[2026-04-19 14:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:16:46] [INFO] Checking activity reminders 
[2026-04-19 14:16:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:16:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:17:16] [INFO] Checking activity reminders 
[2026-04-19 14:17:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:17:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:17:46] [INFO] Checking activity reminders 
[2026-04-19 14:17:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:17:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:18:16] [INFO] Checking activity reminders 
[2026-04-19 14:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:18:46] [INFO] Checking activity reminders 
[2026-04-19 14:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:19:17] [INFO] Checking activity reminders 
[2026-04-19 14:19:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:19:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:19:47] [INFO] Checking activity reminders 
[2026-04-19 14:19:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:19:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:20:07] [INFO] Checking activity reminders 
[2026-04-19 14:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:20:17] [INFO] Checking activity reminders 
[2026-04-19 14:20:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:20:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:20:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20694","person_id":"7006"}
[2026-04-19 14:20:37] [INFO] Checking activity reminders 
[2026-04-19 14:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:20:47] [INFO] Checking activity reminders 
[2026-04-19 14:20:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:20:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:21:17] [INFO] Checking activity reminders 
[2026-04-19 14:21:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:21:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:21:47] [INFO] Checking activity reminders 
[2026-04-19 14:21:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:21:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:21:58] [INFO] Checking activity reminders 
[2026-04-19 14:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:22:07] [INFO] Checking activity reminders 
[2026-04-19 14:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:22:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-19 14:22:17] [INFO] Checking activity reminders 
[2026-04-19 14:22:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:22:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:22:37] [INFO] Checking activity reminders 
[2026-04-19 14:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:22:47] [INFO] Checking activity reminders 
[2026-04-19 14:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:23:08] [INFO] Checking activity reminders 
[2026-04-19 14:23:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:23:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:23:17] [INFO] Checking activity reminders 
[2026-04-19 14:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:23:31] [INFO] Checking activity reminders 
[2026-04-19 14:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:23:47] [INFO] Checking activity reminders 
[2026-04-19 14:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:24:01] [INFO] Checking activity reminders 
[2026-04-19 14:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:24:17] [INFO] Checking activity reminders 
[2026-04-19 14:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:24:48] [INFO] Checking activity reminders 
[2026-04-19 14:24:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:24:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:25:18] [INFO] Checking activity reminders 
[2026-04-19 14:25:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:25:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:25:48] [INFO] Checking activity reminders 
[2026-04-19 14:25:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:25:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:26:06] [INFO] Checking activity reminders 
[2026-04-19 14:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:26:18] [INFO] Checking activity reminders 
[2026-04-19 14:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:26:31] [INFO] Checking activity reminders 
[2026-04-19 14:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:26:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 14:26:48] [INFO] Checking activity reminders 
[2026-04-19 14:26:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:26:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:26:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 14:27:18] [INFO] Checking activity reminders 
[2026-04-19 14:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:27:43] [INFO] Checking activity reminders 
[2026-04-19 14:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:27:48] [INFO] Checking activity reminders 
[2026-04-19 14:27:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:27:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:28:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 14:28:13] [INFO] Checking activity reminders 
[2026-04-19 14:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:28:18] [INFO] Checking activity reminders 
[2026-04-19 14:28:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:28:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:28:48] [INFO] Checking activity reminders 
[2026-04-19 14:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:29:05] [INFO] Checking activity reminders 
[2026-04-19 14:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:29:18] [INFO] Checking activity reminders 
[2026-04-19 14:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:29:35] [INFO] Checking activity reminders 
[2026-04-19 14:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:29:48] [INFO] Checking activity reminders 
[2026-04-19 14:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:29:51] [INFO] Checking activity reminders 
[2026-04-19 14:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:30:19] [INFO] Checking activity reminders 
[2026-04-19 14:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:30:49] [INFO] Checking activity reminders 
[2026-04-19 14:30:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:30:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:31:03] [INFO] Checking activity reminders 
[2026-04-19 14:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:31:19] [INFO] Checking activity reminders 
[2026-04-19 14:31:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:31:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:31:27] [INFO] Checking activity reminders 
[2026-04-19 14:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:31:46] [INFO] Checking activity reminders 
[2026-04-19 14:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:31:49] [INFO] Checking activity reminders 
[2026-04-19 14:31:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:31:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:32:19] [INFO] Checking activity reminders 
[2026-04-19 14:32:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:32:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:32:49] [INFO] Checking activity reminders 
[2026-04-19 14:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:33:19] [INFO] Checking activity reminders 
[2026-04-19 14:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:33:49] [INFO] Checking activity reminders 
[2026-04-19 14:33:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:33:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:34:19] [INFO] Checking activity reminders 
[2026-04-19 14:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:34:49] [INFO] Checking activity reminders 
[2026-04-19 14:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:35:19] [INFO] Checking activity reminders 
[2026-04-19 14:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:35:49] [INFO] Checking activity reminders 
[2026-04-19 14:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:36:20] [INFO] Checking activity reminders 
[2026-04-19 14:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:36:50] [INFO] Checking activity reminders 
[2026-04-19 14:36:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:36:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:37:20] [INFO] Checking activity reminders 
[2026-04-19 14:37:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:37:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:37:50] [INFO] Checking activity reminders 
[2026-04-19 14:37:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:37:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:38:20] [INFO] Checking activity reminders 
[2026-04-19 14:38:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:38:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:38:50] [INFO] Checking activity reminders 
[2026-04-19 14:38:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:38:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:39:20] [INFO] Checking activity reminders 
[2026-04-19 14:39:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:39:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:39:50] [INFO] Checking activity reminders 
[2026-04-19 14:39:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:39:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:40:20] [INFO] Checking activity reminders 
[2026-04-19 14:40:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:40:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:40:50] [INFO] Checking activity reminders 
[2026-04-19 14:40:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:40:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:41:20] [INFO] Checking activity reminders 
[2026-04-19 14:41:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:41:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:41:51] [INFO] Checking activity reminders 
[2026-04-19 14:41:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:41:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:42:21] [INFO] Checking activity reminders 
[2026-04-19 14:42:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:42:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:42:51] [INFO] Checking activity reminders 
[2026-04-19 14:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:43:21] [INFO] Checking activity reminders 
[2026-04-19 14:43:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:43:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:43:51] [INFO] Checking activity reminders 
[2026-04-19 14:43:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:43:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:44:21] [INFO] Checking activity reminders 
[2026-04-19 14:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:44:51] [INFO] Checking activity reminders 
[2026-04-19 14:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:45:22] [INFO] Checking activity reminders 
[2026-04-19 14:45:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:45:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:45:52] [INFO] Checking activity reminders 
[2026-04-19 14:45:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:45:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:46:22] [INFO] Checking activity reminders 
[2026-04-19 14:46:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:46:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:46:52] [INFO] Checking activity reminders 
[2026-04-19 14:46:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:46:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:47:22] [INFO] Checking activity reminders 
[2026-04-19 14:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:47:52] [INFO] Checking activity reminders 
[2026-04-19 14:47:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:47:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:48:22] [INFO] Checking activity reminders 
[2026-04-19 14:48:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:48:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:48:52] [INFO] Checking activity reminders 
[2026-04-19 14:48:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:48:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:49:02] [INFO] Checking activity reminders 
[2026-04-19 14:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:49:22] [INFO] Checking activity reminders 
[2026-04-19 14:49:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:49:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:49:52] [INFO] Checking activity reminders 
[2026-04-19 14:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:50:22] [INFO] Checking activity reminders 
[2026-04-19 14:50:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:50:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:50:31] [INFO] Checking activity reminders 
[2026-04-19 14:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:50:42] [INFO] Checking activity reminders 
[2026-04-19 14:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:50:53] [INFO] Checking activity reminders 
[2026-04-19 14:50:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:50:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:51:23] [INFO] Checking activity reminders 
[2026-04-19 14:51:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:51:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:51:53] [INFO] Checking activity reminders 
[2026-04-19 14:51:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:51:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:52:23] [INFO] Checking activity reminders 
[2026-04-19 14:52:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:52:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:52:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:52:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:52:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:52:53] [INFO] Checking activity reminders 
[2026-04-19 14:52:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:52:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:53:23] [INFO] Checking activity reminders 
[2026-04-19 14:53:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:53:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:53:53] [INFO] Checking activity reminders 
[2026-04-19 14:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:54:23] [INFO] Checking activity reminders 
[2026-04-19 14:54:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:54:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:54:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:54:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:54:52] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:55:50] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:55:50] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:55:50] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"get_products"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"get_leads"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:40] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:42] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:42] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:43] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:43] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:43] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:43] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:44] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:44] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:44] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:44] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"get_leads"}
[2026-04-19 14:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:59] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:56:59] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:01] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:01] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:01] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:02] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:02] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:02] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"get_leads"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:03] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:13] [WARNING] Auth check failed - not authenticated {"session_id":"3216q0ajpd9fmbng18lt5qsp9r","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:13] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-19 14:57:13] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 14:57:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 14:57:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:57:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:42] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:43] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:43] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:44] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:44] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:46] [INFO] Checking activity reminders 
[2026-04-19 14:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:57:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:57:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:01] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:01] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:58:01] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:01] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:04] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:07] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:09] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:10] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:11] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:12] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:12] [INFO] Checking activity reminders 
[2026-04-19 14:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:58:14] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 14:58:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:58:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:58:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:54] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:58:58] [INFO] Checking activity reminders 
[2026-04-19 14:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:22] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:24] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:24] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:24] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:59:24] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:24] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:27] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:27] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:59:27] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:27] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:34] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:34] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:34] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:42] [INFO] Checking activity reminders 
[2026-04-19 14:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 14:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 14:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"check_reminders"}
[2026-04-19 14:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_leads"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:48] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:51] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_didar_users"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_users_list"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_kpi_products"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-19 14:59:52] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 14:59:53] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 15:00:08] [WARNING] Auth check failed - not authenticated {"session_id":"ik6ekjolg7qu66qe5reej96n8g","session_keys":[],"action":"log_client_event"}
[2026-04-19 15:00:08] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-19 15:00:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 15:00:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 15:00:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 15:00:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 15:00:12] [INFO] Checking activity reminders 
[2026-04-19 15:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:00:19] [INFO] Checking activity reminders 
[2026-04-19 15:00:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-19 15:00:36] [INFO] Checking activity reminders 
[2026-04-19 15:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:00:37] [INFO] Checking activity reminders 
[2026-04-19 15:00:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:00:42] [INFO] Checking activity reminders 
[2026-04-19 15:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:00:52] [INFO] Checking activity reminders 
[2026-04-19 15:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:01:12] [INFO] Checking activity reminders 
[2026-04-19 15:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:01:20] [INFO] Checking activity reminders 
[2026-04-19 15:01:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:01:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:01:22] [INFO] Checking activity reminders 
[2026-04-19 15:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:01:42] [INFO] Checking activity reminders 
[2026-04-19 15:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:01:50] [INFO] Checking activity reminders 
[2026-04-19 15:01:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:01:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:02:12] [INFO] Checking activity reminders 
[2026-04-19 15:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:02:20] [INFO] Checking activity reminders 
[2026-04-19 15:02:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:02:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:02:42] [INFO] Checking activity reminders 
[2026-04-19 15:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:02:50] [INFO] Checking activity reminders 
[2026-04-19 15:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:12] [INFO] Checking activity reminders 
[2026-04-19 15:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:19] [INFO] Checking activity reminders 
[2026-04-19 15:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:20] [INFO] Checking activity reminders 
[2026-04-19 15:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-19 15:03:30] [INFO] Checking activity reminders 
[2026-04-19 15:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:34] [INFO] Checking activity reminders 
[2026-04-19 15:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:38] [INFO] Checking activity reminders 
[2026-04-19 15:03:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-19 15:03:42] [INFO] Checking activity reminders 
[2026-04-19 15:03:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:03:50] [INFO] Checking activity reminders 
[2026-04-19 15:03:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:03:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:04:12] [INFO] Checking activity reminders 
[2026-04-19 15:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:04:15] [INFO] Checking activity reminders 
[2026-04-19 15:04:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:04:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:04:21] [INFO] Checking activity reminders 
[2026-04-19 15:04:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:04:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:04:42] [INFO] Checking activity reminders 
[2026-04-19 15:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:04:51] [INFO] Checking activity reminders 
[2026-04-19 15:04:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:04:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:02] [INFO] Checking activity reminders 
[2026-04-19 15:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:12] [INFO] Checking activity reminders 
[2026-04-19 15:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:21] [INFO] Checking activity reminders 
[2026-04-19 15:05:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:22] [INFO] Checking activity reminders 
[2026-04-19 15:05:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:33] [INFO] Checking activity reminders 
[2026-04-19 15:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:42] [INFO] Checking activity reminders 
[2026-04-19 15:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:51] [INFO] Checking activity reminders 
[2026-04-19 15:05:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:05:55] [INFO] Checking activity reminders 
[2026-04-19 15:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:06:13] [INFO] Checking activity reminders 
[2026-04-19 15:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:06:21] [INFO] Checking activity reminders 
[2026-04-19 15:06:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:06:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:06:43] [INFO] Checking activity reminders 
[2026-04-19 15:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:06:51] [INFO] Checking activity reminders 
[2026-04-19 15:06:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:06:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:07:13] [INFO] Checking activity reminders 
[2026-04-19 15:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:07:21] [INFO] Checking activity reminders 
[2026-04-19 15:07:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:07:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:07:43] [INFO] Checking activity reminders 
[2026-04-19 15:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:07:51] [INFO] Checking activity reminders 
[2026-04-19 15:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:08:13] [INFO] Checking activity reminders 
[2026-04-19 15:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:08:21] [INFO] Checking activity reminders 
[2026-04-19 15:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:08:43] [INFO] Checking activity reminders 
[2026-04-19 15:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:08:51] [INFO] Checking activity reminders 
[2026-04-19 15:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:09:13] [INFO] Checking activity reminders 
[2026-04-19 15:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:09:22] [INFO] Checking activity reminders 
[2026-04-19 15:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:09:43] [INFO] Checking activity reminders 
[2026-04-19 15:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:09:52] [INFO] Checking activity reminders 
[2026-04-19 15:09:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:09:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:13] [INFO] Checking activity reminders 
[2026-04-19 15:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:22] [INFO] Checking activity reminders 
[2026-04-19 15:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:38] [INFO] Checking activity reminders 
[2026-04-19 15:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:43] [INFO] Checking activity reminders 
[2026-04-19 15:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:52] [INFO] Checking activity reminders 
[2026-04-19 15:10:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:10:56] [INFO] Checking activity reminders 
[2026-04-19 15:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:11:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-19 15:11:14] [INFO] Checking activity reminders 
[2026-04-19 15:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:11:44] [INFO] Checking activity reminders 
[2026-04-19 15:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:11:45] [INFO] Checking activity reminders 
[2026-04-19 15:11:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:11:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:12:08] [INFO] Checking activity reminders 
[2026-04-19 15:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:12:14] [INFO] Checking activity reminders 
[2026-04-19 15:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:12:44] [INFO] Checking activity reminders 
[2026-04-19 15:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:13:09] [INFO] Checking activity reminders 
[2026-04-19 15:13:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:13:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:13:14] [INFO] Checking activity reminders 
[2026-04-19 15:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:13:44] [INFO] Checking activity reminders 
[2026-04-19 15:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:13:48] [INFO] Checking activity reminders 
[2026-04-19 15:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:13:57] [INFO] Checking activity reminders 
[2026-04-19 15:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:14:12] [INFO] Checking activity reminders 
[2026-04-19 15:14:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:14:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:14:14] [INFO] Checking activity reminders 
[2026-04-19 15:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:14:18] [INFO] Checking activity reminders 
[2026-04-19 15:14:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:14:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:14:34] [INFO] Checking activity reminders 
[2026-04-19 15:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:14:44] [INFO] Checking activity reminders 
[2026-04-19 15:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:15:07] [INFO] Checking activity reminders 
[2026-04-19 15:15:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:15:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:15:14] [INFO] Checking activity reminders 
[2026-04-19 15:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:15:24] [INFO] Checking activity reminders 
[2026-04-19 15:15:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:15:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:15:45] [INFO] Checking activity reminders 
[2026-04-19 15:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:16:15] [INFO] Checking activity reminders 
[2026-04-19 15:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:16:45] [INFO] Checking activity reminders 
[2026-04-19 15:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:17:14] [INFO] Checking activity reminders 
[2026-04-19 15:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:17:15] [INFO] Checking activity reminders 
[2026-04-19 15:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:17:39] [INFO] Checking activity reminders 
[2026-04-19 15:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:17:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"869","person_id":"1754"}
[2026-04-19 15:17:45] [INFO] Checking activity reminders 
[2026-04-19 15:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:18:09] [INFO] Checking activity reminders 
[2026-04-19 15:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:18:15] [INFO] Checking activity reminders 
[2026-04-19 15:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:18:29] [INFO] Checking activity reminders 
[2026-04-19 15:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:18:45] [INFO] Checking activity reminders 
[2026-04-19 15:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:18:59] [INFO] Checking activity reminders 
[2026-04-19 15:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:19:15] [INFO] Checking activity reminders 
[2026-04-19 15:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:19:35] [INFO] Checking activity reminders 
[2026-04-19 15:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:19:45] [INFO] Checking activity reminders 
[2026-04-19 15:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:20:16] [INFO] Checking activity reminders 
[2026-04-19 15:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:20:34] [INFO] Checking activity reminders 
[2026-04-19 15:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:20:46] [INFO] Checking activity reminders 
[2026-04-19 15:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:20:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-19 15:21:00] [INFO] Checking activity reminders 
[2026-04-19 15:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:21:16] [INFO] Checking activity reminders 
[2026-04-19 15:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:21:36] [INFO] Checking activity reminders 
[2026-04-19 15:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:21:46] [INFO] Checking activity reminders 
[2026-04-19 15:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:22:16] [INFO] Checking activity reminders 
[2026-04-19 15:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:22:18] [INFO] Checking activity reminders 
[2026-04-19 15:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:22:46] [INFO] Checking activity reminders 
[2026-04-19 15:22:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:22:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:23:16] [INFO] Checking activity reminders 
[2026-04-19 15:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:23:46] [INFO] Checking activity reminders 
[2026-04-19 15:23:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:23:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:24:17] [INFO] Checking activity reminders 
[2026-04-19 15:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:24:30] [INFO] Checking activity reminders 
[2026-04-19 15:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:24:47] [INFO] Checking activity reminders 
[2026-04-19 15:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:25:25] [INFO] Checking activity reminders 
[2026-04-19 15:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:25:58] [INFO] Checking activity reminders 
[2026-04-19 15:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:30:02] [INFO] Checking activity reminders 
[2026-04-19 15:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"869","person_id":"1754"}
[2026-04-19 15:30:25] [INFO] Checking activity reminders 
[2026-04-19 15:30:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:30:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:30:32] [INFO] Checking activity reminders 
[2026-04-19 15:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:30:55] [INFO] Checking activity reminders 
[2026-04-19 15:30:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:30:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:31:22] [INFO] Checking activity reminders 
[2026-04-19 15:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:31:25] [INFO] Checking activity reminders 
[2026-04-19 15:31:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:31:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:31:55] [INFO] Checking activity reminders 
[2026-04-19 15:31:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:31:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:32:02] [INFO] Checking activity reminders 
[2026-04-19 15:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:32:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-19 15:32:26] [INFO] Checking activity reminders 
[2026-04-19 15:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:32:56] [INFO] Checking activity reminders 
[2026-04-19 15:32:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:32:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:33:26] [INFO] Checking activity reminders 
[2026-04-19 15:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:33:56] [INFO] Checking activity reminders 
[2026-04-19 15:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:34:26] [INFO] Checking activity reminders 
[2026-04-19 15:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:34:56] [INFO] Checking activity reminders 
[2026-04-19 15:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:35:26] [INFO] Checking activity reminders 
[2026-04-19 15:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:35:56] [INFO] Checking activity reminders 
[2026-04-19 15:35:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:35:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:36:26] [INFO] Checking activity reminders 
[2026-04-19 15:36:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:36:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:36:56] [INFO] Checking activity reminders 
[2026-04-19 15:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:37:27] [INFO] Checking activity reminders 
[2026-04-19 15:37:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:37:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:37:48] [INFO] Checking activity reminders 
[2026-04-19 15:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:37:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:38:18] [INFO] Checking activity reminders 
[2026-04-19 15:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:38:49] [INFO] Checking activity reminders 
[2026-04-19 15:38:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:38:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:39:19] [INFO] Checking activity reminders 
[2026-04-19 15:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:39:49] [INFO] Checking activity reminders 
[2026-04-19 15:39:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:39:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:40:19] [INFO] Checking activity reminders 
[2026-04-19 15:40:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:40:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:40:31] [INFO] Checking activity reminders 
[2026-04-19 15:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:40:35] [INFO] Checking activity reminders 
[2026-04-19 15:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:40:49] [INFO] Checking activity reminders 
[2026-04-19 15:40:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:40:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:41:10] [INFO] Checking activity reminders 
[2026-04-19 15:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:41:19] [INFO] Checking activity reminders 
[2026-04-19 15:41:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:41:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:41:46] [INFO] Checking activity reminders 
[2026-04-19 15:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:41:46] [INFO] Checking activity reminders 
[2026-04-19 15:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:41:50] [INFO] Checking activity reminders 
[2026-04-19 15:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:11] [INFO] Checking activity reminders 
[2026-04-19 15:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:16] [INFO] Checking activity reminders 
[2026-04-19 15:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:16] [INFO] Checking activity reminders 
[2026-04-19 15:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:20] [INFO] Checking activity reminders 
[2026-04-19 15:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:46] [INFO] Checking activity reminders 
[2026-04-19 15:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:50] [INFO] Checking activity reminders 
[2026-04-19 15:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:42:58] [INFO] Activity save request {"post_data":{"contact_id":"6392","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مغازه نزده \/ سیار کار خودرو و کارشناسی و خرید و فروش \r\nخودرو  که با سوخت گازوییل کار میکنه خریده \/ 50 میلیون درمیاره \r\nخانه داره میسازه \r\nدنا پلاس و کوییک خریده \r\nپرزنت 6 ماهه و یکساله کانال \r\nارسال لینک عمومی کانال در بله \r\n","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 15:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:42:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 15:42:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 15:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:42:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6392","note_was_empty":true}
[2026-04-19 15:42:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"6392","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 15:42:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4c6ca59f8c5.83827515","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 15:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:42:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4c6ca59f8c5.83827515"}
[2026-04-19 15:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:42:58] [INFO] Updating virtual stage {"contact_id":"6392","stage_name":"deal_registered","force":false}
[2026-04-19 15:42:58] [INFO] Virtual stage successfully saved {"contact_id":"6392","stage_name":"deal_registered"}
[2026-04-19 15:42:58] [INFO] Virtual stage updated after activity save {"contact_id":"6392"}
[2026-04-19 15:42:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6392","person_id":"13720"}
[2026-04-19 15:43:16] [INFO] Checking activity reminders 
[2026-04-19 15:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:43:20] [INFO] Checking activity reminders 
[2026-04-19 15:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:43:46] [INFO] Checking activity reminders 
[2026-04-19 15:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:43:50] [INFO] Checking activity reminders 
[2026-04-19 15:43:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:43:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:44:20] [INFO] Checking activity reminders 
[2026-04-19 15:44:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:44:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:44:50] [INFO] Checking activity reminders 
[2026-04-19 15:44:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:44:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:45:20] [INFO] Checking activity reminders 
[2026-04-19 15:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:45:50] [INFO] Checking activity reminders 
[2026-04-19 15:45:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:45:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:46:20] [INFO] Checking activity reminders 
[2026-04-19 15:46:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:46:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:46:50] [INFO] Checking activity reminders 
[2026-04-19 15:46:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:46:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:47:20] [INFO] Checking activity reminders 
[2026-04-19 15:47:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:47:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:47:50] [INFO] Checking activity reminders 
[2026-04-19 15:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:48:21] [INFO] Checking activity reminders 
[2026-04-19 15:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:48:51] [INFO] Checking activity reminders 
[2026-04-19 15:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:49:15] [INFO] Checking activity reminders 
[2026-04-19 15:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:49:21] [INFO] Checking activity reminders 
[2026-04-19 15:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:49:28] [INFO] Checking activity reminders 
[2026-04-19 15:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:49:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-19 15:49:45] [INFO] Checking activity reminders 
[2026-04-19 15:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:49:51] [INFO] Checking activity reminders 
[2026-04-19 15:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:50:15] [INFO] Checking activity reminders 
[2026-04-19 15:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:50:21] [INFO] Checking activity reminders 
[2026-04-19 15:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:50:45] [INFO] Checking activity reminders 
[2026-04-19 15:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:50:51] [INFO] Checking activity reminders 
[2026-04-19 15:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:15] [INFO] Checking activity reminders 
[2026-04-19 15:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:21] [INFO] Checking activity reminders 
[2026-04-19 15:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:21] [INFO] Checking activity reminders 
[2026-04-19 15:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:43] [INFO] Checking activity reminders 
[2026-04-19 15:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:51] [INFO] Checking activity reminders 
[2026-04-19 15:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:51:54] [INFO] Checking activity reminders 
[2026-04-19 15:51:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:51:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:52:10] [INFO] Checking activity reminders 
[2026-04-19 15:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:52:18] [INFO] Checking activity reminders 
[2026-04-19 15:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:52:21] [INFO] Checking activity reminders 
[2026-04-19 15:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:52:51] [INFO] Checking activity reminders 
[2026-04-19 15:52:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:52:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:53:21] [INFO] Checking activity reminders 
[2026-04-19 15:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:53:51] [INFO] Checking activity reminders 
[2026-04-19 15:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:54:21] [INFO] Checking activity reminders 
[2026-04-19 15:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:54:51] [INFO] Checking activity reminders 
[2026-04-19 15:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:55:22] [INFO] Checking activity reminders 
[2026-04-19 15:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:55:52] [INFO] Checking activity reminders 
[2026-04-19 15:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:56:15] [INFO] Checking activity reminders 
[2026-04-19 15:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:56:22] [INFO] Checking activity reminders 
[2026-04-19 15:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:56:31] [INFO] Checking activity reminders 
[2026-04-19 15:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:56:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15043","person_id":"12838"}
[2026-04-19 15:56:52] [INFO] Checking activity reminders 
[2026-04-19 15:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:56:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21299","person_id":"135"}
[2026-04-19 15:57:22] [INFO] Checking activity reminders 
[2026-04-19 15:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:57:52] [INFO] Checking activity reminders 
[2026-04-19 15:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:08] [INFO] Checking activity reminders 
[2026-04-19 15:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:10] [INFO] Checking activity reminders 
[2026-04-19 15:58:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:13] [INFO] Checking activity reminders 
[2026-04-19 15:58:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:16] [INFO] Checking activity reminders 
[2026-04-19 15:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:20] [INFO] Checking activity reminders 
[2026-04-19 15:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:27] [INFO] Checking activity reminders 
[2026-04-19 15:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:32] [INFO] Checking activity reminders 
[2026-04-19 15:58:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:36] [INFO] Checking activity reminders 
[2026-04-19 15:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:40] [INFO] Checking activity reminders 
[2026-04-19 15:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:40] [INFO] Checking activity reminders 
[2026-04-19 15:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:58:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-19 15:58:51] [INFO] Checking activity reminders 
[2026-04-19 15:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:59:10] [INFO] Checking activity reminders 
[2026-04-19 15:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:59:13] [INFO] Checking activity reminders 
[2026-04-19 15:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:59:40] [INFO] Checking activity reminders 
[2026-04-19 15:59:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:59:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 15:59:56] [INFO] Checking activity reminders 
[2026-04-19 15:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 15:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:00:10] [INFO] Checking activity reminders 
[2026-04-19 16:00:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:00:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:00:40] [INFO] Checking activity reminders 
[2026-04-19 16:00:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:00:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:00:47] [INFO] Checking activity reminders 
[2026-04-19 16:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:01:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:01:17] [INFO] Checking activity reminders 
[2026-04-19 16:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:01:28] [INFO] Checking activity reminders 
[2026-04-19 16:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:01:47] [INFO] Checking activity reminders 
[2026-04-19 16:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:02:17] [INFO] Checking activity reminders 
[2026-04-19 16:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:02:45] [INFO] Checking activity reminders 
[2026-04-19 16:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:02:47] [INFO] Checking activity reminders 
[2026-04-19 16:02:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:02:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:03:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-19 16:03:17] [INFO] Checking activity reminders 
[2026-04-19 16:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:03:47] [INFO] Checking activity reminders 
[2026-04-19 16:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:03:58] [INFO] Checking activity reminders 
[2026-04-19 16:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:04:17] [INFO] Checking activity reminders 
[2026-04-19 16:04:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:04:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:04:47] [INFO] Checking activity reminders 
[2026-04-19 16:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:04:50] [INFO] Checking activity reminders 
[2026-04-19 16:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:05:17] [INFO] Checking activity reminders 
[2026-04-19 16:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:05:47] [INFO] Checking activity reminders 
[2026-04-19 16:05:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:05:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:06:18] [INFO] Checking activity reminders 
[2026-04-19 16:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:06:32] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"log_client_event"}
[2026-04-19 16:06:33] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-19 16:06:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 16:06:48] [INFO] Checking activity reminders 
[2026-04-19 16:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:07:18] [INFO] Checking activity reminders 
[2026-04-19 16:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:07:48] [INFO] Checking activity reminders 
[2026-04-19 16:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:07:59] [INFO] Checking activity reminders 
[2026-04-19 16:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:08:18] [INFO] Checking activity reminders 
[2026-04-19 16:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:08:48] [INFO] Checking activity reminders 
[2026-04-19 16:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:09:18] [INFO] Checking activity reminders 
[2026-04-19 16:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:09:48] [INFO] Checking activity reminders 
[2026-04-19 16:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:09:49] [INFO] Activity save request {"post_data":{"contact_id":"20719","deal_id":"local_699b29aa1b9b11.53311677","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تا 2\/3 تسویه میکنه \r\nارسال شماره کارت در بله ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:09:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 16:09:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:09:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20719","note_was_empty":true}
[2026-04-19 16:09:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"20719","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:09:49] [INFO] Updating virtual stage {"contact_id":"20719","stage_name":"deal_registered","force":false}
[2026-04-19 16:09:49] [INFO] Virtual stage successfully saved {"contact_id":"20719","stage_name":"deal_registered"}
[2026-04-19 16:09:49] [INFO] Virtual stage updated after activity save {"contact_id":"20719"}
[2026-04-19 16:09:49] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699b29aa1b9b11.53311677","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 16:09:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4cd15d8d657.82220611","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:09:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4cd15d8d657.82220611"}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:09:49] [INFO] Updating virtual stage {"contact_id":"20719","stage_name":"deal_registered","force":false}
[2026-04-19 16:09:49] [INFO] Virtual stage successfully saved {"contact_id":"20719","stage_name":"deal_registered"}
[2026-04-19 16:09:49] [INFO] Virtual stage updated after activity save {"contact_id":"20719"}
[2026-04-19 16:09:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-19 16:10:18] [INFO] Checking activity reminders 
[2026-04-19 16:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:10:43] [INFO] Checking activity reminders 
[2026-04-19 16:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:10:48] [INFO] Checking activity reminders 
[2026-04-19 16:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:11:19] [INFO] Checking activity reminders 
[2026-04-19 16:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:11:49] [INFO] Checking activity reminders 
[2026-04-19 16:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:12:19] [INFO] Checking activity reminders 
[2026-04-19 16:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:12:49] [INFO] Checking activity reminders 
[2026-04-19 16:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:13:19] [INFO] Checking activity reminders 
[2026-04-19 16:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:13:49] [INFO] Checking activity reminders 
[2026-04-19 16:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:14:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:14:19] [INFO] Checking activity reminders 
[2026-04-19 16:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:14:49] [INFO] Checking activity reminders 
[2026-04-19 16:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:15:19] [INFO] Checking activity reminders 
[2026-04-19 16:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:15:49] [INFO] Checking activity reminders 
[2026-04-19 16:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:16:19] [INFO] Checking activity reminders 
[2026-04-19 16:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:16:32] [INFO] Activity save request {"post_data":{"contact_id":"1250","deal_id":"local_69d0a02f2cd1f3.79786452","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\nپیامک بیپاسخ \r\nکلا یا جواب نمیده یا رد تماس میزنه ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 16:16:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1250","note_was_empty":true}
[2026-04-19 16:16:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"1250","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:32] [INFO] Updating virtual stage {"contact_id":"1250","stage_name":"deal_registered","force":false}
[2026-04-19 16:16:32] [INFO] Virtual stage successfully saved {"contact_id":"1250","stage_name":"deal_registered"}
[2026-04-19 16:16:32] [INFO] Virtual stage updated after activity save {"contact_id":"1250"}
[2026-04-19 16:16:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a02f2cd1f3.79786452","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-19 16:16:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4cea81510f0.45113178","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4cea81510f0.45113178"}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:32] [INFO] Updating virtual stage {"contact_id":"1250","stage_name":"deal_registered","force":false}
[2026-04-19 16:16:32] [INFO] Virtual stage successfully saved {"contact_id":"1250","stage_name":"deal_registered"}
[2026-04-19 16:16:32] [INFO] Virtual stage updated after activity save {"contact_id":"1250"}
[2026-04-19 16:16:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-19 16:16:49] [INFO] Checking activity reminders 
[2026-04-19 16:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:17:20] [INFO] Checking activity reminders 
[2026-04-19 16:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:17:39] [INFO] Checking activity reminders 
[2026-04-19 16:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:17:41] [INFO] Checking activity reminders 
[2026-04-19 16:17:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:17:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:18:00] [INFO] Checking activity reminders 
[2026-04-19 16:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:18:11] [INFO] Checking activity reminders 
[2026-04-19 16:18:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:18:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:18:30] [INFO] Checking activity reminders 
[2026-04-19 16:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:18:41] [INFO] Checking activity reminders 
[2026-04-19 16:18:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:18:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:18:57] [INFO] Checking activity reminders 
[2026-04-19 16:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:19:11] [INFO] Checking activity reminders 
[2026-04-19 16:19:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:19:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:19:42] [INFO] Checking activity reminders 
[2026-04-19 16:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:19:49] [INFO] Checking activity reminders 
[2026-04-19 16:19:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:19:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:20:01] [INFO] Checking activity reminders 
[2026-04-19 16:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:20:12] [INFO] Checking activity reminders 
[2026-04-19 16:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-19 16:20:28] [INFO] Checking activity reminders 
[2026-04-19 16:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:20:42] [INFO] Checking activity reminders 
[2026-04-19 16:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:21:12] [INFO] Checking activity reminders 
[2026-04-19 16:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:21:35] [INFO] Checking activity reminders 
[2026-04-19 16:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:21:42] [INFO] Checking activity reminders 
[2026-04-19 16:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:22:05] [INFO] Checking activity reminders 
[2026-04-19 16:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:22:09] [INFO] Checking activity reminders 
[2026-04-19 16:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:22:12] [INFO] Checking activity reminders 
[2026-04-19 16:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:22:39] [INFO] Checking activity reminders 
[2026-04-19 16:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:22:42] [INFO] Checking activity reminders 
[2026-04-19 16:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:23:10] [INFO] Checking activity reminders 
[2026-04-19 16:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:23:12] [INFO] Checking activity reminders 
[2026-04-19 16:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:23:42] [INFO] Checking activity reminders 
[2026-04-19 16:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:24:12] [INFO] Checking activity reminders 
[2026-04-19 16:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:24:23] [INFO] Activity save request {"post_data":{"contact_id":"20800","deal_id":"local_69d6933d014915.70196777","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 16:24:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20800","note_was_empty":true}
[2026-04-19 16:24:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"20800","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:23] [INFO] Updating virtual stage {"contact_id":"20800","stage_name":"deal_registered","force":false}
[2026-04-19 16:24:23] [INFO] Virtual stage successfully saved {"contact_id":"20800","stage_name":"deal_registered"}
[2026-04-19 16:24:23] [INFO] Virtual stage updated after activity save {"contact_id":"20800"}
[2026-04-19 16:24:23] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6933d014915.70196777","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-19 16:24:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4d07fcd8481.19291508","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4d07fcd8481.19291508"}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:23] [INFO] Updating virtual stage {"contact_id":"20800","stage_name":"deal_registered","force":false}
[2026-04-19 16:24:23] [INFO] Virtual stage successfully saved {"contact_id":"20800","stage_name":"deal_registered"}
[2026-04-19 16:24:23] [INFO] Virtual stage updated after activity save {"contact_id":"20800"}
[2026-04-19 16:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20800","person_id":"9481"}
[2026-04-19 16:24:43] [INFO] Checking activity reminders 
[2026-04-19 16:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:13] [INFO] Checking activity reminders 
[2026-04-19 16:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:15] [INFO] Checking activity reminders 
[2026-04-19 16:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d75837d1b549.28151894","person_id":"22092"}
[2026-04-19 16:25:43] [INFO] Checking activity reminders 
[2026-04-19 16:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:45] [INFO] Checking activity reminders 
[2026-04-19 16:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:53] [INFO] Checking activity reminders 
[2026-04-19 16:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:25:58] [INFO] Checking activity reminders 
[2026-04-19 16:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:26:13] [INFO] Checking activity reminders 
[2026-04-19 16:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:26:43] [INFO] Checking activity reminders 
[2026-04-19 16:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:27:13] [INFO] Checking activity reminders 
[2026-04-19 16:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:27:43] [INFO] Checking activity reminders 
[2026-04-19 16:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:28:09] [INFO] Checking activity reminders 
[2026-04-19 16:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 16:28:13] [INFO] Checking activity reminders 
[2026-04-19 16:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:28:43] [INFO] Checking activity reminders 
[2026-04-19 16:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:29:10] [INFO] Checking activity reminders 
[2026-04-19 16:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:29:13] [INFO] Checking activity reminders 
[2026-04-19 16:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:29:43] [INFO] Checking activity reminders 
[2026-04-19 16:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:29:48] [INFO] Checking activity reminders 
[2026-04-19 16:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:30:14] [INFO] Checking activity reminders 
[2026-04-19 16:30:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:30:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:30:20] [INFO] Checking activity reminders 
[2026-04-19 16:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:30:43] [INFO] Checking activity reminders 
[2026-04-19 16:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:30:44] [INFO] Checking activity reminders 
[2026-04-19 16:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:30:53] [INFO] Checking activity reminders 
[2026-04-19 16:30:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:30:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:31:14] [INFO] Checking activity reminders 
[2026-04-19 16:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:31:17] [INFO] Checking activity reminders 
[2026-04-19 16:31:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:31:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:31:33] [INFO] Checking activity reminders 
[2026-04-19 16:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:31:44] [INFO] Checking activity reminders 
[2026-04-19 16:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:32:14] [INFO] Checking activity reminders 
[2026-04-19 16:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:32:44] [INFO] Checking activity reminders 
[2026-04-19 16:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:33:11] [INFO] Checking activity reminders 
[2026-04-19 16:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:33:15] [INFO] Checking activity reminders 
[2026-04-19 16:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:33:45] [INFO] Checking activity reminders 
[2026-04-19 16:33:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:33:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:34:15] [INFO] Checking activity reminders 
[2026-04-19 16:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:34:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 16:34:36] [INFO] Checking activity reminders 
[2026-04-19 16:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:34:45] [INFO] Checking activity reminders 
[2026-04-19 16:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:34:45] [INFO] Checking activity reminders 
[2026-04-19 16:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:34:56] [INFO] Checking activity reminders 
[2026-04-19 16:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:35:03] [INFO] Checking activity reminders 
[2026-04-19 16:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:35:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-19 16:35:15] [INFO] Checking activity reminders 
[2026-04-19 16:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:35:45] [INFO] Checking activity reminders 
[2026-04-19 16:35:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:35:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:36:03] [INFO] Checking activity reminders 
[2026-04-19 16:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:36:15] [INFO] Checking activity reminders 
[2026-04-19 16:36:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:36:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:36:45] [INFO] Checking activity reminders 
[2026-04-19 16:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:37:11] [INFO] Checking activity reminders 
[2026-04-19 16:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:37:15] [INFO] Checking activity reminders 
[2026-04-19 16:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:37:28] [INFO] Checking activity reminders 
[2026-04-19 16:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:37:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-19 16:37:45] [INFO] Checking activity reminders 
[2026-04-19 16:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:38:15] [INFO] Checking activity reminders 
[2026-04-19 16:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:38:26] [INFO] Checking activity reminders 
[2026-04-19 16:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:38:45] [INFO] Checking activity reminders 
[2026-04-19 16:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:39:16] [INFO] Checking activity reminders 
[2026-04-19 16:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:39:42] [WARNING] Auth check failed - not authenticated {"session_id":"nua7lnie5kk9jev779k0ledejm","session_keys":[],"action":"log_client_event"}
[2026-04-19 16:39:43] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-19 16:39:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 16:39:46] [INFO] Checking activity reminders 
[2026-04-19 16:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:40:13] [INFO] Checking activity reminders 
[2026-04-19 16:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:40:16] [INFO] Checking activity reminders 
[2026-04-19 16:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:40:46] [INFO] Checking activity reminders 
[2026-04-19 16:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:40:47] [INFO] Checking activity reminders 
[2026-04-19 16:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:41:16] [INFO] Checking activity reminders 
[2026-04-19 16:41:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:41:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:41:18] [INFO] Checking activity reminders 
[2026-04-19 16:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:41:46] [INFO] Checking activity reminders 
[2026-04-19 16:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:41:48] [INFO] Checking activity reminders 
[2026-04-19 16:41:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:41:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:42:16] [INFO] Checking activity reminders 
[2026-04-19 16:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:42:18] [INFO] Checking activity reminders 
[2026-04-19 16:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:42:46] [INFO] Checking activity reminders 
[2026-04-19 16:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:42:48] [INFO] Checking activity reminders 
[2026-04-19 16:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:43:16] [INFO] Checking activity reminders 
[2026-04-19 16:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:43:18] [INFO] Checking activity reminders 
[2026-04-19 16:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 16:43:46] [INFO] Checking activity reminders 
[2026-04-19 16:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:43:48] [INFO] Checking activity reminders 
[2026-04-19 16:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:44:16] [INFO] Checking activity reminders 
[2026-04-19 16:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:44:18] [INFO] Checking activity reminders 
[2026-04-19 16:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:44:47] [INFO] Checking activity reminders 
[2026-04-19 16:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:44:48] [INFO] Checking activity reminders 
[2026-04-19 16:44:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:44:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:45:18] [INFO] Checking activity reminders 
[2026-04-19 16:45:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:45:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:45:48] [INFO] Checking activity reminders 
[2026-04-19 16:45:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:45:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:46:18] [INFO] Checking activity reminders 
[2026-04-19 16:46:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:46:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:46:49] [INFO] Checking activity reminders 
[2026-04-19 16:46:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:46:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:47:19] [INFO] Checking activity reminders 
[2026-04-19 16:47:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:47:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:47:49] [INFO] Checking activity reminders 
[2026-04-19 16:47:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:47:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:48:19] [INFO] Checking activity reminders 
[2026-04-19 16:48:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:48:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:49:43] [INFO] Checking activity reminders 
[2026-04-19 16:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:50:13] [INFO] Checking activity reminders 
[2026-04-19 16:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:50:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 16:50:43] [INFO] Checking activity reminders 
[2026-04-19 16:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:51:31] [INFO] Checking activity reminders 
[2026-04-19 16:51:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:51:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:51:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 16:52:15] [INFO] Checking activity reminders 
[2026-04-19 16:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:52:45] [INFO] Checking activity reminders 
[2026-04-19 16:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:53:16] [INFO] Checking activity reminders 
[2026-04-19 16:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:53:46] [INFO] Checking activity reminders 
[2026-04-19 16:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:54:08] [INFO] Checking activity reminders 
[2026-04-19 16:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:54:16] [INFO] Checking activity reminders 
[2026-04-19 16:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:54:38] [INFO] Checking activity reminders 
[2026-04-19 16:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:54:46] [INFO] Checking activity reminders 
[2026-04-19 16:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:55:08] [INFO] Checking activity reminders 
[2026-04-19 16:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:55:16] [INFO] Checking activity reminders 
[2026-04-19 16:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:55:38] [INFO] Checking activity reminders 
[2026-04-19 16:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:55:46] [INFO] Checking activity reminders 
[2026-04-19 16:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:56:08] [INFO] Checking activity reminders 
[2026-04-19 16:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:56:16] [INFO] Checking activity reminders 
[2026-04-19 16:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:56:38] [INFO] Checking activity reminders 
[2026-04-19 16:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:56:46] [INFO] Checking activity reminders 
[2026-04-19 16:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:57:08] [INFO] Checking activity reminders 
[2026-04-19 16:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:57:16] [INFO] Checking activity reminders 
[2026-04-19 16:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:57:38] [INFO] Checking activity reminders 
[2026-04-19 16:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:57:46] [INFO] Checking activity reminders 
[2026-04-19 16:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:58:16] [INFO] Checking activity reminders 
[2026-04-19 16:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:58:46] [INFO] Checking activity reminders 
[2026-04-19 16:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:59:17] [INFO] Checking activity reminders 
[2026-04-19 16:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 16:59:47] [INFO] Checking activity reminders 
[2026-04-19 16:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 16:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:00:17] [INFO] Checking activity reminders 
[2026-04-19 17:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:00:47] [INFO] Checking activity reminders 
[2026-04-19 17:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:01:17] [INFO] Checking activity reminders 
[2026-04-19 17:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:01:47] [INFO] Checking activity reminders 
[2026-04-19 17:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:02:17] [INFO] Checking activity reminders 
[2026-04-19 17:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:02:27] [INFO] Checking activity reminders 
[2026-04-19 17:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:02:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:02:57] [INFO] Checking activity reminders 
[2026-04-19 17:02:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:02:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:03:27] [INFO] Checking activity reminders 
[2026-04-19 17:03:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:03:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:03:57] [INFO] Checking activity reminders 
[2026-04-19 17:03:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:03:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:04:27] [INFO] Checking activity reminders 
[2026-04-19 17:04:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:04:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:04:58] [INFO] Checking activity reminders 
[2026-04-19 17:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:05:28] [INFO] Checking activity reminders 
[2026-04-19 17:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:05:58] [INFO] Checking activity reminders 
[2026-04-19 17:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:06:28] [INFO] Checking activity reminders 
[2026-04-19 17:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:06:58] [INFO] Checking activity reminders 
[2026-04-19 17:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:07:28] [INFO] Checking activity reminders 
[2026-04-19 17:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:07:58] [INFO] Checking activity reminders 
[2026-04-19 17:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_products"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:07:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:01] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:01] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:01] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-19 17:08:01] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:02] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:11] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:08:11] [INFO] Master password used for login {"user_id":"1","identifier":"خانم توانا","role":"agent"}
[2026-04-19 17:08:11] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":true}
[2026-04-19 17:08:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 17:08:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:08:28] [INFO] Checking activity reminders 
[2026-04-19 17:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:08:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:08:41] [INFO] Checking activity reminders 
[2026-04-19 17:08:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:08:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:08:58] [INFO] Checking activity reminders 
[2026-04-19 17:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:08:59] [INFO] Checking activity reminders 
[2026-04-19 17:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:09:12] [INFO] Checking activity reminders 
[2026-04-19 17:09:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:09:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:09:28] [INFO] Checking activity reminders 
[2026-04-19 17:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:09:47] [INFO] Checking activity reminders 
[2026-04-19 17:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:09:58] [INFO] Checking activity reminders 
[2026-04-19 17:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:10:28] [INFO] Checking activity reminders 
[2026-04-19 17:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:10:58] [INFO] Checking activity reminders 
[2026-04-19 17:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:11:28] [INFO] Checking activity reminders 
[2026-04-19 17:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:11:59] [INFO] Checking activity reminders 
[2026-04-19 17:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:12:29] [INFO] Checking activity reminders 
[2026-04-19 17:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:12:30] [INFO] Checking activity reminders 
[2026-04-19 17:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:12:59] [INFO] Checking activity reminders 
[2026-04-19 17:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:13:00] [INFO] Checking activity reminders 
[2026-04-19 17:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:13:29] [INFO] Checking activity reminders 
[2026-04-19 17:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:13:30] [INFO] Checking activity reminders 
[2026-04-19 17:13:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:13:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:13:59] [INFO] Checking activity reminders 
[2026-04-19 17:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:14:00] [INFO] Checking activity reminders 
[2026-04-19 17:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:14:29] [INFO] Checking activity reminders 
[2026-04-19 17:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:14:31] [INFO] Checking activity reminders 
[2026-04-19 17:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:14:59] [INFO] Checking activity reminders 
[2026-04-19 17:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:15:01] [INFO] Checking activity reminders 
[2026-04-19 17:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:15:29] [INFO] Checking activity reminders 
[2026-04-19 17:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:15:31] [INFO] Checking activity reminders 
[2026-04-19 17:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:15:59] [INFO] Checking activity reminders 
[2026-04-19 17:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:16:01] [INFO] Checking activity reminders 
[2026-04-19 17:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:16:16] [INFO] Checking activity reminders 
[2026-04-19 17:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:16:22] [INFO] Checking activity reminders 
[2026-04-19 17:16:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:16:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:16:29] [INFO] Checking activity reminders 
[2026-04-19 17:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:16:31] [INFO] Checking activity reminders 
[2026-04-19 17:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:17:00] [INFO] Checking activity reminders 
[2026-04-19 17:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:17:01] [INFO] Checking activity reminders 
[2026-04-19 17:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:17:30] [INFO] Checking activity reminders 
[2026-04-19 17:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:17:31] [INFO] Checking activity reminders 
[2026-04-19 17:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:18:00] [INFO] Checking activity reminders 
[2026-04-19 17:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:18:01] [INFO] Checking activity reminders 
[2026-04-19 17:18:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:18:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:18:30] [INFO] Checking activity reminders 
[2026-04-19 17:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:18:31] [INFO] Checking activity reminders 
[2026-04-19 17:18:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:18:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:19:00] [INFO] Checking activity reminders 
[2026-04-19 17:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:19:01] [INFO] Checking activity reminders 
[2026-04-19 17:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:19:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:19:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:19:21] [INFO] generateDealTitle result {"contact_id":"21437","person_name":"رضا بازمانده","mobile":"9131922907","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9131922907"}
[2026-04-19 17:19:30] [INFO] Checking activity reminders 
[2026-04-19 17:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:19:31] [INFO] Checking activity reminders 
[2026-04-19 17:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:20:00] [INFO] Checking activity reminders 
[2026-04-19 17:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:20:01] [INFO] Checking activity reminders 
[2026-04-19 17:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:20:30] [INFO] Checking activity reminders 
[2026-04-19 17:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:20:32] [INFO] Checking activity reminders 
[2026-04-19 17:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:21:00] [INFO] Checking activity reminders 
[2026-04-19 17:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:21:02] [INFO] Checking activity reminders 
[2026-04-19 17:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:21:30] [INFO] Checking activity reminders 
[2026-04-19 17:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:21:31] [INFO] Activity save request {"post_data":{"contact_id":"21437","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پارسال پرزنت شده بود تو ذهنش بوده مجدد پرزنت\/ کانال 79ت \/ 2تا ماشین پژو پارس \/ محصولات پسته 2میلیارد \/ مغازه برای خودش زمین پشته برای خودش\/ \r\nگفت نمایشگاه بزنم با 5میلیارد گفتم فهلا کاری نکن بیا کانال سرمایه گذاری کن زمانش رسید بعد \r\nارسال ش کارت تا شب میزنه 29ت الباقی 50 ت رو اردیبهشت 20 تسویه نقدی","activity_duration":"20","direction":"incoming","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 17:21:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:21:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 17:21:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 17:21:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:21:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21437","note_was_empty":true}
[2026-04-19 17:21:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"21437","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 17:21:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4dde3f30317.59048079","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 17:21:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:21:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4dde3f30317.59048079"}
[2026-04-19 17:21:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:21:31] [INFO] Updating virtual stage {"contact_id":"21437","stage_name":"deal_registered","force":false}
[2026-04-19 17:21:32] [INFO] Virtual stage successfully saved {"contact_id":"21437","stage_name":"deal_registered"}
[2026-04-19 17:21:32] [INFO] Virtual stage updated after activity save {"contact_id":"21437"}
[2026-04-19 17:21:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-19 17:21:32] [INFO] Checking activity reminders 
[2026-04-19 17:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:22:00] [INFO] Checking activity reminders 
[2026-04-19 17:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:22:02] [INFO] Checking activity reminders 
[2026-04-19 17:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:22:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:22:30] [INFO] Checking activity reminders 
[2026-04-19 17:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:22:32] [INFO] Checking activity reminders 
[2026-04-19 17:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:22:47] [INFO] Checking activity reminders 
[2026-04-19 17:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:23:00] [INFO] Checking activity reminders 
[2026-04-19 17:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:23:02] [INFO] Checking activity reminders 
[2026-04-19 17:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:23:31] [INFO] Checking activity reminders 
[2026-04-19 17:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:23:32] [INFO] Checking activity reminders 
[2026-04-19 17:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:24:01] [INFO] Checking activity reminders 
[2026-04-19 17:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:24:02] [INFO] Checking activity reminders 
[2026-04-19 17:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:24:31] [INFO] Checking activity reminders 
[2026-04-19 17:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:24:32] [INFO] Checking activity reminders 
[2026-04-19 17:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:25:01] [INFO] Checking activity reminders 
[2026-04-19 17:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:25:02] [INFO] Checking activity reminders 
[2026-04-19 17:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:25:31] [INFO] Checking activity reminders 
[2026-04-19 17:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:25:33] [INFO] Checking activity reminders 
[2026-04-19 17:25:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:25:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:26:01] [INFO] Checking activity reminders 
[2026-04-19 17:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:26:03] [INFO] Checking activity reminders 
[2026-04-19 17:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:26:31] [INFO] Checking activity reminders 
[2026-04-19 17:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:26:33] [INFO] Checking activity reminders 
[2026-04-19 17:26:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:26:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:27:01] [INFO] Checking activity reminders 
[2026-04-19 17:27:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:27:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:27:03] [INFO] Checking activity reminders 
[2026-04-19 17:27:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:27:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:27:31] [INFO] Checking activity reminders 
[2026-04-19 17:27:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:27:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:27:33] [INFO] Checking activity reminders 
[2026-04-19 17:27:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:27:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:28:02] [INFO] Checking activity reminders 
[2026-04-19 17:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:28:03] [INFO] Checking activity reminders 
[2026-04-19 17:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:28:32] [INFO] Checking activity reminders 
[2026-04-19 17:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:28:33] [INFO] Checking activity reminders 
[2026-04-19 17:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:02] [INFO] Checking activity reminders 
[2026-04-19 17:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:03] [INFO] Checking activity reminders 
[2026-04-19 17:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:29] [INFO] Checking activity reminders 
[2026-04-19 17:29:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:32] [INFO] Checking activity reminders 
[2026-04-19 17:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:33] [INFO] Checking activity reminders 
[2026-04-19 17:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:29:41] [INFO] Checking activity reminders 
[2026-04-19 17:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:30:02] [INFO] Checking activity reminders 
[2026-04-19 17:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:30:04] [INFO] Checking activity reminders 
[2026-04-19 17:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:30:32] [INFO] Checking activity reminders 
[2026-04-19 17:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:30:34] [INFO] Checking activity reminders 
[2026-04-19 17:30:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:30:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:31:02] [INFO] Checking activity reminders 
[2026-04-19 17:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:31:04] [INFO] Checking activity reminders 
[2026-04-19 17:31:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:31:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:31:32] [INFO] Checking activity reminders 
[2026-04-19 17:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:31:34] [INFO] Checking activity reminders 
[2026-04-19 17:31:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:31:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:31:38] [INFO] Checking activity reminders 
[2026-04-19 17:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:32:02] [INFO] Checking activity reminders 
[2026-04-19 17:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:32:04] [INFO] Checking activity reminders 
[2026-04-19 17:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:32:32] [INFO] Checking activity reminders 
[2026-04-19 17:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:32:34] [INFO] Checking activity reminders 
[2026-04-19 17:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:32:41] [INFO] Checking activity reminders 
[2026-04-19 17:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:33:02] [INFO] Checking activity reminders 
[2026-04-19 17:33:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:33:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:33:11] [INFO] Checking activity reminders 
[2026-04-19 17:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:33:32] [INFO] Checking activity reminders 
[2026-04-19 17:33:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:33:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:33:41] [INFO] Checking activity reminders 
[2026-04-19 17:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:34:02] [INFO] Checking activity reminders 
[2026-04-19 17:34:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:34:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:34:11] [INFO] Checking activity reminders 
[2026-04-19 17:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:34:33] [INFO] Checking activity reminders 
[2026-04-19 17:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:34:41] [INFO] Checking activity reminders 
[2026-04-19 17:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:34:41] [INFO] Activity save request {"post_data":{"contact_id":"20466","deal_id":"local_69e0a595b361a1.06384647","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری میگه گرونه گفتم 6ماهه\/ بهونه میاره استاد سوال کسب و کار پرسیدم ج نداد \/ گفتم همه چیز باید بدونه بعد مشاوره حضوری باید بگیری\/ متقاعد کردم بخواد باشه قرار شد تا فردا قبل 11 اطلاع بده","activity_duration":"35","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:34:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 17:34:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:34:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20466","note_was_empty":true}
[2026-04-19 17:34:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"20466","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:34:41] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-19 17:34:41] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-19 17:34:41] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-19 17:34:41] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a595b361a1.06384647","stage":"تماس پیگیری","status_change":null}
[2026-04-19 17:34:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4e0f9912d61.64501433","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:34:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4e0f9912d61.64501433"}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:34:41] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-19 17:34:41] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-19 17:34:41] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-19 17:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-19 17:35:03] [INFO] Checking activity reminders 
[2026-04-19 17:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:35:33] [INFO] Checking activity reminders 
[2026-04-19 17:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:35:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:36:03] [INFO] Checking activity reminders 
[2026-04-19 17:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:36:33] [INFO] Checking activity reminders 
[2026-04-19 17:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:37:03] [INFO] Checking activity reminders 
[2026-04-19 17:37:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:37:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:37:33] [INFO] Checking activity reminders 
[2026-04-19 17:37:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:37:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:38:03] [INFO] Checking activity reminders 
[2026-04-19 17:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:38:33] [INFO] Checking activity reminders 
[2026-04-19 17:38:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:38:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:04] [INFO] Checking activity reminders 
[2026-04-19 17:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:17] [INFO] Activity save request {"post_data":{"contact_id":"790","deal_id":"local_69d0a80a342182.92404278","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"پیگیری ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 17:39:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"790","note_was_empty":true}
[2026-04-19 17:39:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"790","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:17] [INFO] Updating virtual stage {"contact_id":"790","stage_name":"deal_registered","force":false}
[2026-04-19 17:39:17] [INFO] Virtual stage successfully saved {"contact_id":"790","stage_name":"deal_registered"}
[2026-04-19 17:39:17] [INFO] Virtual stage updated after activity save {"contact_id":"790"}
[2026-04-19 17:39:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a80a342182.92404278","stage":"تماس پیگیری","status_change":null}
[2026-04-19 17:39:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4e20db1c755.84441326","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4e20db1c755.84441326"}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:17] [INFO] Updating virtual stage {"contact_id":"790","stage_name":"deal_registered","force":false}
[2026-04-19 17:39:17] [INFO] Virtual stage successfully saved {"contact_id":"790","stage_name":"deal_registered"}
[2026-04-19 17:39:17] [INFO] Virtual stage updated after activity save {"contact_id":"790"}
[2026-04-19 17:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-19 17:39:18] [INFO] Checking activity reminders 
[2026-04-19 17:39:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:23] [INFO] Checking activity reminders 
[2026-04-19 17:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:34] [INFO] Checking activity reminders 
[2026-04-19 17:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:41] [INFO] Activity save request {"post_data":{"contact_id":"14922","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"30 دقیقه مجدد مشاوره و ارزش خدمات \r\nهمش میگه من نوسان نمیگیرم \/ فقط از تحلیل و اخبار استاد میخوام استفاده کنم \r\nبهش میگم شما اطلاعات و امنیت سرمایه تون دارید تضمین میکنید \r\nمیگه شما خدمان 5 ماهه در نظر بگیرید با 20 تومان \/ تصمیم گیرنده من نیستم \r\nسیستم مالی و حسابداری \r\nمیگه من مشکل مالی ندارم ولی نمیخوام اینقدر هزینه کنم ","activity_duration":"30","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 17:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 17:39:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 17:39:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 17:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 17:39:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14922","note_was_empty":true}
[2026-04-19 17:39:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"14922","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 17:39:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4e2258c0593.05310618","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 17:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 17:39:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4e2258c0593.05310618"}
[2026-04-19 17:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 17:39:41] [INFO] Updating virtual stage {"contact_id":"14922","stage_name":"deal_registered","force":false}
[2026-04-19 17:39:41] [INFO] Virtual stage successfully saved {"contact_id":"14922","stage_name":"deal_registered"}
[2026-04-19 17:39:41] [INFO] Virtual stage updated after activity save {"contact_id":"14922"}
[2026-04-19 17:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-19 17:39:45] [INFO] Checking activity reminders 
[2026-04-19 17:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:39:46] [INFO] Checking activity reminders 
[2026-04-19 17:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:40:04] [INFO] Checking activity reminders 
[2026-04-19 17:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:40:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 17:40:17] [INFO] Checking activity reminders 
[2026-04-19 17:40:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:40:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:40:34] [INFO] Checking activity reminders 
[2026-04-19 17:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:40:47] [INFO] Checking activity reminders 
[2026-04-19 17:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:41:17] [INFO] Checking activity reminders 
[2026-04-19 17:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:41:27] [INFO] Checking activity reminders 
[2026-04-19 17:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:41:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:41:47] [INFO] Checking activity reminders 
[2026-04-19 17:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:41:58] [INFO] Checking activity reminders 
[2026-04-19 17:41:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:41:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:42:07] [INFO] Activity save request {"post_data":{"contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تسویه شد کانال","activity_duration":"3","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 17:42:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14373","note_was_empty":true}
[2026-04-19 17:42:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"14373","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:07] [INFO] Updating virtual stage {"contact_id":"14373","stage_name":"deal_registered","force":false}
[2026-04-19 17:42:07] [INFO] Virtual stage successfully saved {"contact_id":"14373","stage_name":"deal_registered"}
[2026-04-19 17:42:07] [INFO] Virtual stage updated after activity save {"contact_id":"14373"}
[2026-04-19 17:42:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b74104bfd1a1.18934610","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 17:42:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4e2b71115c4.61826636","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4e2b71115c4.61826636"}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:07] [INFO] Updating virtual stage {"contact_id":"14373","stage_name":"deal_registered","force":false}
[2026-04-19 17:42:07] [INFO] Virtual stage successfully saved {"contact_id":"14373","stage_name":"deal_registered"}
[2026-04-19 17:42:07] [INFO] Virtual stage updated after activity save {"contact_id":"14373"}
[2026-04-19 17:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:42:17] [INFO] Checking activity reminders 
[2026-04-19 17:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:42:28] [INFO] Checking activity reminders 
[2026-04-19 17:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:42:47] [INFO] Checking activity reminders 
[2026-04-19 17:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:42:58] [INFO] Checking activity reminders 
[2026-04-19 17:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:04] [INFO] Checking activity reminders 
[2026-04-19 17:43:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:17] [INFO] Checking activity reminders 
[2026-04-19 17:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:28] [INFO] Checking activity reminders 
[2026-04-19 17:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:32] [INFO] Checking activity reminders 
[2026-04-19 17:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 17:43:47] [INFO] Checking activity reminders 
[2026-04-19 17:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:43:58] [INFO] Checking activity reminders 
[2026-04-19 17:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:44:17] [INFO] Checking activity reminders 
[2026-04-19 17:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:44:28] [INFO] Checking activity reminders 
[2026-04-19 17:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:44:47] [INFO] Checking activity reminders 
[2026-04-19 17:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:44:58] [INFO] Checking activity reminders 
[2026-04-19 17:44:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:44:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:45:13] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:45:13] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"check_reminders"}
[2026-04-19 17:45:13] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"log_client_event"}
[2026-04-19 17:45:17] [INFO] Checking activity reminders 
[2026-04-19 17:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:45:28] [INFO] Checking activity reminders 
[2026-04-19 17:45:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:45:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:45:48] [INFO] Checking activity reminders 
[2026-04-19 17:45:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:45:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:45:58] [INFO] Checking activity reminders 
[2026-04-19 17:45:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:45:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:46:18] [INFO] Checking activity reminders 
[2026-04-19 17:46:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:46:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:46:28] [INFO] Checking activity reminders 
[2026-04-19 17:46:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:46:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:46:48] [INFO] Checking activity reminders 
[2026-04-19 17:46:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:46:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:46:58] [INFO] Checking activity reminders 
[2026-04-19 17:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:47:18] [INFO] Checking activity reminders 
[2026-04-19 17:47:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:47:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:47:28] [INFO] Checking activity reminders 
[2026-04-19 17:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:47:48] [INFO] Checking activity reminders 
[2026-04-19 17:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:47:58] [INFO] Checking activity reminders 
[2026-04-19 17:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:48:18] [INFO] Checking activity reminders 
[2026-04-19 17:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:48:29] [INFO] Checking activity reminders 
[2026-04-19 17:48:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:48:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:48:48] [INFO] Checking activity reminders 
[2026-04-19 17:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:48:59] [INFO] Checking activity reminders 
[2026-04-19 17:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:49:18] [INFO] Checking activity reminders 
[2026-04-19 17:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:49:29] [INFO] Checking activity reminders 
[2026-04-19 17:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:49:48] [INFO] Checking activity reminders 
[2026-04-19 17:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:49:59] [INFO] Checking activity reminders 
[2026-04-19 17:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:50:18] [INFO] Checking activity reminders 
[2026-04-19 17:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:50:29] [INFO] Checking activity reminders 
[2026-04-19 17:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:50:49] [INFO] Checking activity reminders 
[2026-04-19 17:50:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:50:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:50:59] [INFO] Checking activity reminders 
[2026-04-19 17:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:51:19] [INFO] Checking activity reminders 
[2026-04-19 17:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:51:29] [INFO] Checking activity reminders 
[2026-04-19 17:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:51:49] [INFO] Checking activity reminders 
[2026-04-19 17:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:51:59] [INFO] Checking activity reminders 
[2026-04-19 17:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:52:19] [INFO] Checking activity reminders 
[2026-04-19 17:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:52:29] [INFO] Checking activity reminders 
[2026-04-19 17:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:52:49] [INFO] Checking activity reminders 
[2026-04-19 17:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:52:59] [INFO] Checking activity reminders 
[2026-04-19 17:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:53:19] [INFO] Checking activity reminders 
[2026-04-19 17:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:53:29] [INFO] Checking activity reminders 
[2026-04-19 17:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:53:49] [INFO] Checking activity reminders 
[2026-04-19 17:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:53:59] [INFO] Checking activity reminders 
[2026-04-19 17:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:54:20] [INFO] Checking activity reminders 
[2026-04-19 17:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:54:30] [INFO] Checking activity reminders 
[2026-04-19 17:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:54:50] [INFO] Checking activity reminders 
[2026-04-19 17:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:55:00] [INFO] Checking activity reminders 
[2026-04-19 17:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:55:20] [INFO] Checking activity reminders 
[2026-04-19 17:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:55:30] [INFO] Checking activity reminders 
[2026-04-19 17:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:55:50] [INFO] Checking activity reminders 
[2026-04-19 17:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:56:00] [INFO] Checking activity reminders 
[2026-04-19 17:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:56:20] [INFO] Checking activity reminders 
[2026-04-19 17:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:56:30] [INFO] Checking activity reminders 
[2026-04-19 17:56:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:56:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:56:35] [INFO] Checking activity reminders 
[2026-04-19 17:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:56:50] [INFO] Checking activity reminders 
[2026-04-19 17:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:00] [INFO] Checking activity reminders 
[2026-04-19 17:57:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:06] [INFO] Checking activity reminders 
[2026-04-19 17:57:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:57:20] [INFO] Checking activity reminders 
[2026-04-19 17:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:57:30] [INFO] Checking activity reminders 
[2026-04-19 17:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:36] [INFO] Checking activity reminders 
[2026-04-19 17:57:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:57:50] [INFO] Checking activity reminders 
[2026-04-19 17:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:00] [INFO] Checking activity reminders 
[2026-04-19 17:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:05] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 17:58:05","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 17:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:58:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","contact_id":"14373","is_new_deal":false}
[2026-04-19 17:58:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-19 17:58:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-19 17:58:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان"}
[2026-04-19 17:58:05] [INFO] getContactPrimaryPhone called {"contact_id":"14373"}
[2026-04-19 17:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:58:05] [INFO] getContactPrimaryPhone result {"contact_id":"14373","person_found":true,"primary_phone":"9132968425"}
[2026-04-19 17:58:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132968425"}
[2026-04-19 17:58:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132968425","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 17:58:05"}
[2026-04-19 17:58:05] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","existing_deal_found":true,"existing_contact_id":"14373","existing_title":"معامله دوم 9132968425 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 17:58:05"}
[2026-04-19 17:58:05] [INFO] DealController.save validated payments {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 17:58:05] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14373","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 17:58:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b74104bfd1a1.18934610","contact_didar_id":"14373","title":"معامله دوم 9132968425 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9132968425","services_text":"کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی","کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مددی","existing_deal":"YES","existing_deal_id":"local_69b74104bfd1a1.18934610","existing_deal_status":"Pending","server_time":"2026-04-19 17:58:05","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 17:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:58:05] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9132968425 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":20000000,"server_time":"2026-04-19 17:58:05","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 17:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:58:06] [INFO] Checking activity reminders 
[2026-04-19 17:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:20] [INFO] Checking activity reminders 
[2026-04-19 17:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:30] [INFO] Checking activity reminders 
[2026-04-19 17:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:41] [INFO] Checking activity reminders 
[2026-04-19 17:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:58:50] [INFO] Checking activity reminders 
[2026-04-19 17:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:00] [INFO] Checking activity reminders 
[2026-04-19 17:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:12] [INFO] Checking activity reminders 
[2026-04-19 17:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:20] [INFO] Checking activity reminders 
[2026-04-19 17:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:30] [INFO] Checking activity reminders 
[2026-04-19 17:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:42] [INFO] Checking activity reminders 
[2026-04-19 17:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:59:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 17:59:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14373","deal_id":"15226","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 17:59:48","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 17:59:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:59:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14373","is_new_deal":false}
[2026-04-19 17:59:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 17:59:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 17:59:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 17:59:48] [INFO] getContactPrimaryPhone called {"contact_id":"14373"}
[2026-04-19 17:59:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:59:48] [INFO] getContactPrimaryPhone result {"contact_id":"14373","person_found":true,"primary_phone":"9132968425"}
[2026-04-19 17:59:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132968425"}
[2026-04-19 17:59:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132968425","contact_id":"14373","deal_id":"15226","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 17:59:48"}
[2026-04-19 17:59:48] [INFO] DealController.save existing deal lookup {"deal_id":"15226","contact_id":"14373","existing_deal_found":true,"existing_contact_id":"14373","existing_title":"معامله مددی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 17:59:48"}
[2026-04-19 17:59:48] [INFO] DealController.save validated payments {"deal_id":"15226","contact_id":"14373","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 17:59:48] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14373","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 17:59:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"15226","contact_didar_id":"14373","title":"معامله مددی | کانال VIP بدون پشتیبان","base_title_used":"معامله مددی","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مددی","existing_deal":"YES","existing_deal_id":"15226","existing_deal_status":"Pending","server_time":"2026-04-19 17:59:48","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 17:59:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:59:48] [INFO] ensureDealProductsFromText: no product match {"deal_id":"15226","texts":["کانال VIP بدون پشتیبان"]}
[2026-04-19 17:59:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"15226","contact_id":"14373","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله مددی | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-19 17:59:48","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 17:59:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 17:59:51] [INFO] Checking activity reminders 
[2026-04-19 17:59:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 17:59:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 17:59:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:00:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:00:12] [INFO] Checking activity reminders 
[2026-04-19 18:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:00:21] [INFO] Checking activity reminders 
[2026-04-19 18:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:00:42] [INFO] Checking activity reminders 
[2026-04-19 18:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:00:51] [INFO] Checking activity reminders 
[2026-04-19 18:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:01:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:10] [INFO] generateDealTitle result {"contact_id":"14373","person_name":"مددی","mobile":"9132968425","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9132968425"}
[2026-04-19 18:01:12] [INFO] Checking activity reminders 
[2026-04-19 18:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:01:21] [INFO] Checking activity reminders 
[2026-04-19 18:01:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:01:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:01:29] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14373","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 18:01:29","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 18:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14373","is_new_deal":true}
[2026-04-19 18:01:29] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:01:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:01:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:01:29] [INFO] getContactPrimaryPhone called {"contact_id":"14373"}
[2026-04-19 18:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:29] [INFO] getContactPrimaryPhone result {"contact_id":"14373","person_found":true,"primary_phone":"9132968425"}
[2026-04-19 18:01:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132968425"}
[2026-04-19 18:01:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132968425","contact_id":"14373","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 18:01:29"}
[2026-04-19 18:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:29] [INFO] generateDealTitle result {"contact_id":"14373","person_name":"مددی","mobile":"9132968425","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9132968425"}
[2026-04-19 18:01:29] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"14373","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 18:01:29] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14373","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 18:01:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"14373","title":"معامله سوم 9132968425 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9132968425","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مددی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-19 18:01:29","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 18:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:29] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-19 18:01:29] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"14373","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9132968425 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-19 18:01:29","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 18:01:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:01:43] [INFO] Checking activity reminders 
[2026-04-19 18:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:01:51] [INFO] Checking activity reminders 
[2026-04-19 18:01:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:01:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:01:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 18:01:59] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-19 18:01:59] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-19 18:01:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 18:01:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-19 18:01:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-19 18:01:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-19 18:02:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:21] [INFO] Checking activity reminders 
[2026-04-19 18:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:02:30] [INFO] Checking activity reminders 
[2026-04-19 18:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:02:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 18:02:46","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-19 18:02:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14373","is_new_deal":false}
[2026-04-19 18:02:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:02:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:02:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-19 18:02:46] [INFO] getContactPrimaryPhone called {"contact_id":"14373"}
[2026-04-19 18:02:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:46] [INFO] getContactPrimaryPhone result {"contact_id":"14373","person_found":true,"primary_phone":"9132968425"}
[2026-04-19 18:02:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132968425"}
[2026-04-19 18:02:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132968425","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 18:02:46"}
[2026-04-19 18:02:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","existing_deal_found":true,"existing_contact_id":"14373","existing_title":"معامله دوم 9132968425 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-19 18:02:46"}
[2026-04-19 18:02:46] [INFO] DealController.save validated payments {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 18:02:46] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14373","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-19 18:02:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b74104bfd1a1.18934610","contact_didar_id":"14373","title":"معامله دوم 9132968425 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9132968425","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مددی","existing_deal":"YES","existing_deal_id":"local_69b74104bfd1a1.18934610","existing_deal_status":"Pending","server_time":"2026-04-19 18:02:46","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-19 18:02:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9132968425 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":20000000,"server_time":"2026-04-19 18:02:46","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 18:02:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:02:51] [INFO] Checking activity reminders 
[2026-04-19 18:02:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:02:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-19 18:03:00] [INFO] Checking activity reminders 
[2026-04-19 18:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:03:21] [INFO] Checking activity reminders 
[2026-04-19 18:03:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:03:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:03:51] [INFO] Checking activity reminders 
[2026-04-19 18:03:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:03:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:04:21] [INFO] Checking activity reminders 
[2026-04-19 18:04:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:04:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:04:51] [INFO] Checking activity reminders 
[2026-04-19 18:04:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:04:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:04:55] [INFO] Activity save request {"post_data":{"contact_id":"20829","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سرمایه در ثبت نام خودرو گذاشته و نمیتونه سرمایه گذاری داشته باشه\r\n300-400 نقدینگی داره بهش گفتم میتونی نوسان گیری کنی \r\nامسال نوسانات به شما سود میده \r\nدر بله پیام ارسال کردم \/میگه باید فکر کنم در صورت تایید اطلاع میدم ","activity_duration":"8","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:04:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 18:04:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:04:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:04:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 18:04:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20829","note_was_empty":true}
[2026-04-19 18:04:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"20829","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 18:04:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4e80f93a138.83892649","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:04:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 18:04:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4e80f93a138.83892649"}
[2026-04-19 18:04:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 18:04:55] [INFO] Updating virtual stage {"contact_id":"20829","stage_name":"deal_registered","force":false}
[2026-04-19 18:04:55] [INFO] Virtual stage successfully saved {"contact_id":"20829","stage_name":"deal_registered"}
[2026-04-19 18:04:55] [INFO] Virtual stage updated after activity save {"contact_id":"20829"}
[2026-04-19 18:04:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20829","person_id":"19163"}
[2026-04-19 18:05:21] [INFO] Checking activity reminders 
[2026-04-19 18:05:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:05:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:05:52] [INFO] Checking activity reminders 
[2026-04-19 18:05:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:05:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:06:22] [INFO] Checking activity reminders 
[2026-04-19 18:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:06:52] [INFO] Checking activity reminders 
[2026-04-19 18:06:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:06:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:06:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:07:22] [INFO] Checking activity reminders 
[2026-04-19 18:07:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:07:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:07:52] [INFO] Checking activity reminders 
[2026-04-19 18:07:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:07:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:08:22] [INFO] Checking activity reminders 
[2026-04-19 18:08:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:08:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:08:52] [INFO] Checking activity reminders 
[2026-04-19 18:08:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:08:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:09:22] [INFO] Checking activity reminders 
[2026-04-19 18:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:09:53] [INFO] Checking activity reminders 
[2026-04-19 18:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:10:23] [INFO] Checking activity reminders 
[2026-04-19 18:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:10:53] [INFO] Checking activity reminders 
[2026-04-19 18:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:11:23] [INFO] Checking activity reminders 
[2026-04-19 18:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:11:34] [INFO] Checking activity reminders 
[2026-04-19 18:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:11:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:11:53] [INFO] Checking activity reminders 
[2026-04-19 18:11:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:11:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:12:04] [INFO] Checking activity reminders 
[2026-04-19 18:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:12:23] [INFO] Checking activity reminders 
[2026-04-19 18:12:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:12:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:12:34] [INFO] Checking activity reminders 
[2026-04-19 18:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:12:53] [INFO] Checking activity reminders 
[2026-04-19 18:12:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:12:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:13:04] [INFO] Checking activity reminders 
[2026-04-19 18:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:13:23] [INFO] Checking activity reminders 
[2026-04-19 18:13:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:13:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:13:34] [INFO] Checking activity reminders 
[2026-04-19 18:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:13:53] [INFO] Checking activity reminders 
[2026-04-19 18:13:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:13:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:14:04] [INFO] Checking activity reminders 
[2026-04-19 18:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:14:23] [INFO] Checking activity reminders 
[2026-04-19 18:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:14:27] [INFO] Checking activity reminders 
[2026-04-19 18:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:14:34] [INFO] Checking activity reminders 
[2026-04-19 18:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:14:57] [INFO] Checking activity reminders 
[2026-04-19 18:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:15:04] [INFO] Checking activity reminders 
[2026-04-19 18:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:15:28] [INFO] Checking activity reminders 
[2026-04-19 18:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:15:35] [INFO] Checking activity reminders 
[2026-04-19 18:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:15:55] [INFO] Checking activity reminders 
[2026-04-19 18:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:16:05] [INFO] Checking activity reminders 
[2026-04-19 18:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:16:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3821","deal_id":"local_699aba76226317.35282569","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 18:16:13","session_id":"nua7lnie5kk9jev779k0ledejm"}
[2026-04-19 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3821","is_new_deal":false}
[2026-04-19 18:16:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 18:16:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 18:16:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-19 18:16:13] [INFO] getContactPrimaryPhone called {"contact_id":"3821"}
[2026-04-19 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:13] [INFO] getContactPrimaryPhone result {"contact_id":"3821","person_found":true,"primary_phone":"9123187467"}
[2026-04-19 18:16:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123187467"}
[2026-04-19 18:16:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123187467","contact_id":"3821","deal_id":"local_699aba76226317.35282569","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 18:16:13"}
[2026-04-19 18:16:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","existing_deal_found":true,"existing_contact_id":"3821","existing_title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-19 18:16:13"}
[2026-04-19 18:16:13] [INFO] DealController.save validated payments {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 18:16:13] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3821","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 18:16:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aba76226317.35282569","contact_didar_id":"3821","title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9123187467","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":5000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"شهبازی شهبازی","existing_deal":"YES","existing_deal_id":"local_699aba76226317.35282569","existing_deal_status":"Pending","server_time":"2026-04-19 18:16:13","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-19 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aba76226317.35282569","contact_id":"3821","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":5000000,"server_time":"2026-04-19 18:16:13","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:25] [INFO] Checking activity reminders 
[2026-04-19 18:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:16:35] [INFO] Checking activity reminders 
[2026-04-19 18:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:16:48] [INFO] Activity save request {"post_data":{"contact_id":"3821","deal_id":"local_699aba76226317.35282569","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال 6ماهه متقاعد شد انجام بده 5زو چند روز دیگه واریز توسیه اردیسهت","activity_duration":"30","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:16:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"3821","note_was_empty":true}
[2026-04-19 18:16:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"3821","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:48] [INFO] Updating virtual stage {"contact_id":"3821","stage_name":"deal_registered","force":false}
[2026-04-19 18:16:48] [INFO] Virtual stage successfully saved {"contact_id":"3821","stage_name":"deal_registered"}
[2026-04-19 18:16:48] [INFO] Virtual stage updated after activity save {"contact_id":"3821"}
[2026-04-19 18:16:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699aba76226317.35282569","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-19 18:16:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4ead8873995.73978653","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4ead8873995.73978653"}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:48] [INFO] Updating virtual stage {"contact_id":"3821","stage_name":"deal_registered","force":false}
[2026-04-19 18:16:48] [INFO] Virtual stage successfully saved {"contact_id":"3821","stage_name":"deal_registered"}
[2026-04-19 18:16:48] [INFO] Virtual stage updated after activity save {"contact_id":"3821"}
[2026-04-19 18:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-19 18:16:55] [INFO] Checking activity reminders 
[2026-04-19 18:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:17:05] [INFO] Checking activity reminders 
[2026-04-19 18:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:17:25] [INFO] Checking activity reminders 
[2026-04-19 18:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:17:55] [INFO] Checking activity reminders 
[2026-04-19 18:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:18:25] [INFO] Checking activity reminders 
[2026-04-19 18:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:18:56] [INFO] Checking activity reminders 
[2026-04-19 18:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:19:26] [INFO] Checking activity reminders 
[2026-04-19 18:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:19:56] [INFO] Checking activity reminders 
[2026-04-19 18:19:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:19:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:20:26] [INFO] Checking activity reminders 
[2026-04-19 18:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:20:56] [INFO] Checking activity reminders 
[2026-04-19 18:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:21:26] [INFO] Checking activity reminders 
[2026-04-19 18:21:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:21:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:21:47] [INFO] Checking activity reminders 
[2026-04-19 18:21:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:21:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:21:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-19 18:21:56] [INFO] Checking activity reminders 
[2026-04-19 18:21:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:21:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:22:06] [INFO] Activity save request {"post_data":{"contact_id":"13663","deal_id":"local_69b5316689acd4.42167347","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"طلای فیزیکی : 25 گرم \r\nعیار :100 میلیون \r\nتنظیم موتور \r\nنوسان گیری میکنه \r\nپرزنت 6 ماهه بدون پشتیبانی \r\nاز بورس باید واریز کنه \/ سهم بفروشه ","activity_duration":"14","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:22:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13663","note_was_empty":true}
[2026-04-19 18:22:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"13663","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:06] [INFO] Updating virtual stage {"contact_id":"13663","stage_name":"deal_registered","force":false}
[2026-04-19 18:22:06] [INFO] Virtual stage successfully saved {"contact_id":"13663","stage_name":"deal_registered"}
[2026-04-19 18:22:06] [INFO] Virtual stage updated after activity save {"contact_id":"13663"}
[2026-04-19 18:22:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5316689acd4.42167347","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-19 18:22:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4ec1650c464.55585985","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4ec1650c464.55585985"}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:06] [INFO] Updating virtual stage {"contact_id":"13663","stage_name":"deal_registered","force":false}
[2026-04-19 18:22:06] [INFO] Virtual stage successfully saved {"contact_id":"13663","stage_name":"deal_registered"}
[2026-04-19 18:22:06] [INFO] Virtual stage updated after activity save {"contact_id":"13663"}
[2026-04-19 18:22:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13663","deal_id":"local_69b5316689acd4.42167347","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 18:22:21","session_id":"nbfgq1kbvv9dgae31fct6jelbj"}
[2026-04-19 18:22:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13663","is_new_deal":false}
[2026-04-19 18:22:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 18:22:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 18:22:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-19 18:22:21] [INFO] getContactPrimaryPhone called {"contact_id":"13663"}
[2026-04-19 18:22:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:21] [INFO] getContactPrimaryPhone result {"contact_id":"13663","person_found":true,"primary_phone":"9184359007"}
[2026-04-19 18:22:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184359007"}
[2026-04-19 18:22:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184359007","contact_id":"13663","deal_id":"local_69b5316689acd4.42167347","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 18:22:21"}
[2026-04-19 18:22:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","existing_deal_found":true,"existing_contact_id":"13663","existing_title":"معامله سوم 9184359007 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 18:22:21"}
[2026-04-19 18:22:21] [INFO] DealController.save validated payments {"deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-19 18:22:21] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13663","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 18:22:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b5316689acd4.42167347","contact_didar_id":"13663","title":"معامله سوم 9184359007 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9184359007","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"اسماعیل حسینی","existing_deal":"YES","existing_deal_id":"local_69b5316689acd4.42167347","existing_deal_status":"Pending","server_time":"2026-04-19 18:22:21","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 18:22:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:21] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9184359007 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-19 18:22:21","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-19 18:22:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-19 18:22:26] [INFO] Checking activity reminders 
[2026-04-19 18:22:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:22:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:22:56] [INFO] Checking activity reminders 
[2026-04-19 18:22:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:22:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:26] [INFO] Checking activity reminders 
[2026-04-19 18:23:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:50] [INFO] Checking activity reminders 
[2026-04-19 18:23:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:51] [INFO] Checking activity reminders 
[2026-04-19 18:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:53] [INFO] Checking activity reminders 
[2026-04-19 18:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:55] [INFO] Checking activity reminders 
[2026-04-19 18:23:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:23:58] [INFO] Checking activity reminders 
[2026-04-19 18:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:24:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-19 18:24:28] [INFO] Checking activity reminders 
[2026-04-19 18:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:24:58] [INFO] Checking activity reminders 
[2026-04-19 18:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:24:58] [INFO] Checking activity reminders 
[2026-04-19 18:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:25:25] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"log_client_event"}
[2026-04-19 18:25:25] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"check_reminders"}
[2026-04-19 18:25:25] [WARNING] Auth check failed - not authenticated {"session_id":"iug2ciu7shrfkajrcdug65de0o","session_keys":[],"action":"log_client_event"}
[2026-04-19 18:25:28] [INFO] Checking activity reminders 
[2026-04-19 18:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:25:58] [INFO] Checking activity reminders 
[2026-04-19 18:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:26:28] [INFO] Checking activity reminders 
[2026-04-19 18:26:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:26:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:26:58] [INFO] Checking activity reminders 
[2026-04-19 18:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:27:28] [INFO] Checking activity reminders 
[2026-04-19 18:27:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:27:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:27:58] [INFO] Checking activity reminders 
[2026-04-19 18:27:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:27:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:28:28] [INFO] Checking activity reminders 
[2026-04-19 18:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:28:58] [INFO] Checking activity reminders 
[2026-04-19 18:28:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:28:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:29:28] [INFO] Checking activity reminders 
[2026-04-19 18:29:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:29:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:29:58] [INFO] Checking activity reminders 
[2026-04-19 18:29:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:29:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:30:28] [INFO] Checking activity reminders 
[2026-04-19 18:30:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:30:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:30:59] [INFO] Checking activity reminders 
[2026-04-19 18:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:31:14] [INFO] Checking activity reminders 
[2026-04-19 18:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:31:29] [INFO] Checking activity reminders 
[2026-04-19 18:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:31:44] [INFO] Checking activity reminders 
[2026-04-19 18:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:31:59] [INFO] Checking activity reminders 
[2026-04-19 18:31:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:31:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:32:14] [INFO] Checking activity reminders 
[2026-04-19 18:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:32:29] [INFO] Checking activity reminders 
[2026-04-19 18:32:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:32:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:32:59] [INFO] Checking activity reminders 
[2026-04-19 18:32:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:32:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:33:29] [INFO] Checking activity reminders 
[2026-04-19 18:33:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:33:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:33:32] [INFO] Checking activity reminders 
[2026-04-19 18:33:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:33:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:33:59] [INFO] Checking activity reminders 
[2026-04-19 18:33:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:33:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:34:02] [INFO] Checking activity reminders 
[2026-04-19 18:34:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:34:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:34:29] [INFO] Checking activity reminders 
[2026-04-19 18:34:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:34:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:34:32] [INFO] Checking activity reminders 
[2026-04-19 18:34:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:34:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:34:59] [INFO] Checking activity reminders 
[2026-04-19 18:34:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:34:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:35:02] [INFO] Checking activity reminders 
[2026-04-19 18:35:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:35:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:35:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:35:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:35:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:35:25] [INFO] generateDealTitle result {"contact_id":"20776","person_name":"رضا نوتچی","mobile":"9358346879","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9358346879"}
[2026-04-19 18:35:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:35:29] [INFO] Checking activity reminders 
[2026-04-19 18:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:35:32] [INFO] Checking activity reminders 
[2026-04-19 18:35:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:35:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:35:59] [INFO] Checking activity reminders 
[2026-04-19 18:35:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:35:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:36:02] [INFO] Checking activity reminders 
[2026-04-19 18:36:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:36:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:36:29] [INFO] Checking activity reminders 
[2026-04-19 18:36:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:36:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:36:33] [INFO] Checking activity reminders 
[2026-04-19 18:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:36:59] [INFO] Checking activity reminders 
[2026-04-19 18:36:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:36:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:37:29] [INFO] Checking activity reminders 
[2026-04-19 18:37:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:37:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:38:00] [INFO] Checking activity reminders 
[2026-04-19 18:38:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:38:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:38:30] [INFO] Checking activity reminders 
[2026-04-19 18:38:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:38:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:39:00] [INFO] Checking activity reminders 
[2026-04-19 18:39:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:39:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:39:30] [INFO] Checking activity reminders 
[2026-04-19 18:39:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:39:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:40:00] [INFO] Checking activity reminders 
[2026-04-19 18:40:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:40:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:40:14] [INFO] Activity save request {"post_data":{"contact_id":"20776","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خودرو ثبت نام کرده دی ماه هنوز تحویل ندادند \r\nسرمایه جهت سرمایه گذاری نداره \r\nقراره وام بگیره بیاد در کانال \r\nارسال پیام در بله ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:40:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:40:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:40:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:40:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:40:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20776","note_was_empty":true}
[2026-04-19 18:40:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"20776","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 18:40:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4f056b7c1c6.40557492","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:40:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:40:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4f056b7c1c6.40557492"}
[2026-04-19 18:40:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:40:14] [INFO] Updating virtual stage {"contact_id":"20776","stage_name":"deal_registered","force":false}
[2026-04-19 18:40:14] [INFO] Virtual stage successfully saved {"contact_id":"20776","stage_name":"deal_registered"}
[2026-04-19 18:40:14] [INFO] Virtual stage updated after activity save {"contact_id":"20776"}
[2026-04-19 18:40:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:40:30] [INFO] Checking activity reminders 
[2026-04-19 18:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:40:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Activity save request {"post_data":{"contact_id":"11719","deal_id":"local_69db86d8dc6b82.46383571","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:40:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11719","note_was_empty":true}
[2026-04-19 18:40:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"11719","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"deal_registered","force":false}
[2026-04-19 18:40:55] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"deal_registered"}
[2026-04-19 18:40:55] [INFO] Virtual stage updated after activity save {"contact_id":"11719"}
[2026-04-19 18:40:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69db86d8dc6b82.46383571","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 18:40:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4f07f0b1ff0.21119860","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4f07f0b1ff0.21119860"}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:40:55] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"deal_registered","force":false}
[2026-04-19 18:40:55] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"deal_registered"}
[2026-04-19 18:40:55] [INFO] Virtual stage updated after activity save {"contact_id":"11719"}
[2026-04-19 18:40:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-19 18:41:00] [INFO] Checking activity reminders 
[2026-04-19 18:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:41:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:41:22] [INFO] Lead update received {"contact_id":"20776","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-19 18:41:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:41:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:41:23] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20776"}
[2026-04-19 18:41:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20776","person_id":"7851"}
[2026-04-19 18:41:31] [INFO] Checking activity reminders 
[2026-04-19 18:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:42:01] [INFO] Checking activity reminders 
[2026-04-19 18:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:42:31] [INFO] Checking activity reminders 
[2026-04-19 18:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:43:01] [INFO] Checking activity reminders 
[2026-04-19 18:43:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:43:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:43:31] [INFO] Checking activity reminders 
[2026-04-19 18:43:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:43:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:44:01] [INFO] Checking activity reminders 
[2026-04-19 18:44:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:44:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:44:31] [INFO] Checking activity reminders 
[2026-04-19 18:44:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:44:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:45:01] [INFO] Checking activity reminders 
[2026-04-19 18:45:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:45:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:45:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:45:31] [INFO] Checking activity reminders 
[2026-04-19 18:45:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:45:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:46:01] [INFO] Checking activity reminders 
[2026-04-19 18:46:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:46:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:46:31] [INFO] Checking activity reminders 
[2026-04-19 18:46:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:46:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:46:50] [INFO] Activity save request {"post_data":{"contact_id":"20932","deal_id":"local_6950fed29d3aa9.35979083","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ملک مصرفی خریده کل سرمایه \r\nفقط اداره میره \/مغازه داده به برادرش ماهانه بهش عددی پرداخت میکنه \r\nپرزنت 6ماهه کانال بدون پشتیبانی \r\nمشورت با همسرش ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:46:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 18:46:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:46:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20932","note_was_empty":true}
[2026-04-19 18:46:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"20932","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:46:50] [INFO] Updating virtual stage {"contact_id":"20932","stage_name":"deal_registered","force":false}
[2026-04-19 18:46:50] [INFO] Virtual stage successfully saved {"contact_id":"20932","stage_name":"deal_registered"}
[2026-04-19 18:46:50] [INFO] Virtual stage updated after activity save {"contact_id":"20932"}
[2026-04-19 18:46:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950fed29d3aa9.35979083","stage":"تماس پیگیری","status_change":null}
[2026-04-19 18:46:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4f1e242dc19.95212931","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:46:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4f1e242dc19.95212931"}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:46:50] [INFO] Updating virtual stage {"contact_id":"20932","stage_name":"deal_registered","force":false}
[2026-04-19 18:46:50] [INFO] Virtual stage successfully saved {"contact_id":"20932","stage_name":"deal_registered"}
[2026-04-19 18:46:50] [INFO] Virtual stage updated after activity save {"contact_id":"20932"}
[2026-04-19 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 18:47:01] [INFO] Checking activity reminders 
[2026-04-19 18:47:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:47:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:47:31] [INFO] Checking activity reminders 
[2026-04-19 18:47:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:47:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:48:02] [INFO] Checking activity reminders 
[2026-04-19 18:48:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:48:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:48:32] [INFO] Checking activity reminders 
[2026-04-19 18:48:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:48:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:49:02] [INFO] Checking activity reminders 
[2026-04-19 18:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:49:32] [INFO] Checking activity reminders 
[2026-04-19 18:49:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:49:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:50:02] [INFO] Checking activity reminders 
[2026-04-19 18:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:50:32] [INFO] Checking activity reminders 
[2026-04-19 18:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:51:02] [INFO] Checking activity reminders 
[2026-04-19 18:51:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:51:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:51:32] [INFO] Checking activity reminders 
[2026-04-19 18:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:52:02] [INFO] Checking activity reminders 
[2026-04-19 18:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:52:32] [INFO] Checking activity reminders 
[2026-04-19 18:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:53:02] [INFO] Checking activity reminders 
[2026-04-19 18:53:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:53:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:53:32] [INFO] Checking activity reminders 
[2026-04-19 18:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:54:02] [INFO] Checking activity reminders 
[2026-04-19 18:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:54:33] [INFO] Checking activity reminders 
[2026-04-19 18:54:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:54:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:55:03] [INFO] Checking activity reminders 
[2026-04-19 18:55:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:55:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:55:33] [INFO] Checking activity reminders 
[2026-04-19 18:55:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:55:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:56:03] [INFO] Checking activity reminders 
[2026-04-19 18:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:56:33] [INFO] Checking activity reminders 
[2026-04-19 18:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:57:03] [INFO] Checking activity reminders 
[2026-04-19 18:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:57:33] [INFO] Checking activity reminders 
[2026-04-19 18:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:58:03] [INFO] Checking activity reminders 
[2026-04-19 18:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:58:33] [INFO] Checking activity reminders 
[2026-04-19 18:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:59:03] [INFO] Checking activity reminders 
[2026-04-19 18:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 18:59:34] [INFO] Checking activity reminders 
[2026-04-19 18:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 18:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:04] [INFO] Checking activity reminders 
[2026-04-19 19:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:19] [INFO] Checking activity reminders 
[2026-04-19 19:00:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:22] [INFO] Checking activity reminders 
[2026-04-19 19:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:26] [INFO] Checking activity reminders 
[2026-04-19 19:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20932","person_id":"19959"}
[2026-04-19 19:00:46] [INFO] Checking activity reminders 
[2026-04-19 19:00:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:47] [INFO] Checking activity reminders 
[2026-04-19 19:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:48] [INFO] Checking activity reminders 
[2026-04-19 19:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:51] [INFO] Checking activity reminders 
[2026-04-19 19:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:00:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 19:01:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:01:26] [INFO] Checking activity reminders 
[2026-04-19 19:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:01:56] [INFO] Checking activity reminders 
[2026-04-19 19:01:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:01:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:02:26] [INFO] Checking activity reminders 
[2026-04-19 19:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:02:29] [INFO] Activity save request {"post_data":{"contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد پیگیری \r\nاستفاده از نوسانات و سیگنال ها در زمان کوتاه \r\nپرزنت 6 ماهه بدون پشتیبانی \r\n10 واریز \r\nتسویه تا فردا \r\n\r\n","activity_duration":"11","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-19 19:02:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20948","note_was_empty":true}
[2026-04-19 19:02:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"20948","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:29] [INFO] Updating virtual stage {"contact_id":"20948","stage_name":"deal_registered","force":false}
[2026-04-19 19:02:29] [INFO] Virtual stage successfully saved {"contact_id":"20948","stage_name":"deal_registered"}
[2026-04-19 19:02:29] [INFO] Virtual stage updated after activity save {"contact_id":"20948"}
[2026-04-19 19:02:29] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4da62000db2.97020551","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-19 19:02:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e4f58dbadba4.06009060","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69e4f58dbadba4.06009060"}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:29] [INFO] Updating virtual stage {"contact_id":"20948","stage_name":"deal_registered","force":false}
[2026-04-19 19:02:29] [INFO] Virtual stage successfully saved {"contact_id":"20948","stage_name":"deal_registered"}
[2026-04-19 19:02:29] [INFO] Virtual stage updated after activity save {"contact_id":"20948"}
[2026-04-19 19:02:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-19 19:02:33] [INFO] Checking activity reminders 
[2026-04-19 19:02:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:02:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:03:03] [INFO] Checking activity reminders 
[2026-04-19 19:03:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:03:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:03:33] [INFO] Checking activity reminders 
[2026-04-19 19:03:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:03:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:04:04] [INFO] Checking activity reminders 
[2026-04-19 19:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:04:34] [INFO] Checking activity reminders 
[2026-04-19 19:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:05:04] [INFO] Checking activity reminders 
[2026-04-19 19:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:05:34] [INFO] Checking activity reminders 
[2026-04-19 19:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:06:04] [INFO] Checking activity reminders 
[2026-04-19 19:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:06:34] [INFO] Checking activity reminders 
[2026-04-19 19:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:07:04] [INFO] Checking activity reminders 
[2026-04-19 19:07:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:07:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:07:34] [INFO] Checking activity reminders 
[2026-04-19 19:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:08:04] [INFO] Checking activity reminders 
[2026-04-19 19:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:08:35] [INFO] Checking activity reminders 
[2026-04-19 19:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:09:05] [INFO] Checking activity reminders 
[2026-04-19 19:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:09:35] [INFO] Checking activity reminders 
[2026-04-19 19:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:10:05] [INFO] Checking activity reminders 
[2026-04-19 19:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:10:35] [INFO] Checking activity reminders 
[2026-04-19 19:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:11:05] [INFO] Checking activity reminders 
[2026-04-19 19:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:11:40] [INFO] Checking activity reminders 
[2026-04-19 19:11:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:11:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:13:01] [INFO] Checking activity reminders 
[2026-04-19 19:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 19:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 19:16:23] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 19:16:23] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-19 19:16:23] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-19 23:08:06] [WARNING] Auth check failed - not authenticated {"session_id":"f1dv6dpk2g59o03tlg8c230vfl","session_keys":[],"action":"log_client_event"}
[2026-04-19 23:08:06] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-19 23:08:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-19 23:08:37] [INFO] Checking activity reminders 
[2026-04-19 23:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 23:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 23:08:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:09:07] [INFO] Checking activity reminders 
[2026-04-19 23:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 23:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 23:09:39] [INFO] Checking activity reminders 
[2026-04-19 23:09:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-19 23:09:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-19 23:09:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9687","deal_id":"local_69e4ae60eca6c2.63356263","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-19 23:09:57","session_id":"f1dv6dpk2g59o03tlg8c230vfl"}
[2026-04-19 23:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:09:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9687","is_new_deal":false}
[2026-04-19 23:09:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-19 23:09:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 23:09:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-19 23:09:57] [INFO] getContactPrimaryPhone called {"contact_id":"9687"}
[2026-04-19 23:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:09:57] [INFO] getContactPrimaryPhone result {"contact_id":"9687","person_found":true,"primary_phone":"9191326643"}
[2026-04-19 23:09:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9191326643"}
[2026-04-19 23:09:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9191326643","contact_id":"9687","deal_id":"local_69e4ae60eca6c2.63356263","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 23:09:57"}
[2026-04-19 23:09:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","existing_deal_found":true,"existing_contact_id":"9687","existing_title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-19 23:09:57"}
[2026-04-19 23:09:57] [INFO] DealController.save validated payments {"deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-19 23:09:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9687","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-19 23:09:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e4ae60eca6c2.63356263","contact_didar_id":"9687","title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9191326643","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"عنایت زاده","existing_deal":"YES","existing_deal_id":"local_69e4ae60eca6c2.63356263","existing_deal_status":"Pending","server_time":"2026-04-19 23:09:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-19 23:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:09:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":15000000,"server_time":"2026-04-19 23:09:57","ip_address":"2.176.220.72","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-19 23:09:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:10:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-19 23:14:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 09:49:57] [WARNING] Auth check failed - not authenticated {"session_id":"lmgl231ifktc06bun2gko6o5q2","session_keys":[],"action":"log_client_event"}
[2026-04-20 09:49:58] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-20 09:49:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 09:50:28] [INFO] Checking activity reminders 
[2026-04-20 09:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:50:58] [INFO] Checking activity reminders 
[2026-04-20 09:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:51:37] [INFO] Checking activity reminders 
[2026-04-20 09:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:51:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:52:07] [INFO] Checking activity reminders 
[2026-04-20 09:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:53:45] [INFO] Checking activity reminders 
[2026-04-20 09:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:54:15] [INFO] Checking activity reminders 
[2026-04-20 09:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:54:45] [INFO] Checking activity reminders 
[2026-04-20 09:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:55:15] [INFO] Checking activity reminders 
[2026-04-20 09:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:55:46] [INFO] Checking activity reminders 
[2026-04-20 09:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:56:16] [INFO] Checking activity reminders 
[2026-04-20 09:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:56:46] [INFO] Checking activity reminders 
[2026-04-20 09:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:57:16] [INFO] Checking activity reminders 
[2026-04-20 09:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:57:30] [INFO] Activity save request {"post_data":{"contact_id":"21437","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ارسال پیام پیگیری ","activity_duration":"3","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 09:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:57:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 09:57:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 09:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:57:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21437","note_was_empty":true}
[2026-04-20 09:57:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"21437","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 09:57:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5c75299df43.24217074","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 09:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:57:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5c75299df43.24217074"}
[2026-04-20 09:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:57:30] [INFO] Updating virtual stage {"contact_id":"21437","stage_name":"deal_registered","force":false}
[2026-04-20 09:57:30] [INFO] Virtual stage successfully saved {"contact_id":"21437","stage_name":"deal_registered"}
[2026-04-20 09:57:30] [INFO] Virtual stage updated after activity save {"contact_id":"21437"}
[2026-04-20 09:57:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-20 09:57:46] [INFO] Checking activity reminders 
[2026-04-20 09:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:57:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 09:58:16] [INFO] Checking activity reminders 
[2026-04-20 09:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 09:58:46] [INFO] Checking activity reminders 
[2026-04-20 09:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 09:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:05:05] [WARNING] Auth check failed - not authenticated {"session_id":"t49uno6eg1028ulfkiiqbaoohj","session_keys":[],"action":"log_client_event"}
[2026-04-20 10:05:05] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-20 10:05:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 10:06:18] [INFO] Checking activity reminders 
[2026-04-20 10:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:06:45] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-20 10:06:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 10:06:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 10:07:20] [INFO] Checking activity reminders 
[2026-04-20 10:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:07:50] [INFO] Checking activity reminders 
[2026-04-20 10:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:08:20] [INFO] Checking activity reminders 
[2026-04-20 10:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:08:50] [INFO] Checking activity reminders 
[2026-04-20 10:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:09:21] [INFO] Checking activity reminders 
[2026-04-20 10:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:09:51] [INFO] Checking activity reminders 
[2026-04-20 10:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:10:21] [INFO] Checking activity reminders 
[2026-04-20 10:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:10:51] [INFO] Checking activity reminders 
[2026-04-20 10:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:11:21] [INFO] Checking activity reminders 
[2026-04-20 10:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:11:51] [INFO] Checking activity reminders 
[2026-04-20 10:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:12:21] [INFO] Checking activity reminders 
[2026-04-20 10:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:12:52] [INFO] Checking activity reminders 
[2026-04-20 10:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:13:22] [INFO] Checking activity reminders 
[2026-04-20 10:13:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:13:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:13:38] [INFO] Checking activity reminders 
[2026-04-20 10:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:13:52] [INFO] Checking activity reminders 
[2026-04-20 10:13:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:13:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:14:22] [INFO] Checking activity reminders 
[2026-04-20 10:14:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:14:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:14:52] [INFO] Checking activity reminders 
[2026-04-20 10:14:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:14:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:15:22] [INFO] Checking activity reminders 
[2026-04-20 10:15:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:15:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:15:52] [INFO] Checking activity reminders 
[2026-04-20 10:15:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:15:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:16:00] [INFO] Checking activity reminders 
[2026-04-20 10:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:16:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 10:16:22] [INFO] Checking activity reminders 
[2026-04-20 10:16:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:16:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:16:30] [INFO] Checking activity reminders 
[2026-04-20 10:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:16:52] [INFO] Checking activity reminders 
[2026-04-20 10:16:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:16:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:17:00] [INFO] Checking activity reminders 
[2026-04-20 10:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:17:22] [INFO] Checking activity reminders 
[2026-04-20 10:17:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:17:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:17:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 10:17:23","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 10:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 10:17:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"14373","is_new_deal":false}
[2026-04-20 10:17:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 10:17:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 10:17:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 10:17:23] [INFO] getContactPrimaryPhone called {"contact_id":"14373"}
[2026-04-20 10:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 10:17:23] [INFO] getContactPrimaryPhone result {"contact_id":"14373","person_found":true,"primary_phone":"9132968425"}
[2026-04-20 10:17:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9132968425"}
[2026-04-20 10:17:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9132968425","contact_id":"14373","deal_id":"local_69b74104bfd1a1.18934610","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 10:17:23"}
[2026-04-20 10:17:23] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","existing_deal_found":true,"existing_contact_id":"14373","existing_title":"معامله دوم 9132968425 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 10:17:23"}
[2026-04-20 10:17:23] [INFO] DealController.save validated payments {"deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 10:17:23] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14373","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 10:17:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b74104bfd1a1.18934610","contact_didar_id":"14373","title":"معامله دوم 9132968425 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9132968425","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مددی","existing_deal":"YES","existing_deal_id":"local_69b74104bfd1a1.18934610","existing_deal_status":"Pending","server_time":"2026-04-20 10:17:23","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 10:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 10:17:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b74104bfd1a1.18934610","contact_id":"14373","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9132968425 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-20 10:17:23","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 10:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 10:17:30] [INFO] Checking activity reminders 
[2026-04-20 10:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:17:53] [INFO] Checking activity reminders 
[2026-04-20 10:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:18:23] [INFO] Checking activity reminders 
[2026-04-20 10:18:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:18:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:18:48] [INFO] Checking activity reminders 
[2026-04-20 10:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:18:53] [INFO] Checking activity reminders 
[2026-04-20 10:18:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:18:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:19:23] [INFO] Checking activity reminders 
[2026-04-20 10:19:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:19:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:19:53] [INFO] Checking activity reminders 
[2026-04-20 10:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:20:23] [INFO] Checking activity reminders 
[2026-04-20 10:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:20:28] [INFO] Checking activity reminders 
[2026-04-20 10:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 10:20:53] [INFO] Checking activity reminders 
[2026-04-20 10:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:21:23] [INFO] Checking activity reminders 
[2026-04-20 10:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:21:53] [INFO] Checking activity reminders 
[2026-04-20 10:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:22:15] [INFO] Checking activity reminders 
[2026-04-20 10:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:22:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:22:45] [INFO] Checking activity reminders 
[2026-04-20 10:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:23:15] [INFO] Checking activity reminders 
[2026-04-20 10:23:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:23:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:23:39] [INFO] Checking activity reminders 
[2026-04-20 10:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:23:45] [INFO] Checking activity reminders 
[2026-04-20 10:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:24:09] [INFO] Checking activity reminders 
[2026-04-20 10:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:24:15] [INFO] Checking activity reminders 
[2026-04-20 10:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:24:39] [INFO] Checking activity reminders 
[2026-04-20 10:24:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:24:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:24:45] [INFO] Checking activity reminders 
[2026-04-20 10:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:25:09] [INFO] Checking activity reminders 
[2026-04-20 10:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:25:15] [INFO] Checking activity reminders 
[2026-04-20 10:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:25:44] [INFO] Checking activity reminders 
[2026-04-20 10:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:25:45] [INFO] Checking activity reminders 
[2026-04-20 10:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:26:14] [INFO] Checking activity reminders 
[2026-04-20 10:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:26:15] [INFO] Checking activity reminders 
[2026-04-20 10:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:26:44] [INFO] Checking activity reminders 
[2026-04-20 10:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:26:45] [INFO] Checking activity reminders 
[2026-04-20 10:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:27:14] [INFO] Checking activity reminders 
[2026-04-20 10:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:27:15] [INFO] Checking activity reminders 
[2026-04-20 10:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:27:44] [INFO] Checking activity reminders 
[2026-04-20 10:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:27:45] [INFO] Checking activity reminders 
[2026-04-20 10:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:28:14] [INFO] Checking activity reminders 
[2026-04-20 10:28:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:28:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:28:16] [INFO] Checking activity reminders 
[2026-04-20 10:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:28:44] [INFO] Checking activity reminders 
[2026-04-20 10:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:28:46] [INFO] Checking activity reminders 
[2026-04-20 10:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:29:14] [INFO] Checking activity reminders 
[2026-04-20 10:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:29:16] [INFO] Checking activity reminders 
[2026-04-20 10:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:29:44] [INFO] Checking activity reminders 
[2026-04-20 10:29:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:29:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:29:46] [INFO] Checking activity reminders 
[2026-04-20 10:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:30:14] [INFO] Checking activity reminders 
[2026-04-20 10:30:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:30:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:30:16] [INFO] Checking activity reminders 
[2026-04-20 10:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:30:44] [INFO] Checking activity reminders 
[2026-04-20 10:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:30:46] [INFO] Checking activity reminders 
[2026-04-20 10:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:31:14] [INFO] Checking activity reminders 
[2026-04-20 10:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:31:16] [INFO] Checking activity reminders 
[2026-04-20 10:31:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:31:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:31:45] [INFO] Checking activity reminders 
[2026-04-20 10:31:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:31:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:31:46] [INFO] Checking activity reminders 
[2026-04-20 10:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:32:15] [INFO] Checking activity reminders 
[2026-04-20 10:32:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:32:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:32:16] [INFO] Checking activity reminders 
[2026-04-20 10:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:32:45] [INFO] Checking activity reminders 
[2026-04-20 10:32:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:32:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:32:46] [INFO] Checking activity reminders 
[2026-04-20 10:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:32:49] [INFO] Activity save request {"post_data":{"contact_id":"6747","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ارسال سوال برای استاد 2بار صندوق بفروشه ماشین کنه\/ کاسب ماشین انجام میده \/ سوال کسب و کاری داره گفتم مشاوره بیاد بگیری به ای دی استاد پیام بده ","activity_duration":"30","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 10:32:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:32:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 10:32:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 10:32:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:32:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6747","note_was_empty":true}
[2026-04-20 10:32:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"6747","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 10:32:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5cf990e2d75.34670975","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 10:32:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:32:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5cf990e2d75.34670975"}
[2026-04-20 10:32:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:32:49] [INFO] Updating virtual stage {"contact_id":"6747","stage_name":"deal_registered","force":false}
[2026-04-20 10:32:49] [INFO] Virtual stage successfully saved {"contact_id":"6747","stage_name":"deal_registered"}
[2026-04-20 10:32:49] [INFO] Virtual stage updated after activity save {"contact_id":"6747"}
[2026-04-20 10:32:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6747","person_id":"1883"}
[2026-04-20 10:33:15] [INFO] Checking activity reminders 
[2026-04-20 10:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:33:16] [INFO] Checking activity reminders 
[2026-04-20 10:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:33:46] [INFO] Checking activity reminders 
[2026-04-20 10:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:34:16] [INFO] Checking activity reminders 
[2026-04-20 10:34:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:34:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:34:46] [INFO] Checking activity reminders 
[2026-04-20 10:34:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:34:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:35:17] [INFO] Checking activity reminders 
[2026-04-20 10:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:35:47] [INFO] Checking activity reminders 
[2026-04-20 10:35:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:35:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:36:17] [INFO] Checking activity reminders 
[2026-04-20 10:36:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:36:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:36:47] [INFO] Checking activity reminders 
[2026-04-20 10:36:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:36:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:37:17] [INFO] Checking activity reminders 
[2026-04-20 10:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:37:47] [INFO] Checking activity reminders 
[2026-04-20 10:37:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:37:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:38:17] [INFO] Checking activity reminders 
[2026-04-20 10:38:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:38:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:38:47] [INFO] Checking activity reminders 
[2026-04-20 10:38:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:38:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:39:17] [INFO] Checking activity reminders 
[2026-04-20 10:39:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:39:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:39:47] [INFO] Checking activity reminders 
[2026-04-20 10:39:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:39:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:40:18] [INFO] Checking activity reminders 
[2026-04-20 10:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:40:48] [INFO] Checking activity reminders 
[2026-04-20 10:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:41:18] [INFO] Checking activity reminders 
[2026-04-20 10:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:41:48] [INFO] Checking activity reminders 
[2026-04-20 10:41:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:41:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:42:18] [INFO] Checking activity reminders 
[2026-04-20 10:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:42:48] [INFO] Checking activity reminders 
[2026-04-20 10:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:43:18] [INFO] Checking activity reminders 
[2026-04-20 10:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:43:28] [INFO] Checking activity reminders 
[2026-04-20 10:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:43:58] [INFO] Checking activity reminders 
[2026-04-20 10:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:44:28] [INFO] Checking activity reminders 
[2026-04-20 10:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:44:58] [INFO] Checking activity reminders 
[2026-04-20 10:44:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:44:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:45:28] [INFO] Checking activity reminders 
[2026-04-20 10:45:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:45:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:45:58] [INFO] Checking activity reminders 
[2026-04-20 10:45:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:45:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:46:28] [INFO] Checking activity reminders 
[2026-04-20 10:46:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:46:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:46:55] [INFO] Checking activity reminders 
[2026-04-20 10:46:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:46:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:46:58] [INFO] Checking activity reminders 
[2026-04-20 10:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:19] [INFO] Checking activity reminders 
[2026-04-20 10:47:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:23] [INFO] Checking activity reminders 
[2026-04-20 10:47:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:26] [INFO] Checking activity reminders 
[2026-04-20 10:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:28] [INFO] Checking activity reminders 
[2026-04-20 10:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:56] [INFO] Checking activity reminders 
[2026-04-20 10:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:47:59] [INFO] Checking activity reminders 
[2026-04-20 10:47:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:47:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:48:26] [INFO] Checking activity reminders 
[2026-04-20 10:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:48:29] [INFO] Checking activity reminders 
[2026-04-20 10:48:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:48:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:48:56] [INFO] Checking activity reminders 
[2026-04-20 10:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:48:59] [INFO] Checking activity reminders 
[2026-04-20 10:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:49:26] [INFO] Checking activity reminders 
[2026-04-20 10:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:49:29] [INFO] Checking activity reminders 
[2026-04-20 10:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:49:59] [INFO] Checking activity reminders 
[2026-04-20 10:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:49:59] [INFO] Checking activity reminders 
[2026-04-20 10:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:50:29] [INFO] Checking activity reminders 
[2026-04-20 10:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:50:29] [INFO] Checking activity reminders 
[2026-04-20 10:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:50:59] [INFO] Checking activity reminders 
[2026-04-20 10:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:50:59] [INFO] Checking activity reminders 
[2026-04-20 10:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:51:29] [INFO] Checking activity reminders 
[2026-04-20 10:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:51:29] [INFO] Checking activity reminders 
[2026-04-20 10:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:51:59] [INFO] Checking activity reminders 
[2026-04-20 10:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:51:59] [INFO] Checking activity reminders 
[2026-04-20 10:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:52:29] [INFO] Checking activity reminders 
[2026-04-20 10:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:52:29] [INFO] Checking activity reminders 
[2026-04-20 10:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:52:59] [INFO] Checking activity reminders 
[2026-04-20 10:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:52:59] [INFO] Checking activity reminders 
[2026-04-20 10:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:53:29] [INFO] Checking activity reminders 
[2026-04-20 10:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:53:29] [INFO] Checking activity reminders 
[2026-04-20 10:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:53:41] [INFO] Checking activity reminders 
[2026-04-20 10:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:54:00] [INFO] Checking activity reminders 
[2026-04-20 10:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:54:11] [INFO] Checking activity reminders 
[2026-04-20 10:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:54:30] [INFO] Checking activity reminders 
[2026-04-20 10:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:54:41] [INFO] Checking activity reminders 
[2026-04-20 10:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:55:00] [INFO] Checking activity reminders 
[2026-04-20 10:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:55:11] [INFO] Checking activity reminders 
[2026-04-20 10:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:55:30] [INFO] Checking activity reminders 
[2026-04-20 10:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:55:41] [INFO] Checking activity reminders 
[2026-04-20 10:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:56:00] [INFO] Checking activity reminders 
[2026-04-20 10:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:56:11] [INFO] Checking activity reminders 
[2026-04-20 10:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:56:30] [INFO] Checking activity reminders 
[2026-04-20 10:56:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:56:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:56:41] [INFO] Checking activity reminders 
[2026-04-20 10:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:57:00] [INFO] Checking activity reminders 
[2026-04-20 10:57:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:57:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:57:12] [INFO] Checking activity reminders 
[2026-04-20 10:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:57:30] [INFO] Checking activity reminders 
[2026-04-20 10:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:57:42] [INFO] Checking activity reminders 
[2026-04-20 10:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:58:00] [INFO] Checking activity reminders 
[2026-04-20 10:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:58:12] [INFO] Checking activity reminders 
[2026-04-20 10:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:58:51] [INFO] Checking activity reminders 
[2026-04-20 10:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:59:22] [INFO] Checking activity reminders 
[2026-04-20 10:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 10:59:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 10:59:52] [INFO] Checking activity reminders 
[2026-04-20 10:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 10:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:00:22] [INFO] Checking activity reminders 
[2026-04-20 11:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:00:52] [INFO] Checking activity reminders 
[2026-04-20 11:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:01:22] [INFO] Checking activity reminders 
[2026-04-20 11:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:01:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:01:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:01:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:01:40] [INFO] generateDealTitle result {"contact_id":"10621","person_name":"عبدالهی","mobile":"9167114158","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9167114158"}
[2026-04-20 11:01:52] [INFO] Checking activity reminders 
[2026-04-20 11:01:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:01:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:02:22] [INFO] Checking activity reminders 
[2026-04-20 11:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:03:36] [INFO] Checking activity reminders 
[2026-04-20 11:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:04:06] [INFO] Checking activity reminders 
[2026-04-20 11:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:04:10] [INFO] Checking activity reminders 
[2026-04-20 11:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:04:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:04:36] [INFO] Checking activity reminders 
[2026-04-20 11:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:04:40] [INFO] Checking activity reminders 
[2026-04-20 11:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:04:58] [INFO] Checking activity reminders 
[2026-04-20 11:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:05:10] [INFO] Checking activity reminders 
[2026-04-20 11:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:05:28] [INFO] Checking activity reminders 
[2026-04-20 11:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:05:40] [INFO] Checking activity reminders 
[2026-04-20 11:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:05:48] [INFO] Activity save request {"post_data":{"contact_id":"10621","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"10 ت امروز تسویه کرد نمیتونم مالی ثبت کنم به علت مبلغ ارجاع به اقای سهرابی","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:05:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:05:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:05:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:05:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:05:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"10621","note_was_empty":true}
[2026-04-20 11:05:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"10621","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:05:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5d754be6cd5.76472971","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:05:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:05:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5d754be6cd5.76472971"}
[2026-04-20 11:05:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:05:48] [INFO] Updating virtual stage {"contact_id":"10621","stage_name":"deal_registered","force":false}
[2026-04-20 11:05:48] [INFO] Virtual stage successfully saved {"contact_id":"10621","stage_name":"deal_registered"}
[2026-04-20 11:05:48] [INFO] Virtual stage updated after activity save {"contact_id":"10621"}
[2026-04-20 11:05:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:05:58] [INFO] Checking activity reminders 
[2026-04-20 11:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:06:10] [INFO] Checking activity reminders 
[2026-04-20 11:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:06:28] [INFO] Checking activity reminders 
[2026-04-20 11:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:06:40] [INFO] Checking activity reminders 
[2026-04-20 11:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:06:58] [INFO] Checking activity reminders 
[2026-04-20 11:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:07:10] [INFO] Checking activity reminders 
[2026-04-20 11:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:07:28] [INFO] Checking activity reminders 
[2026-04-20 11:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:07:40] [INFO] Checking activity reminders 
[2026-04-20 11:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:07:58] [INFO] Checking activity reminders 
[2026-04-20 11:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:08:11] [INFO] Checking activity reminders 
[2026-04-20 11:08:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:08:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:08:28] [INFO] Checking activity reminders 
[2026-04-20 11:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:08:41] [INFO] Checking activity reminders 
[2026-04-20 11:08:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:08:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:08:58] [INFO] Checking activity reminders 
[2026-04-20 11:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:09:11] [INFO] Checking activity reminders 
[2026-04-20 11:09:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:09:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:09:29] [INFO] Checking activity reminders 
[2026-04-20 11:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:09:41] [INFO] Checking activity reminders 
[2026-04-20 11:09:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:09:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:09:59] [INFO] Checking activity reminders 
[2026-04-20 11:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:10:11] [INFO] Checking activity reminders 
[2026-04-20 11:10:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:10:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:10:29] [INFO] Checking activity reminders 
[2026-04-20 11:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:10:42] [INFO] Checking activity reminders 
[2026-04-20 11:10:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:10:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:10:59] [INFO] Checking activity reminders 
[2026-04-20 11:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:11:12] [INFO] Checking activity reminders 
[2026-04-20 11:11:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:11:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:11:29] [INFO] Checking activity reminders 
[2026-04-20 11:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:11:42] [INFO] Checking activity reminders 
[2026-04-20 11:11:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:11:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:11:59] [INFO] Checking activity reminders 
[2026-04-20 11:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:12:12] [INFO] Checking activity reminders 
[2026-04-20 11:12:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:12:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:12:29] [INFO] Checking activity reminders 
[2026-04-20 11:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:12:42] [INFO] Checking activity reminders 
[2026-04-20 11:12:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:12:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:12:59] [INFO] Checking activity reminders 
[2026-04-20 11:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:13:12] [INFO] Checking activity reminders 
[2026-04-20 11:13:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:13:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:13:29] [INFO] Checking activity reminders 
[2026-04-20 11:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:13:43] [INFO] Checking activity reminders 
[2026-04-20 11:13:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:13:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:13:59] [INFO] Checking activity reminders 
[2026-04-20 11:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:14:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:13] [INFO] Checking activity reminders 
[2026-04-20 11:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:14:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:14:29] [INFO] Checking activity reminders 
[2026-04-20 11:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:14:36] [INFO] Activity save request {"post_data":{"contact_id":"20466","deal_id":"local_69e0a595b361a1.06384647","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"فعلا نمیخواد کانال رو گفتم اسمت از لیست حذف میشه \/ زد شرایط بهتر بشه میام","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:14:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20466","note_was_empty":true}
[2026-04-20 11:14:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"20466","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:36] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-20 11:14:36] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-20 11:14:36] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-20 11:14:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a595b361a1.06384647","stage":"تماس پیگیری","status_change":null}
[2026-04-20 11:14:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5d964abb325.39403752","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5d964abb325.39403752"}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:36] [INFO] Updating virtual stage {"contact_id":"20466","stage_name":"deal_registered","force":false}
[2026-04-20 11:14:36] [INFO] Virtual stage successfully saved {"contact_id":"20466","stage_name":"deal_registered"}
[2026-04-20 11:14:36] [INFO] Virtual stage updated after activity save {"contact_id":"20466"}
[2026-04-20 11:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-20 11:14:43] [INFO] Checking activity reminders 
[2026-04-20 11:14:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:14:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:14:59] [INFO] Checking activity reminders 
[2026-04-20 11:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:15:13] [INFO] Checking activity reminders 
[2026-04-20 11:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:15:29] [INFO] Checking activity reminders 
[2026-04-20 11:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:15:43] [INFO] Checking activity reminders 
[2026-04-20 11:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:16:00] [INFO] Checking activity reminders 
[2026-04-20 11:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:16:13] [INFO] Checking activity reminders 
[2026-04-20 11:16:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:16:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:16:30] [INFO] Checking activity reminders 
[2026-04-20 11:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:16:43] [INFO] Checking activity reminders 
[2026-04-20 11:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:17:00] [INFO] Checking activity reminders 
[2026-04-20 11:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:17:13] [INFO] Checking activity reminders 
[2026-04-20 11:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:17:30] [INFO] Checking activity reminders 
[2026-04-20 11:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:17:43] [INFO] Checking activity reminders 
[2026-04-20 11:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:18:00] [INFO] Checking activity reminders 
[2026-04-20 11:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:18:13] [INFO] Checking activity reminders 
[2026-04-20 11:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:18:30] [INFO] Checking activity reminders 
[2026-04-20 11:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:18:43] [INFO] Checking activity reminders 
[2026-04-20 11:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:19:00] [INFO] Checking activity reminders 
[2026-04-20 11:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:19:14] [INFO] Checking activity reminders 
[2026-04-20 11:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:19:30] [INFO] Checking activity reminders 
[2026-04-20 11:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:19:44] [INFO] Checking activity reminders 
[2026-04-20 11:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:20:01] [INFO] Checking activity reminders 
[2026-04-20 11:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:20:14] [INFO] Checking activity reminders 
[2026-04-20 11:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:20:31] [INFO] Checking activity reminders 
[2026-04-20 11:20:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:20:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:20:44] [INFO] Checking activity reminders 
[2026-04-20 11:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:21:01] [INFO] Checking activity reminders 
[2026-04-20 11:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:21:14] [INFO] Checking activity reminders 
[2026-04-20 11:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:21:31] [INFO] Checking activity reminders 
[2026-04-20 11:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:21:44] [INFO] Checking activity reminders 
[2026-04-20 11:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:22:01] [INFO] Checking activity reminders 
[2026-04-20 11:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:22:14] [INFO] Checking activity reminders 
[2026-04-20 11:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:22:31] [INFO] Checking activity reminders 
[2026-04-20 11:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:22:44] [INFO] Checking activity reminders 
[2026-04-20 11:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:23:01] [INFO] Checking activity reminders 
[2026-04-20 11:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:23:31] [INFO] Checking activity reminders 
[2026-04-20 11:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:24:01] [INFO] Checking activity reminders 
[2026-04-20 11:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:24:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20946","deal_id":"local_69d20e9e813005.05360731","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 11:24:18","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 11:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:24:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20946","is_new_deal":false}
[2026-04-20 11:24:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 11:24:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 11:24:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 11:24:18] [INFO] getContactPrimaryPhone called {"contact_id":"20946"}
[2026-04-20 11:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:24:18] [INFO] getContactPrimaryPhone result {"contact_id":"20946","person_found":true,"primary_phone":"9131190268"}
[2026-04-20 11:24:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131190268"}
[2026-04-20 11:24:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131190268","contact_id":"20946","deal_id":"local_69d20e9e813005.05360731","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 11:24:18"}
[2026-04-20 11:24:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d20e9e813005.05360731","contact_id":"20946","existing_deal_found":true,"existing_contact_id":"20946","existing_title":"معامله دوم 9131190268 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 11:24:18"}
[2026-04-20 11:24:18] [INFO] DealController.save validated payments {"deal_id":"local_69d20e9e813005.05360731","contact_id":"20946","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-20 11:24:18] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20946","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 11:24:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d20e9e813005.05360731","contact_didar_id":"20946","title":"معامله دوم 9131190268 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9131190268","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مسعود ترکان","existing_deal":"YES","existing_deal_id":"local_69d20e9e813005.05360731","existing_deal_status":"Pending","server_time":"2026-04-20 11:24:18","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 11:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:24:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d20e9e813005.05360731","contact_id":"20946","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9131190268 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-20 11:24:18","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 11:24:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:24:31] [INFO] Checking activity reminders 
[2026-04-20 11:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:25:02] [INFO] Checking activity reminders 
[2026-04-20 11:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:25:32] [INFO] Checking activity reminders 
[2026-04-20 11:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:26:02] [INFO] Checking activity reminders 
[2026-04-20 11:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:26:24] [INFO] Checking activity reminders 
[2026-04-20 11:26:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:26:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:26:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:26:32] [INFO] Checking activity reminders 
[2026-04-20 11:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:26:54] [INFO] Checking activity reminders 
[2026-04-20 11:26:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:26:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:27:02] [INFO] Checking activity reminders 
[2026-04-20 11:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:27:24] [INFO] Checking activity reminders 
[2026-04-20 11:27:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:27:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:27:32] [INFO] Checking activity reminders 
[2026-04-20 11:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:27:54] [INFO] Checking activity reminders 
[2026-04-20 11:27:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:27:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:28:02] [INFO] Checking activity reminders 
[2026-04-20 11:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:28:13] [INFO] Activity save request {"post_data":{"contact_id":"20946","deal_id":"local_69d20e9e813005.05360731","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در طلا سرمایه گذاری \r\n12-14 16 پله های خرید طلا \r\nپرزنت 405 \r\n6 ماهه داشته باشه\r\nشرایط در بله ارسال کردم \r\nاطلاع میده ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:28:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20946","note_was_empty":true}
[2026-04-20 11:28:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"20946","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:13] [INFO] Updating virtual stage {"contact_id":"20946","stage_name":"deal_registered","force":false}
[2026-04-20 11:28:13] [INFO] Virtual stage successfully saved {"contact_id":"20946","stage_name":"deal_registered"}
[2026-04-20 11:28:13] [INFO] Virtual stage updated after activity save {"contact_id":"20946"}
[2026-04-20 11:28:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d20e9e813005.05360731","stage":"تماس پیگیری","status_change":null}
[2026-04-20 11:28:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5dc95b510e7.00194003","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5dc95b510e7.00194003"}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:13] [INFO] Updating virtual stage {"contact_id":"20946","stage_name":"deal_registered","force":false}
[2026-04-20 11:28:13] [INFO] Virtual stage successfully saved {"contact_id":"20946","stage_name":"deal_registered"}
[2026-04-20 11:28:13] [INFO] Virtual stage updated after activity save {"contact_id":"20946"}
[2026-04-20 11:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20946","person_id":"20143"}
[2026-04-20 11:28:19] [INFO] Activity save request {"post_data":{"contact_id":"790","deal_id":"local_69d0a80a342182.92404278","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دیشب صحبت سال گذشته 6ماه بوده کانال طلا کلی سود کرده رضایت داشت \/ زمین خریده 6میلیارد الان 40میلیارد میخوان نمیده میخواد بسازه تجاری هست ملک \r\nارسال ش کارت واریز کنه \/ میگه مال دارم نقد خالی هستم","activity_duration":"30","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:28:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"790","note_was_empty":true}
[2026-04-20 11:28:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"790","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:19] [INFO] Updating virtual stage {"contact_id":"790","stage_name":"deal_registered","force":false}
[2026-04-20 11:28:19] [INFO] Virtual stage successfully saved {"contact_id":"790","stage_name":"deal_registered"}
[2026-04-20 11:28:19] [INFO] Virtual stage updated after activity save {"contact_id":"790"}
[2026-04-20 11:28:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a80a342182.92404278","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-20 11:28:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5dc9b50a2d6.74849770","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5dc9b50a2d6.74849770"}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:19] [INFO] Updating virtual stage {"contact_id":"790","stage_name":"deal_registered","force":false}
[2026-04-20 11:28:19] [INFO] Virtual stage successfully saved {"contact_id":"790","stage_name":"deal_registered"}
[2026-04-20 11:28:19] [INFO] Virtual stage updated after activity save {"contact_id":"790"}
[2026-04-20 11:28:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"790","person_id":"13885"}
[2026-04-20 11:28:24] [INFO] Checking activity reminders 
[2026-04-20 11:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:28:54] [INFO] Checking activity reminders 
[2026-04-20 11:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:02] [INFO] Checking activity reminders 
[2026-04-20 11:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:24] [INFO] Checking activity reminders 
[2026-04-20 11:29:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:29:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:32] [INFO] Checking activity reminders 
[2026-04-20 11:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:43] [INFO] Checking activity reminders 
[2026-04-20 11:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:54] [INFO] Checking activity reminders 
[2026-04-20 11:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:29:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:30:13] [INFO] Checking activity reminders 
[2026-04-20 11:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:30:25] [INFO] Checking activity reminders 
[2026-04-20 11:30:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:30:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:30:43] [INFO] Checking activity reminders 
[2026-04-20 11:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:30:55] [INFO] Checking activity reminders 
[2026-04-20 11:30:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:30:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:31:13] [INFO] Checking activity reminders 
[2026-04-20 11:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:31:25] [INFO] Checking activity reminders 
[2026-04-20 11:31:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:31:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:31:43] [INFO] Checking activity reminders 
[2026-04-20 11:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:31:55] [INFO] Checking activity reminders 
[2026-04-20 11:31:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:31:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:32:13] [INFO] Checking activity reminders 
[2026-04-20 11:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:32:25] [INFO] Checking activity reminders 
[2026-04-20 11:32:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:32:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:32:43] [INFO] Checking activity reminders 
[2026-04-20 11:32:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:32:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:32:44] [INFO] Activity save request {"post_data":{"contact_id":"15112","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"در کانال 404 در خرید و فروش طلا متضرر شده \r\nبه اختیار خودش طلا فروخته و نوسان گیری کرده 500 میلیون ضرر کرده \r\nدر کانال پشتیبانی استاد گفته نفروش خودش فروخته بالای 4 بار تماس و مشاوره هر با 30-40 دقیقه فقط غر میزنه \r\nتهدید به شکایت \r\nمیگه شما منو بدبخت کردید \r\nاستاد از کانال پشتیبانی بلاک کردند \/ گفتند که هیچ خدماتی داده نشود ","activity_duration":"20","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:32:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:32:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:32:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15112","note_was_empty":true}
[2026-04-20 11:32:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"15112","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 11:32:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5dda4a69d87.85322948","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:32:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5dda4a69d87.85322948"}
[2026-04-20 11:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:32:44] [INFO] Updating virtual stage {"contact_id":"15112","stage_name":"deal_registered","force":false}
[2026-04-20 11:32:44] [INFO] Virtual stage successfully saved {"contact_id":"15112","stage_name":"deal_registered"}
[2026-04-20 11:32:44] [INFO] Virtual stage updated after activity save {"contact_id":"15112"}
[2026-04-20 11:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15112","person_id":"1157"}
[2026-04-20 11:33:14] [INFO] Checking activity reminders 
[2026-04-20 11:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:33:44] [INFO] Checking activity reminders 
[2026-04-20 11:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:34:14] [INFO] Checking activity reminders 
[2026-04-20 11:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:34:44] [INFO] Checking activity reminders 
[2026-04-20 11:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:35:14] [INFO] Checking activity reminders 
[2026-04-20 11:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:35:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:44] [INFO] Checking activity reminders 
[2026-04-20 11:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:35:45] [INFO] Activity save request {"post_data":{"contact_id":"20971","deal_id":"local_69d4a8b07a4067.06131327","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:35:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20971","note_was_empty":true}
[2026-04-20 11:35:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"20971","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:45] [INFO] Updating virtual stage {"contact_id":"20971","stage_name":"deal_registered","force":false}
[2026-04-20 11:35:45] [INFO] Virtual stage successfully saved {"contact_id":"20971","stage_name":"deal_registered"}
[2026-04-20 11:35:45] [INFO] Virtual stage updated after activity save {"contact_id":"20971"}
[2026-04-20 11:35:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4a8b07a4067.06131327","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-20 11:35:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5de598bcfd0.95131274","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5de598bcfd0.95131274"}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:35:45] [INFO] Updating virtual stage {"contact_id":"20971","stage_name":"deal_registered","force":false}
[2026-04-20 11:35:45] [INFO] Virtual stage successfully saved {"contact_id":"20971","stage_name":"deal_registered"}
[2026-04-20 11:35:45] [INFO] Virtual stage updated after activity save {"contact_id":"20971"}
[2026-04-20 11:35:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-20 11:36:14] [INFO] Checking activity reminders 
[2026-04-20 11:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:36:44] [INFO] Checking activity reminders 
[2026-04-20 11:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:37:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:37:14] [INFO] Checking activity reminders 
[2026-04-20 11:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:37:45] [INFO] Checking activity reminders 
[2026-04-20 11:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:38:15] [INFO] Checking activity reminders 
[2026-04-20 11:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:38:45] [INFO] Checking activity reminders 
[2026-04-20 11:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:39:15] [INFO] Checking activity reminders 
[2026-04-20 11:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:39:45] [INFO] Checking activity reminders 
[2026-04-20 11:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:40:15] [INFO] Checking activity reminders 
[2026-04-20 11:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:40:31] [INFO] Checking activity reminders 
[2026-04-20 11:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:40:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:40:37] [INFO] Activity save request {"post_data":{"contact_id":"21010","deal_id":"local_69bbad795a5727.48553580","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:40:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21010","note_was_empty":true}
[2026-04-20 11:40:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"21010","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:37] [INFO] Updating virtual stage {"contact_id":"21010","stage_name":"deal_registered","force":false}
[2026-04-20 11:40:37] [INFO] Virtual stage successfully saved {"contact_id":"21010","stage_name":"deal_registered"}
[2026-04-20 11:40:37] [INFO] Virtual stage updated after activity save {"contact_id":"21010"}
[2026-04-20 11:40:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbad795a5727.48553580","stage":"تماس پیگیری","status_change":null}
[2026-04-20 11:40:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5df7dcd8344.11892219","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5df7dcd8344.11892219"}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:37] [INFO] Updating virtual stage {"contact_id":"21010","stage_name":"deal_registered","force":false}
[2026-04-20 11:40:37] [INFO] Virtual stage successfully saved {"contact_id":"21010","stage_name":"deal_registered"}
[2026-04-20 11:40:37] [INFO] Virtual stage updated after activity save {"contact_id":"21010"}
[2026-04-20 11:40:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21010","person_id":"13071"}
[2026-04-20 11:40:45] [INFO] Checking activity reminders 
[2026-04-20 11:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:40:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:41:01] [INFO] Checking activity reminders 
[2026-04-20 11:41:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:41:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:41:06] [INFO] Activity save request {"post_data":{"contact_id":"15264","deal_id":"local_699d6ed9b56097.23396614","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فعلا میگه نمیتونم باشم کانال درگیر نمایشگاه هست گیره","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:41:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15264","note_was_empty":true}
[2026-04-20 11:41:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"15264","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:06] [INFO] Updating virtual stage {"contact_id":"15264","stage_name":"deal_registered","force":false}
[2026-04-20 11:41:06] [INFO] Virtual stage successfully saved {"contact_id":"15264","stage_name":"deal_registered"}
[2026-04-20 11:41:06] [INFO] Virtual stage updated after activity save {"contact_id":"15264"}
[2026-04-20 11:41:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d6ed9b56097.23396614","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-20 11:41:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5df9a5e0423.62807462","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5df9a5e0423.62807462"}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:06] [INFO] Updating virtual stage {"contact_id":"15264","stage_name":"deal_registered","force":false}
[2026-04-20 11:41:06] [INFO] Virtual stage successfully saved {"contact_id":"15264","stage_name":"deal_registered"}
[2026-04-20 11:41:06] [INFO] Virtual stage updated after activity save {"contact_id":"15264"}
[2026-04-20 11:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15264","person_id":"15916"}
[2026-04-20 11:41:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:41:15] [INFO] Checking activity reminders 
[2026-04-20 11:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:41:31] [INFO] Checking activity reminders 
[2026-04-20 11:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:41:45] [INFO] Checking activity reminders 
[2026-04-20 11:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:42:01] [INFO] Checking activity reminders 
[2026-04-20 11:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:42:16] [INFO] Checking activity reminders 
[2026-04-20 11:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:42:31] [INFO] Checking activity reminders 
[2026-04-20 11:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:42:46] [INFO] Checking activity reminders 
[2026-04-20 11:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:43:01] [INFO] Checking activity reminders 
[2026-04-20 11:43:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:43:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:43:16] [INFO] Checking activity reminders 
[2026-04-20 11:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:43:31] [INFO] Checking activity reminders 
[2026-04-20 11:43:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:43:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:43:46] [INFO] Checking activity reminders 
[2026-04-20 11:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:44:01] [INFO] Checking activity reminders 
[2026-04-20 11:44:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:44:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:44:16] [INFO] Checking activity reminders 
[2026-04-20 11:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:44:46] [INFO] Checking activity reminders 
[2026-04-20 11:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:45:16] [INFO] Checking activity reminders 
[2026-04-20 11:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:45:46] [INFO] Checking activity reminders 
[2026-04-20 11:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:46:04] [INFO] Lead update received {"contact_id":"10348","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 11:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:46:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10348"}
[2026-04-20 11:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:46:07] [INFO] Checking activity reminders 
[2026-04-20 11:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:46:16] [INFO] Checking activity reminders 
[2026-04-20 11:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:46:37] [INFO] Checking activity reminders 
[2026-04-20 11:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:46:46] [INFO] Checking activity reminders 
[2026-04-20 11:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:47:07] [INFO] Checking activity reminders 
[2026-04-20 11:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:47:17] [INFO] Checking activity reminders 
[2026-04-20 11:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:47:37] [INFO] Checking activity reminders 
[2026-04-20 11:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:47:38] [INFO] Activity save request {"post_data":{"contact_id":"1090","deal_id":"local_699d6e7a37cb10.90844750","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"چک ها قبل سال تحویل شده 2تاش تا الان پاس شده یکیش مونده","activity_duration":"10","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:47:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1090","note_was_empty":true}
[2026-04-20 11:47:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"1090","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Updating virtual stage {"contact_id":"1090","stage_name":"with_purchase","force":false}
[2026-04-20 11:47:38] [INFO] Virtual stage successfully saved {"contact_id":"1090","stage_name":"with_purchase"}
[2026-04-20 11:47:38] [INFO] Virtual stage updated after activity save {"contact_id":"1090"}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d6e7a37cb10.90844750","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:47:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e12274b5e5.62044024","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e12274b5e5.62044024"}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:38] [INFO] Updating virtual stage {"contact_id":"1090","stage_name":"with_purchase","force":false}
[2026-04-20 11:47:38] [INFO] Virtual stage successfully saved {"contact_id":"1090","stage_name":"with_purchase"}
[2026-04-20 11:47:38] [INFO] Virtual stage updated after activity save {"contact_id":"1090"}
[2026-04-20 11:47:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-20 11:47:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:47:47] [INFO] Checking activity reminders 
[2026-04-20 11:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:48:07] [INFO] Checking activity reminders 
[2026-04-20 11:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:48:17] [INFO] Checking activity reminders 
[2026-04-20 11:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:48:38] [INFO] Checking activity reminders 
[2026-04-20 11:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:48:47] [INFO] Checking activity reminders 
[2026-04-20 11:48:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:48:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:48:51] [INFO] Activity save request {"post_data":{"contact_id":"10348","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کارمند \r\nبرای کانال 405 سرمایه نداشته \r\nبرای نوسان گیری مبلغی نداره \r\nارسال لینککانال عمومی در بله ","activity_duration":"3","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:48:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:48:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:48:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:48:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:48:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10348","note_was_empty":true}
[2026-04-20 11:48:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"10348","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 11:48:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e16b88e5c4.11311298","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:48:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:48:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e16b88e5c4.11311298"}
[2026-04-20 11:48:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:48:51] [INFO] Updating virtual stage {"contact_id":"10348","stage_name":"deal_registered","force":false}
[2026-04-20 11:48:51] [INFO] Virtual stage successfully saved {"contact_id":"10348","stage_name":"deal_registered"}
[2026-04-20 11:48:51] [INFO] Virtual stage updated after activity save {"contact_id":"10348"}
[2026-04-20 11:48:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:48:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:49:09] [INFO] Lead update received {"contact_id":"10348","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 11:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:49:09] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10348"}
[2026-04-20 11:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10348","person_id":"20590"}
[2026-04-20 11:49:17] [INFO] Checking activity reminders 
[2026-04-20 11:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:49:43] [INFO] Checking activity reminders 
[2026-04-20 11:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:49:45] [INFO] Checking activity reminders 
[2026-04-20 11:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 11:50:15] [INFO] Checking activity reminders 
[2026-04-20 11:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:50:31] [INFO] Checking activity reminders 
[2026-04-20 11:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:50:45] [INFO] Checking activity reminders 
[2026-04-20 11:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:51:15] [INFO] Checking activity reminders 
[2026-04-20 11:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:51:32] [INFO] Checking activity reminders 
[2026-04-20 11:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:51:45] [INFO] Checking activity reminders 
[2026-04-20 11:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:51:49] [INFO] Checking activity reminders 
[2026-04-20 11:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:52:04] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 11:52:04] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 11:52:04] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 11:52:13] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 11:52:13] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-20 11:52:13] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-20 11:52:14] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 11:52:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 11:52:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 11:52:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 11:52:15] [INFO] Checking activity reminders 
[2026-04-20 11:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:52:17] [INFO] Activity save request {"post_data":{"contact_id":"9300","deal_id":"local_695539fbbea595.35516633","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"دی تسویه شده مالی ثبت بوده \/ ","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:52:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9300","note_was_empty":true}
[2026-04-20 11:52:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"9300","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Updating virtual stage {"contact_id":"9300","stage_name":"with_purchase","force":false}
[2026-04-20 11:52:17] [INFO] Virtual stage successfully saved {"contact_id":"9300","stage_name":"with_purchase"}
[2026-04-20 11:52:17] [INFO] Virtual stage updated after activity save {"contact_id":"9300"}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695539fbbea595.35516633","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:52:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e23962bb24.54238448","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e23962bb24.54238448"}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:17] [INFO] Updating virtual stage {"contact_id":"9300","stage_name":"with_purchase","force":false}
[2026-04-20 11:52:17] [INFO] Virtual stage successfully saved {"contact_id":"9300","stage_name":"with_purchase"}
[2026-04-20 11:52:17] [INFO] Virtual stage updated after activity save {"contact_id":"9300"}
[2026-04-20 11:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9300","person_id":"20365"}
[2026-04-20 11:52:19] [INFO] Checking activity reminders 
[2026-04-20 11:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:52:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:52:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:52:44] [INFO] Checking activity reminders 
[2026-04-20 11:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:52:45] [INFO] Checking activity reminders 
[2026-04-20 11:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:52:49] [INFO] Checking activity reminders 
[2026-04-20 11:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:00] [INFO] Checking activity reminders 
[2026-04-20 11:53:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:03] [INFO] Activity save request {"post_data":{"contact_id":"11331","deal_id":"local_69553a88daa368.52886624","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بهمن تسویه شده","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:53:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11331","note_was_empty":true}
[2026-04-20 11:53:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"11331","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Updating virtual stage {"contact_id":"11331","stage_name":"with_purchase","force":false}
[2026-04-20 11:53:03] [INFO] Virtual stage successfully saved {"contact_id":"11331","stage_name":"with_purchase"}
[2026-04-20 11:53:03] [INFO] Virtual stage updated after activity save {"contact_id":"11331"}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69553a88daa368.52886624","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:53:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2679ce1c6.50631911","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2679ce1c6.50631911"}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:03] [INFO] Updating virtual stage {"contact_id":"11331","stage_name":"with_purchase","force":false}
[2026-04-20 11:53:03] [INFO] Virtual stage successfully saved {"contact_id":"11331","stage_name":"with_purchase"}
[2026-04-20 11:53:03] [INFO] Virtual stage updated after activity save {"contact_id":"11331"}
[2026-04-20 11:53:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11331","person_id":"20604"}
[2026-04-20 11:53:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:53:11] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 11:53:11","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:53:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"11432","is_new_deal":false}
[2026-04-20 11:53:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 11:53:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 11:53:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 11:53:11] [INFO] getContactPrimaryPhone called {"contact_id":"11432"}
[2026-04-20 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:53:11] [INFO] getContactPrimaryPhone result {"contact_id":"11432","person_found":true,"primary_phone":"9131592584"}
[2026-04-20 11:53:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131592584"}
[2026-04-20 11:53:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131592584","contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 11:53:11"}
[2026-04-20 11:53:11] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","existing_deal_found":true,"existing_contact_id":"11432","existing_title":"معامله اول 9131592584 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 11:53:11"}
[2026-04-20 11:53:11] [INFO] DealController.save validated payments {"deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 11:53:11] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11432","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 11:53:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a95b0d9b6c6.05208584","contact_didar_id":"11432","title":"معامله اول 9131592584 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9131592584","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورجعفری","existing_deal":"YES","existing_deal_id":"local_694a95b0d9b6c6.05208584","existing_deal_status":"Pending","server_time":"2026-04-20 11:53:11","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:53:11] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9131592584 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":30000000,"server_time":"2026-04-20 11:53:11","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 11:53:15] [INFO] Checking activity reminders 
[2026-04-20 11:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:19] [INFO] Checking activity reminders 
[2026-04-20 11:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:30] [INFO] Checking activity reminders 
[2026-04-20 11:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:46] [INFO] Checking activity reminders 
[2026-04-20 11:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:53:49] [INFO] Checking activity reminders 
[2026-04-20 11:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:54:02] [INFO] Activity save request {"post_data":{"contact_id":"9815","deal_id":"local_694bca632b2531.53311845","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:54:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9815","note_was_empty":true}
[2026-04-20 11:54:02] [INFO] Didar write disabled; saving activity locally {"contact_id":"9815","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Updating virtual stage {"contact_id":"9815","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:02] [INFO] Virtual stage successfully saved {"contact_id":"9815","stage_name":"with_purchase"}
[2026-04-20 11:54:02] [INFO] Virtual stage updated after activity save {"contact_id":"9815"}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694bca632b2531.53311845","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:54:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2a2bbf294.67034557","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2a2bbf294.67034557"}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:02] [INFO] Updating virtual stage {"contact_id":"9815","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:02] [INFO] Virtual stage successfully saved {"contact_id":"9815","stage_name":"with_purchase"}
[2026-04-20 11:54:02] [INFO] Virtual stage updated after activity save {"contact_id":"9815"}
[2026-04-20 11:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-20 11:54:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:16] [INFO] Checking activity reminders 
[2026-04-20 11:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:54:19] [INFO] Checking activity reminders 
[2026-04-20 11:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:54:31] [INFO] Activity save request {"post_data":{"contact_id":"6581","deal_id":"local_69490152bf17f2.72285161","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:54:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6581","note_was_empty":true}
[2026-04-20 11:54:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"6581","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Updating virtual stage {"contact_id":"6581","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:31] [INFO] Virtual stage successfully saved {"contact_id":"6581","stage_name":"with_purchase"}
[2026-04-20 11:54:31] [INFO] Virtual stage updated after activity save {"contact_id":"6581"}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69490152bf17f2.72285161","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:54:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2bf8d7520.22443294","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2bf8d7520.22443294"}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:31] [INFO] Updating virtual stage {"contact_id":"6581","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:31] [INFO] Virtual stage successfully saved {"contact_id":"6581","stage_name":"with_purchase"}
[2026-04-20 11:54:31] [INFO] Virtual stage updated after activity save {"contact_id":"6581"}
[2026-04-20 11:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6581","person_id":"2796"}
[2026-04-20 11:54:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:46] [INFO] Checking activity reminders 
[2026-04-20 11:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:54:49] [INFO] Checking activity reminders 
[2026-04-20 11:54:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:54:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:54:54] [INFO] Activity save request {"post_data":{"contact_id":"20896","deal_id":"local_694ff4ca2ef669.09580004","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:54:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20896","note_was_empty":true}
[2026-04-20 11:54:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"20896","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Updating virtual stage {"contact_id":"20896","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:54] [INFO] Virtual stage successfully saved {"contact_id":"20896","stage_name":"with_purchase"}
[2026-04-20 11:54:54] [INFO] Virtual stage updated after activity save {"contact_id":"20896"}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694ff4ca2ef669.09580004","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:54:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2d6b53f71.65692150","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2d6b53f71.65692150"}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:54:54] [INFO] Updating virtual stage {"contact_id":"20896","stage_name":"with_purchase","force":false}
[2026-04-20 11:54:54] [INFO] Virtual stage successfully saved {"contact_id":"20896","stage_name":"with_purchase"}
[2026-04-20 11:54:54] [INFO] Virtual stage updated after activity save {"contact_id":"20896"}
[2026-04-20 11:54:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-20 11:55:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Checking activity reminders 
[2026-04-20 11:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:55:16] [INFO] Activity save request {"post_data":{"contact_id":"13077","deal_id":"local_6953ba432b0b87.22040358","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:55:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"13077","note_was_empty":true}
[2026-04-20 11:55:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"13077","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Updating virtual stage {"contact_id":"13077","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:16] [INFO] Virtual stage successfully saved {"contact_id":"13077","stage_name":"with_purchase"}
[2026-04-20 11:55:16] [INFO] Virtual stage updated after activity save {"contact_id":"13077"}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6953ba432b0b87.22040358","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:55:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2ecadb946.06301388","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2ecadb946.06301388"}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:16] [INFO] Updating virtual stage {"contact_id":"13077","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:16] [INFO] Virtual stage successfully saved {"contact_id":"13077","stage_name":"with_purchase"}
[2026-04-20 11:55:16] [INFO] Virtual stage updated after activity save {"contact_id":"13077"}
[2026-04-20 11:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-04-20 11:55:19] [INFO] Checking activity reminders 
[2026-04-20 11:55:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:55:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:55:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Activity save request {"post_data":{"contact_id":"20615","deal_id":"local_694aada714d4c4.02253718","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:55:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20615","note_was_empty":true}
[2026-04-20 11:55:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"20615","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Updating virtual stage {"contact_id":"20615","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:33] [INFO] Virtual stage successfully saved {"contact_id":"20615","stage_name":"with_purchase"}
[2026-04-20 11:55:33] [INFO] Virtual stage updated after activity save {"contact_id":"20615"}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694aada714d4c4.02253718","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:55:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e2fdb7dee1.72047884","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e2fdb7dee1.72047884"}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:33] [INFO] Updating virtual stage {"contact_id":"20615","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:33] [INFO] Virtual stage successfully saved {"contact_id":"20615","stage_name":"with_purchase"}
[2026-04-20 11:55:33] [INFO] Virtual stage updated after activity save {"contact_id":"20615"}
[2026-04-20 11:55:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20615","person_id":"13947"}
[2026-04-20 11:55:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:46] [INFO] Checking activity reminders 
[2026-04-20 11:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:55:49] [INFO] Checking activity reminders 
[2026-04-20 11:55:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:55:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:55:50] [INFO] Checking activity reminders 
[2026-04-20 11:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:55:53] [INFO] Activity save request {"post_data":{"contact_id":"15210","deal_id":"local_6950fbef8031c1.26227361","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:55:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15210","note_was_empty":true}
[2026-04-20 11:55:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"15210","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Updating virtual stage {"contact_id":"15210","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:53] [INFO] Virtual stage successfully saved {"contact_id":"15210","stage_name":"with_purchase"}
[2026-04-20 11:55:53] [INFO] Virtual stage updated after activity save {"contact_id":"15210"}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950fbef8031c1.26227361","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:55:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e311cfae41.29484272","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e311cfae41.29484272"}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:53] [INFO] Updating virtual stage {"contact_id":"15210","stage_name":"with_purchase","force":false}
[2026-04-20 11:55:53] [INFO] Virtual stage successfully saved {"contact_id":"15210","stage_name":"with_purchase"}
[2026-04-20 11:55:53] [INFO] Virtual stage updated after activity save {"contact_id":"15210"}
[2026-04-20 11:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15210","person_id":"14281"}
[2026-04-20 11:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 11:55:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Activity save request {"post_data":{"contact_id":"7257","deal_id":"local_694fabf1160588.88630768","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:56:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7257","note_was_empty":true}
[2026-04-20 11:56:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"7257","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Updating virtual stage {"contact_id":"7257","stage_name":"deal_registered","force":false}
[2026-04-20 11:56:13] [INFO] Virtual stage successfully saved {"contact_id":"7257","stage_name":"deal_registered"}
[2026-04-20 11:56:13] [INFO] Virtual stage updated after activity save {"contact_id":"7257"}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694fabf1160588.88630768","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:56:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e325c007b9.04016129","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e325c007b9.04016129"}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:13] [INFO] Updating virtual stage {"contact_id":"7257","stage_name":"deal_registered","force":false}
[2026-04-20 11:56:13] [INFO] Virtual stage successfully saved {"contact_id":"7257","stage_name":"deal_registered"}
[2026-04-20 11:56:13] [INFO] Virtual stage updated after activity save {"contact_id":"7257"}
[2026-04-20 11:56:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7257","person_id":"18941"}
[2026-04-20 11:56:16] [INFO] Checking activity reminders 
[2026-04-20 11:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:56:19] [INFO] Checking activity reminders 
[2026-04-20 11:56:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:56:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:56:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 11:56:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:46] [INFO] Checking activity reminders 
[2026-04-20 11:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:56:50] [INFO] Checking activity reminders 
[2026-04-20 11:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:56:51] [INFO] Activity save request {"post_data":{"contact_id":"8438","deal_id":"local_694a5a967b08b7.60449672","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زمستون تسویه کرده بود","activity_duration":"4","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:56:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"8438","note_was_empty":true}
[2026-04-20 11:56:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"8438","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Updating virtual stage {"contact_id":"8438","stage_name":"with_purchase","force":false}
[2026-04-20 11:56:51] [INFO] Virtual stage successfully saved {"contact_id":"8438","stage_name":"with_purchase"}
[2026-04-20 11:56:51] [INFO] Virtual stage updated after activity save {"contact_id":"8438"}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694a5a967b08b7.60449672","stage":"اتمام","status_change":"Won"}
[2026-04-20 11:56:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e34b6ddb51.26682615","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e34b6ddb51.26682615"}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:51] [INFO] Updating virtual stage {"contact_id":"8438","stage_name":"with_purchase","force":false}
[2026-04-20 11:56:51] [INFO] Virtual stage successfully saved {"contact_id":"8438","stage_name":"with_purchase"}
[2026-04-20 11:56:51] [INFO] Virtual stage updated after activity save {"contact_id":"8438"}
[2026-04-20 11:56:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8438","person_id":"10514"}
[2026-04-20 11:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:57:16] [INFO] Checking activity reminders 
[2026-04-20 11:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:57:20] [INFO] Checking activity reminders 
[2026-04-20 11:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:57:41] [INFO] Checking activity reminders 
[2026-04-20 11:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:57:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 11:57:46] [INFO] Checking activity reminders 
[2026-04-20 11:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:57:50] [INFO] Checking activity reminders 
[2026-04-20 11:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:58:16] [INFO] Checking activity reminders 
[2026-04-20 11:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:58:20] [INFO] Checking activity reminders 
[2026-04-20 11:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:58:32] [INFO] Checking activity reminders 
[2026-04-20 11:58:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:58:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:58:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 11:58:46] [INFO] Checking activity reminders 
[2026-04-20 11:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:58:50] [INFO] Checking activity reminders 
[2026-04-20 11:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:02] [INFO] Checking activity reminders 
[2026-04-20 11:59:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:08] [INFO] Activity save request {"post_data":{"contact_id":"18241","deal_id":"local_69cd1fcfac18e7.91980196","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مانده داره تا الا 35 ت زده \/ پیگیری مانده ارسال پیام بله","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 11:59:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"18241","note_was_empty":true}
[2026-04-20 11:59:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"18241","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:08] [INFO] Updating virtual stage {"contact_id":"18241","stage_name":"deal_registered","force":false}
[2026-04-20 11:59:08] [INFO] Virtual stage successfully saved {"contact_id":"18241","stage_name":"deal_registered"}
[2026-04-20 11:59:08] [INFO] Virtual stage updated after activity save {"contact_id":"18241"}
[2026-04-20 11:59:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69cd1fcfac18e7.91980196","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-20 11:59:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e3d424c2f1.00271460","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e3d424c2f1.00271460"}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:08] [INFO] Updating virtual stage {"contact_id":"18241","stage_name":"deal_registered","force":false}
[2026-04-20 11:59:08] [INFO] Virtual stage successfully saved {"contact_id":"18241","stage_name":"deal_registered"}
[2026-04-20 11:59:08] [INFO] Virtual stage updated after activity save {"contact_id":"18241"}
[2026-04-20 11:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 11:59:17] [INFO] Checking activity reminders 
[2026-04-20 11:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:20] [INFO] Checking activity reminders 
[2026-04-20 11:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 11:59:32] [INFO] Checking activity reminders 
[2026-04-20 11:59:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:47] [INFO] Checking activity reminders 
[2026-04-20 11:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 11:59:50] [INFO] Checking activity reminders 
[2026-04-20 11:59:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 11:59:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:02] [INFO] Checking activity reminders 
[2026-04-20 12:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:17] [INFO] Checking activity reminders 
[2026-04-20 12:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:20] [INFO] Checking activity reminders 
[2026-04-20 12:00:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 12:00:22","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 12:00:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","is_new_deal":false}
[2026-04-20 12:00:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:22] [INFO] getContactPrimaryPhone called {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 12:00:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:22] [INFO] getContactPrimaryPhone result {"contact_id":"local_69528d8bc170f0.16410312","person_found":true,"primary_phone":"9133476277"}
[2026-04-20 12:00:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133476277"}
[2026-04-20 12:00:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133476277","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:00:22"}
[2026-04-20 12:00:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","existing_deal_found":true,"existing_contact_id":"local_69528d8bc170f0.16410312","existing_title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:00:22"}
[2026-04-20 12:00:22] [INFO] DealController.save validated payments {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 12:00:22] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_69528d8bc170f0.16410312","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 12:00:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69528d8bc3b0d","contact_didar_id":"local_69528d8bc170f0.16410312","title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9133476277","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای ادیب","existing_deal":"YES","existing_deal_id":"local_69528d8bc3b0d","existing_deal_status":"Won","server_time":"2026-04-20 12:00:22","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 12:00:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-20 12:00:22","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 12:00:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:32] [INFO] Checking activity reminders 
[2026-04-20 12:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 12:00:43","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","is_new_deal":false}
[2026-04-20 12:00:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 12:00:43] [INFO] getContactPrimaryPhone called {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:43] [INFO] getContactPrimaryPhone result {"contact_id":"local_69528d8bc170f0.16410312","person_found":true,"primary_phone":"9133476277"}
[2026-04-20 12:00:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133476277"}
[2026-04-20 12:00:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133476277","contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:00:43"}
[2026-04-20 12:00:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","existing_deal_found":true,"existing_contact_id":"local_69528d8bc170f0.16410312","existing_title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:00:43"}
[2026-04-20 12:00:43] [INFO] DealController.save validated payments {"deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","payments_count":1,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 12:00:43] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"local_69528d8bc170f0.16410312","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 12:00:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69528d8bc3b0d","contact_didar_id":"local_69528d8bc170f0.16410312","title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9133476277","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"اقای ادیب","existing_deal":"YES","existing_deal_id":"local_69528d8bc3b0d","existing_deal_status":"Pending","server_time":"2026-04-20 12:00:43","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:43] [INFO] Deal success processed {"contact_id":"local_69528d8bc170f0.16410312","person_name":"اقای ادیب","products_count":1}
[2026-04-20 12:00:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69528d8bc3b0d","contact_id":"local_69528d8bc170f0.16410312","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9133476277 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-20 12:00:43","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:43] [INFO] Updating virtual stage {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase","force":true}
[2026-04-20 12:00:43] [INFO] Virtual stage successfully saved {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase"}
[2026-04-20 12:00:43] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69528d8bc3b0d","target_stage":"with_purchase"}
[2026-04-20 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:00:47] [INFO] Checking activity reminders 
[2026-04-20 12:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:00:50] [INFO] Checking activity reminders 
[2026-04-20 12:00:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:00:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:02] [INFO] Checking activity reminders 
[2026-04-20 12:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:01:13] [INFO] Lead update received {"contact_id":"local_69528d8bc170f0.16410312","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 12:01:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:01:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:01:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:01:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 12:01:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 12:01:17] [INFO] Checking activity reminders 
[2026-04-20 12:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:20] [INFO] Checking activity reminders 
[2026-04-20 12:01:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:45] [INFO] Checking activity reminders 
[2026-04-20 12:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:47] [INFO] Checking activity reminders 
[2026-04-20 12:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:01:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:01:50] [INFO] Checking activity reminders 
[2026-04-20 12:01:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:01:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:05] [INFO] generateDealTitle result {"contact_id":"20871","person_name":"مصطفی محمدزاده","mobile":"9023371801","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9023371801"}
[2026-04-20 12:02:16] [INFO] Checking activity reminders 
[2026-04-20 12:02:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:17] [INFO] Checking activity reminders 
[2026-04-20 12:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:19] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20871","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 12:02:19","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 12:02:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20871","is_new_deal":true}
[2026-04-20 12:02:19] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 12:02:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 12:02:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 12:02:19] [INFO] getContactPrimaryPhone called {"contact_id":"20871"}
[2026-04-20 12:02:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:19] [INFO] getContactPrimaryPhone result {"contact_id":"20871","person_found":true,"primary_phone":"9023371801"}
[2026-04-20 12:02:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9023371801"}
[2026-04-20 12:02:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9023371801","contact_id":"20871","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:02:19"}
[2026-04-20 12:02:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:19] [INFO] generateDealTitle result {"contact_id":"20871","person_name":"مصطفی محمدزاده","mobile":"9023371801","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9023371801"}
[2026-04-20 12:02:19] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"20871","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-20 12:02:19] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20871","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 12:02:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"20871","title":"معامله دوم 9023371801 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9023371801","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مصطفی محمدزاده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-20 12:02:19","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 12:02:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:19] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-20 12:02:19] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"20871","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9023371801 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-20 12:02:19","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 12:02:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 12:02:21] [INFO] Checking activity reminders 
[2026-04-20 12:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:27] [INFO] Checking activity reminders 
[2026-04-20 12:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:43] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9907735309","09907735309"]}
[2026-04-20 12:02:43] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9907735309","09907735309"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-20 12:02:43] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9907735309","full_name":"لید جدید"}
[2026-04-20 12:02:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 12:02:43] [INFO] Notification created {"notification_id":"662","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-20 12:02:47] [INFO] Checking activity reminders 
[2026-04-20 12:02:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:51] [INFO] Checking activity reminders 
[2026-04-20 12:02:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:53] [INFO] Checking activity reminders 
[2026-04-20 12:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:02:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:02:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:02:53] [INFO] generateDealTitle result {"contact_id":"6060","person_name":"علیرضا باقری","mobile":"9123788947","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9123788947"}
[2026-04-20 12:02:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:00] [INFO] generateDealTitle result {"contact_id":"12007","person_name":"خضر نژاد","mobile":"9144884467","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9144884467"}
[2026-04-20 12:03:17] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 12:03:17","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 12:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","is_new_deal":true}
[2026-04-20 12:03:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 12:03:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 12:03:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 12:03:17] [INFO] getContactPrimaryPhone called {"contact_id":"12007"}
[2026-04-20 12:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:17] [INFO] getContactPrimaryPhone result {"contact_id":"12007","person_found":true,"primary_phone":"9144884467"}
[2026-04-20 12:03:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144884467"}
[2026-04-20 12:03:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144884467","contact_id":"12007","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 12:03:17"}
[2026-04-20 12:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:17] [INFO] generateDealTitle result {"contact_id":"12007","person_name":"خضر نژاد","mobile":"9144884467","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9144884467"}
[2026-04-20 12:03:17] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"12007","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-20 12:03:17] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12007","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 12:03:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"12007","title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9144884467","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خضر نژاد","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-20 12:03:17","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 12:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:17] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-20 12:03:17] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"12007","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-20 12:03:17","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 12:03:17] [INFO] Checking activity reminders 
[2026-04-20 12:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 12:03:21] [INFO] Checking activity reminders 
[2026-04-20 12:03:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:03:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:03:23] [INFO] Checking activity reminders 
[2026-04-20 12:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:03:47] [INFO] Checking activity reminders 
[2026-04-20 12:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:03:51] [INFO] Checking activity reminders 
[2026-04-20 12:03:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:03:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:04:18] [INFO] Checking activity reminders 
[2026-04-20 12:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:04:21] [INFO] Checking activity reminders 
[2026-04-20 12:04:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:04:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:04:48] [INFO] Checking activity reminders 
[2026-04-20 12:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:04:51] [INFO] Checking activity reminders 
[2026-04-20 12:04:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:04:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:04:57] [INFO] Checking activity reminders 
[2026-04-20 12:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:18] [INFO] Checking activity reminders 
[2026-04-20 12:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:21] [INFO] Checking activity reminders 
[2026-04-20 12:05:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:28] [INFO] Checking activity reminders 
[2026-04-20 12:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:48] [INFO] Checking activity reminders 
[2026-04-20 12:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:51] [INFO] Checking activity reminders 
[2026-04-20 12:05:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:05:58] [INFO] Checking activity reminders 
[2026-04-20 12:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:06:18] [INFO] Checking activity reminders 
[2026-04-20 12:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:06:21] [INFO] Checking activity reminders 
[2026-04-20 12:06:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:06:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:06:28] [INFO] Checking activity reminders 
[2026-04-20 12:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:06:44] [INFO] Activity save request {"post_data":{"contact_id":"6060","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کل سرمایه داده ملک شخصی در باقری چیتگر خریده \r\nکلی قسط و بدهی داره \r\nپرزنت 405 \r\nملک مازاد در اسلامشهر داره میخواد بفروشه \/ بیاد تو کانال \r\nارسال لینک عمومی در بله ","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:06:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:06:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:06:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:06:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:06:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6060","note_was_empty":true}
[2026-04-20 12:06:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"6060","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 12:06:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e59c1d1236.17935485","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:06:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:06:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e59c1d1236.17935485"}
[2026-04-20 12:06:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:06:44] [INFO] Updating virtual stage {"contact_id":"6060","stage_name":"deal_registered","force":false}
[2026-04-20 12:06:44] [INFO] Virtual stage successfully saved {"contact_id":"6060","stage_name":"deal_registered"}
[2026-04-20 12:06:44] [INFO] Virtual stage updated after activity save {"contact_id":"6060"}
[2026-04-20 12:06:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6060","person_id":"19274"}
[2026-04-20 12:06:48] [INFO] Checking activity reminders 
[2026-04-20 12:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:06:58] [INFO] Checking activity reminders 
[2026-04-20 12:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:07:18] [INFO] Checking activity reminders 
[2026-04-20 12:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:07:28] [INFO] Checking activity reminders 
[2026-04-20 12:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:07:48] [INFO] Checking activity reminders 
[2026-04-20 12:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:07:57] [INFO] Checking activity reminders 
[2026-04-20 12:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:07:58] [INFO] Checking activity reminders 
[2026-04-20 12:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:08:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 12:08:18] [INFO] Checking activity reminders 
[2026-04-20 12:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:08:25] [INFO] Checking activity reminders 
[2026-04-20 12:08:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:08:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:08:28] [INFO] Checking activity reminders 
[2026-04-20 12:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:08:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:08:48] [INFO] Checking activity reminders 
[2026-04-20 12:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:08:59] [INFO] Checking activity reminders 
[2026-04-20 12:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:00] [INFO] Checking activity reminders 
[2026-04-20 12:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:18] [INFO] Checking activity reminders 
[2026-04-20 12:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:29] [INFO] Checking activity reminders 
[2026-04-20 12:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:09:30] [INFO] Checking activity reminders 
[2026-04-20 12:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:49] [INFO] Checking activity reminders 
[2026-04-20 12:09:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:09:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 12:09:50","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 12:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:09:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"11432","is_new_deal":false}
[2026-04-20 12:09:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 12:09:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 12:09:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 12:09:50] [INFO] getContactPrimaryPhone called {"contact_id":"11432"}
[2026-04-20 12:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:09:50] [INFO] getContactPrimaryPhone result {"contact_id":"11432","person_found":true,"primary_phone":"9131592584"}
[2026-04-20 12:09:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131592584"}
[2026-04-20 12:09:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131592584","contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 12:09:50"}
[2026-04-20 12:09:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","existing_deal_found":true,"existing_contact_id":"11432","existing_title":"معامله اول 9131592584 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 12:09:50"}
[2026-04-20 12:09:50] [INFO] DealController.save validated payments {"deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 12:09:50] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11432","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 12:09:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a95b0d9b6c6.05208584","contact_didar_id":"11432","title":"معامله اول 9131592584 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9131592584","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورجعفری","existing_deal":"YES","existing_deal_id":"local_694a95b0d9b6c6.05208584","existing_deal_status":"Pending","server_time":"2026-04-20 12:09:50","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 12:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:09:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a95b0d9b6c6.05208584","contact_id":"11432","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9131592584 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-20 12:09:50","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 12:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:09:59] [INFO] Checking activity reminders 
[2026-04-20 12:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:00] [INFO] Checking activity reminders 
[2026-04-20 12:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:10] [INFO] Activity save request {"post_data":{"contact_id":"11432","deal_id":"local_694a95b0d9b6c6.05208584","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه شد\/ ","activity_duration":"5","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:10:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11432","note_was_empty":true}
[2026-04-20 12:10:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"11432","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Updating virtual stage {"contact_id":"11432","stage_name":"with_purchase","force":false}
[2026-04-20 12:10:10] [INFO] Virtual stage successfully saved {"contact_id":"11432","stage_name":"with_purchase"}
[2026-04-20 12:10:10] [INFO] Virtual stage updated after activity save {"contact_id":"11432"}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694a95b0d9b6c6.05208584","stage":"اتمام","status_change":"Won"}
[2026-04-20 12:10:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e66aef71b7.27778400","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e66aef71b7.27778400"}
[2026-04-20 12:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:10] [INFO] Updating virtual stage {"contact_id":"11432","stage_name":"with_purchase","force":false}
[2026-04-20 12:10:10] [INFO] Virtual stage successfully saved {"contact_id":"11432","stage_name":"with_purchase"}
[2026-04-20 12:10:10] [INFO] Virtual stage updated after activity save {"contact_id":"11432"}
[2026-04-20 12:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 12:10:19] [INFO] Checking activity reminders 
[2026-04-20 12:10:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:29] [INFO] Checking activity reminders 
[2026-04-20 12:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:30] [INFO] Checking activity reminders 
[2026-04-20 12:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21215","person_id":"9211"}
[2026-04-20 12:10:49] [INFO] Checking activity reminders 
[2026-04-20 12:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:10:59] [INFO] Checking activity reminders 
[2026-04-20 12:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:00] [INFO] Checking activity reminders 
[2026-04-20 12:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-20 12:11:19] [INFO] Checking activity reminders 
[2026-04-20 12:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:29] [INFO] Checking activity reminders 
[2026-04-20 12:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:30] [INFO] Checking activity reminders 
[2026-04-20 12:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:30] [INFO] Activity save request {"post_data":{"contact_id":"15094","deal_id":"local_69b0a8e8d448b8.95253221","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:11:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15094","note_was_empty":true}
[2026-04-20 12:11:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"15094","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 12:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:30] [INFO] Updating virtual stage {"contact_id":"15094","stage_name":"deal_registered","force":false}
[2026-04-20 12:11:30] [INFO] Virtual stage successfully saved {"contact_id":"15094","stage_name":"deal_registered"}
[2026-04-20 12:11:30] [INFO] Virtual stage updated after activity save {"contact_id":"15094"}
[2026-04-20 12:11:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b0a8e8d448b8.95253221","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-20 12:11:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e6badc2de1.81477127","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e6badc2de1.81477127"}
[2026-04-20 12:11:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:30] [INFO] Updating virtual stage {"contact_id":"15094","stage_name":"deal_registered","force":false}
[2026-04-20 12:11:30] [INFO] Virtual stage successfully saved {"contact_id":"15094","stage_name":"deal_registered"}
[2026-04-20 12:11:30] [INFO] Virtual stage updated after activity save {"contact_id":"15094"}
[2026-04-20 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15094","person_id":"11718"}
[2026-04-20 12:11:49] [INFO] Checking activity reminders 
[2026-04-20 12:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:11:59] [INFO] Checking activity reminders 
[2026-04-20 12:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:00] [INFO] Checking activity reminders 
[2026-04-20 12:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:19] [INFO] Checking activity reminders 
[2026-04-20 12:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:29] [INFO] Checking activity reminders 
[2026-04-20 12:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:30] [INFO] Checking activity reminders 
[2026-04-20 12:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 12:12:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 12:12:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 12:12:49] [INFO] Checking activity reminders 
[2026-04-20 12:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:12:59] [INFO] Checking activity reminders 
[2026-04-20 12:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:00] [INFO] Checking activity reminders 
[2026-04-20 12:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:19] [INFO] Checking activity reminders 
[2026-04-20 12:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:29] [INFO] Checking activity reminders 
[2026-04-20 12:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:30] [INFO] Checking activity reminders 
[2026-04-20 12:13:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:13:50] [INFO] Checking activity reminders 
[2026-04-20 12:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:13:59] [INFO] Checking activity reminders 
[2026-04-20 12:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:00] [INFO] Checking activity reminders 
[2026-04-20 12:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:20] [INFO] Checking activity reminders 
[2026-04-20 12:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:29] [INFO] Checking activity reminders 
[2026-04-20 12:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:30] [INFO] Checking activity reminders 
[2026-04-20 12:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:50] [INFO] Checking activity reminders 
[2026-04-20 12:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:14:59] [INFO] Checking activity reminders 
[2026-04-20 12:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:15:00] [INFO] Checking activity reminders 
[2026-04-20 12:15:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:15:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:15:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 12:15:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 12:15:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 12:15:20] [INFO] Checking activity reminders 
[2026-04-20 12:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:15:30] [INFO] Checking activity reminders 
[2026-04-20 12:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:15:31] [INFO] Checking activity reminders 
[2026-04-20 12:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:15:50] [INFO] Checking activity reminders 
[2026-04-20 12:15:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:15:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:00] [INFO] Checking activity reminders 
[2026-04-20 12:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:01] [INFO] Checking activity reminders 
[2026-04-20 12:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:20] [INFO] Checking activity reminders 
[2026-04-20 12:16:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:30] [INFO] Checking activity reminders 
[2026-04-20 12:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:31] [INFO] Checking activity reminders 
[2026-04-20 12:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:16:50] [INFO] Checking activity reminders 
[2026-04-20 12:16:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:16:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:17:00] [INFO] Checking activity reminders 
[2026-04-20 12:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:17:00] [INFO] Checking activity reminders 
[2026-04-20 12:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:17:20] [INFO] Checking activity reminders 
[2026-04-20 12:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:17:30] [INFO] Checking activity reminders 
[2026-04-20 12:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:17:50] [INFO] Checking activity reminders 
[2026-04-20 12:17:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:17:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:18:00] [INFO] Checking activity reminders 
[2026-04-20 12:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:18:20] [INFO] Checking activity reminders 
[2026-04-20 12:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:18:30] [INFO] Checking activity reminders 
[2026-04-20 12:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:18:40] [INFO] Checking activity reminders 
[2026-04-20 12:18:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:18:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:18:51] [INFO] Checking activity reminders 
[2026-04-20 12:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:00] [INFO] Checking activity reminders 
[2026-04-20 12:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:10] [INFO] Checking activity reminders 
[2026-04-20 12:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:21] [INFO] Checking activity reminders 
[2026-04-20 12:19:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:30] [INFO] Checking activity reminders 
[2026-04-20 12:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:40] [INFO] Checking activity reminders 
[2026-04-20 12:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:19:51] [INFO] Checking activity reminders 
[2026-04-20 12:19:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:19:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:00] [INFO] Checking activity reminders 
[2026-04-20 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:10] [INFO] Checking activity reminders 
[2026-04-20 12:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:21] [INFO] Checking activity reminders 
[2026-04-20 12:20:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:30] [INFO] Checking activity reminders 
[2026-04-20 12:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:40] [INFO] Checking activity reminders 
[2026-04-20 12:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:20:51] [INFO] Checking activity reminders 
[2026-04-20 12:20:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:20:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:00] [INFO] Checking activity reminders 
[2026-04-20 12:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:10] [INFO] Checking activity reminders 
[2026-04-20 12:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:21] [INFO] Checking activity reminders 
[2026-04-20 12:21:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:22] [INFO] Activity save request {"post_data":{"contact_id":"20960","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سرمایه محدودی که داشته در ساخت یک ملک گذاشته \r\nفعلا درامد و سرمایه ای برای استفاده از سگنال ها ی کانال نداره \r\nپرزنت 405 \/نوسان گیری در بازار \r\nرسال لینک بله","activity_duration":"8","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:21:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:21:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:21:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20960","note_was_empty":true}
[2026-04-20 12:21:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"20960","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 12:21:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5e90a129163.60568330","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:21:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5e90a129163.60568330"}
[2026-04-20 12:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:21:22] [INFO] Updating virtual stage {"contact_id":"20960","stage_name":"deal_registered","force":false}
[2026-04-20 12:21:22] [INFO] Virtual stage successfully saved {"contact_id":"20960","stage_name":"deal_registered"}
[2026-04-20 12:21:22] [INFO] Virtual stage updated after activity save {"contact_id":"20960"}
[2026-04-20 12:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20960","person_id":"5819"}
[2026-04-20 12:21:30] [INFO] Checking activity reminders 
[2026-04-20 12:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:40] [INFO] Checking activity reminders 
[2026-04-20 12:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:21:51] [INFO] Checking activity reminders 
[2026-04-20 12:21:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:21:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:00] [INFO] Checking activity reminders 
[2026-04-20 12:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:11] [INFO] Checking activity reminders 
[2026-04-20 12:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:21] [INFO] Checking activity reminders 
[2026-04-20 12:22:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:31] [INFO] Checking activity reminders 
[2026-04-20 12:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:41] [INFO] Checking activity reminders 
[2026-04-20 12:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:22:51] [INFO] Checking activity reminders 
[2026-04-20 12:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:23:01] [INFO] Checking activity reminders 
[2026-04-20 12:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:23:21] [INFO] Checking activity reminders 
[2026-04-20 12:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:23:31] [INFO] Checking activity reminders 
[2026-04-20 12:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:23:51] [INFO] Checking activity reminders 
[2026-04-20 12:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:01] [INFO] Checking activity reminders 
[2026-04-20 12:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:06] [INFO] Checking activity reminders 
[2026-04-20 12:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:22] [INFO] Checking activity reminders 
[2026-04-20 12:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:31] [INFO] Checking activity reminders 
[2026-04-20 12:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:36] [INFO] Checking activity reminders 
[2026-04-20 12:24:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:24:52] [INFO] Checking activity reminders 
[2026-04-20 12:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:25:01] [INFO] Checking activity reminders 
[2026-04-20 12:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:25:06] [INFO] Checking activity reminders 
[2026-04-20 12:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:25:22] [INFO] Checking activity reminders 
[2026-04-20 12:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:25:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:25:36] [INFO] Checking activity reminders 
[2026-04-20 12:25:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:25:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:25:52] [INFO] Checking activity reminders 
[2026-04-20 12:25:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:25:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:26:06] [INFO] Checking activity reminders 
[2026-04-20 12:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:26:22] [INFO] Checking activity reminders 
[2026-04-20 12:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:26:36] [INFO] Checking activity reminders 
[2026-04-20 12:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:26:52] [INFO] Checking activity reminders 
[2026-04-20 12:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:27:06] [INFO] Checking activity reminders 
[2026-04-20 12:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:27:13] [INFO] Activity save request {"post_data":{"contact_id":"353","deal_id":"local_69d6911a377ba9.80147603","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ پیگیری پیامک","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:27:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"353","note_was_empty":true}
[2026-04-20 12:27:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"353","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:13] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-20 12:27:13] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-20 12:27:13] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-20 12:27:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6911a377ba9.80147603","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-20 12:27:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5ea69a37090.80537234","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5ea69a37090.80537234"}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:13] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-20 12:27:13] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-20 12:27:13] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-20 12:27:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-20 12:27:22] [INFO] Checking activity reminders 
[2026-04-20 12:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:27:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224ec2390d8.74455270","person_id":"21980"}
[2026-04-20 12:27:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:27:36] [INFO] Checking activity reminders 
[2026-04-20 12:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:27:52] [INFO] Checking activity reminders 
[2026-04-20 12:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:28:06] [INFO] Checking activity reminders 
[2026-04-20 12:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:28:22] [INFO] Checking activity reminders 
[2026-04-20 12:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:28:36] [INFO] Checking activity reminders 
[2026-04-20 12:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:28:53] [INFO] Checking activity reminders 
[2026-04-20 12:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:29:23] [INFO] Checking activity reminders 
[2026-04-20 12:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:29:53] [INFO] Checking activity reminders 
[2026-04-20 12:29:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:29:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:30:23] [INFO] Checking activity reminders 
[2026-04-20 12:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:30:53] [INFO] Checking activity reminders 
[2026-04-20 12:30:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:30:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:31:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 12:31:23] [INFO] Checking activity reminders 
[2026-04-20 12:31:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:31:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:31:53] [INFO] Checking activity reminders 
[2026-04-20 12:31:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:31:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:31:57] [INFO] Checking activity reminders 
[2026-04-20 12:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:32:09] [INFO] Checking activity reminders 
[2026-04-20 12:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:32:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 12:32:39] [INFO] Checking activity reminders 
[2026-04-20 12:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:33:10] [INFO] Checking activity reminders 
[2026-04-20 12:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:33:40] [INFO] Checking activity reminders 
[2026-04-20 12:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:34:10] [INFO] Checking activity reminders 
[2026-04-20 12:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:34:40] [INFO] Checking activity reminders 
[2026-04-20 12:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:35:10] [INFO] Checking activity reminders 
[2026-04-20 12:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:35:40] [INFO] Checking activity reminders 
[2026-04-20 12:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:35:50] [INFO] Checking activity reminders 
[2026-04-20 12:35:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:35:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:36:10] [INFO] Checking activity reminders 
[2026-04-20 12:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:36:20] [INFO] Checking activity reminders 
[2026-04-20 12:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:36:40] [INFO] Checking activity reminders 
[2026-04-20 12:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:36:45] [INFO] Activity save request {"post_data":{"contact_id":"1726","deal_id":"local_69d0a8a4dad1d0.23974740","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک ","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 12:36:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1726","note_was_empty":true}
[2026-04-20 12:36:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"1726","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:45] [INFO] Updating virtual stage {"contact_id":"1726","stage_name":"deal_registered","force":false}
[2026-04-20 12:36:45] [INFO] Virtual stage successfully saved {"contact_id":"1726","stage_name":"deal_registered"}
[2026-04-20 12:36:45] [INFO] Virtual stage updated after activity save {"contact_id":"1726"}
[2026-04-20 12:36:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a8a4dad1d0.23974740","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-20 12:36:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5eca54b1593.73840512","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5eca54b1593.73840512"}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:45] [INFO] Updating virtual stage {"contact_id":"1726","stage_name":"deal_registered","force":false}
[2026-04-20 12:36:45] [INFO] Virtual stage successfully saved {"contact_id":"1726","stage_name":"deal_registered"}
[2026-04-20 12:36:45] [INFO] Virtual stage updated after activity save {"contact_id":"1726"}
[2026-04-20 12:36:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1726","person_id":"13970"}
[2026-04-20 12:36:51] [INFO] Checking activity reminders 
[2026-04-20 12:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:36:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 12:37:10] [INFO] Checking activity reminders 
[2026-04-20 12:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:37:21] [INFO] Checking activity reminders 
[2026-04-20 12:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:37:40] [INFO] Checking activity reminders 
[2026-04-20 12:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:37:51] [INFO] Checking activity reminders 
[2026-04-20 12:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:38:11] [INFO] Checking activity reminders 
[2026-04-20 12:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:38:21] [INFO] Checking activity reminders 
[2026-04-20 12:38:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:38:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:38:41] [INFO] Checking activity reminders 
[2026-04-20 12:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:38:51] [INFO] Checking activity reminders 
[2026-04-20 12:38:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:38:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:39:11] [INFO] Checking activity reminders 
[2026-04-20 12:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:39:21] [INFO] Checking activity reminders 
[2026-04-20 12:39:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:39:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:39:41] [INFO] Checking activity reminders 
[2026-04-20 12:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:39:52] [INFO] Checking activity reminders 
[2026-04-20 12:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:40:11] [INFO] Checking activity reminders 
[2026-04-20 12:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:40:22] [INFO] Checking activity reminders 
[2026-04-20 12:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:40:41] [INFO] Checking activity reminders 
[2026-04-20 12:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:40:52] [INFO] Checking activity reminders 
[2026-04-20 12:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:41:11] [INFO] Checking activity reminders 
[2026-04-20 12:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:41:22] [INFO] Checking activity reminders 
[2026-04-20 12:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:41:41] [INFO] Checking activity reminders 
[2026-04-20 12:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:41:52] [INFO] Checking activity reminders 
[2026-04-20 12:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:42:11] [INFO] Checking activity reminders 
[2026-04-20 12:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:42:23] [INFO] Checking activity reminders 
[2026-04-20 12:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:42:41] [INFO] Checking activity reminders 
[2026-04-20 12:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:42:53] [INFO] Checking activity reminders 
[2026-04-20 12:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:43:11] [INFO] Checking activity reminders 
[2026-04-20 12:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:43:23] [INFO] Checking activity reminders 
[2026-04-20 12:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:43:41] [INFO] Checking activity reminders 
[2026-04-20 12:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:43:53] [INFO] Checking activity reminders 
[2026-04-20 12:43:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:43:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:44:12] [INFO] Checking activity reminders 
[2026-04-20 12:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:44:23] [INFO] Checking activity reminders 
[2026-04-20 12:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:44:42] [INFO] Checking activity reminders 
[2026-04-20 12:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:44:53] [INFO] Checking activity reminders 
[2026-04-20 12:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:45:12] [INFO] Checking activity reminders 
[2026-04-20 12:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:45:23] [INFO] Checking activity reminders 
[2026-04-20 12:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:45:42] [INFO] Checking activity reminders 
[2026-04-20 12:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:45:53] [INFO] Checking activity reminders 
[2026-04-20 12:45:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:45:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:46:12] [INFO] Checking activity reminders 
[2026-04-20 12:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:46:23] [INFO] Checking activity reminders 
[2026-04-20 12:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:46:42] [INFO] Checking activity reminders 
[2026-04-20 12:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:46:53] [INFO] Checking activity reminders 
[2026-04-20 12:46:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:46:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:47:12] [INFO] Checking activity reminders 
[2026-04-20 12:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:47:23] [INFO] Checking activity reminders 
[2026-04-20 12:47:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:47:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:47:42] [INFO] Checking activity reminders 
[2026-04-20 12:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:48:12] [INFO] Checking activity reminders 
[2026-04-20 12:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:48:42] [INFO] Checking activity reminders 
[2026-04-20 12:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:49:12] [INFO] Checking activity reminders 
[2026-04-20 12:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:49:43] [INFO] Checking activity reminders 
[2026-04-20 12:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:50:13] [INFO] Checking activity reminders 
[2026-04-20 12:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:50:43] [INFO] Checking activity reminders 
[2026-04-20 12:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:51:13] [INFO] Checking activity reminders 
[2026-04-20 12:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:51:43] [INFO] Checking activity reminders 
[2026-04-20 12:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:52:13] [INFO] Checking activity reminders 
[2026-04-20 12:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:52:43] [INFO] Checking activity reminders 
[2026-04-20 12:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:53:13] [INFO] Checking activity reminders 
[2026-04-20 12:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:53:43] [INFO] Checking activity reminders 
[2026-04-20 12:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:54:13] [INFO] Checking activity reminders 
[2026-04-20 12:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:54:43] [INFO] Checking activity reminders 
[2026-04-20 12:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:55:14] [INFO] Checking activity reminders 
[2026-04-20 12:55:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:55:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:55:44] [INFO] Checking activity reminders 
[2026-04-20 12:55:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:55:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:56:14] [INFO] Checking activity reminders 
[2026-04-20 12:56:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:56:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:56:44] [INFO] Checking activity reminders 
[2026-04-20 12:56:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:56:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:57:14] [INFO] Checking activity reminders 
[2026-04-20 12:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:57:44] [INFO] Checking activity reminders 
[2026-04-20 12:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:58:14] [INFO] Checking activity reminders 
[2026-04-20 12:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:58:44] [INFO] Checking activity reminders 
[2026-04-20 12:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:59:14] [INFO] Checking activity reminders 
[2026-04-20 12:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 12:59:44] [INFO] Checking activity reminders 
[2026-04-20 12:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 12:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:00:14] [INFO] Checking activity reminders 
[2026-04-20 13:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:00:45] [INFO] Checking activity reminders 
[2026-04-20 13:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:01:15] [INFO] Checking activity reminders 
[2026-04-20 13:01:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:01:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:01:45] [INFO] Checking activity reminders 
[2026-04-20 13:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:02:18] [INFO] Checking activity reminders 
[2026-04-20 13:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:02:48] [INFO] Checking activity reminders 
[2026-04-20 13:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:03:18] [INFO] Checking activity reminders 
[2026-04-20 13:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:03:48] [INFO] Checking activity reminders 
[2026-04-20 13:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:04:18] [INFO] Checking activity reminders 
[2026-04-20 13:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:04:48] [INFO] Checking activity reminders 
[2026-04-20 13:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:05:18] [INFO] Checking activity reminders 
[2026-04-20 13:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:05:48] [INFO] Checking activity reminders 
[2026-04-20 13:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:06:18] [INFO] Checking activity reminders 
[2026-04-20 13:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:06:48] [INFO] Checking activity reminders 
[2026-04-20 13:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:07:19] [INFO] Checking activity reminders 
[2026-04-20 13:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:07:49] [INFO] Checking activity reminders 
[2026-04-20 13:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:08:19] [INFO] Checking activity reminders 
[2026-04-20 13:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:08:49] [INFO] Checking activity reminders 
[2026-04-20 13:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:09:19] [INFO] Checking activity reminders 
[2026-04-20 13:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:09:49] [INFO] Checking activity reminders 
[2026-04-20 13:09:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:09:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:10:09] [INFO] Checking activity reminders 
[2026-04-20 13:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:10:19] [INFO] Checking activity reminders 
[2026-04-20 13:10:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:10:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:10:39] [INFO] Checking activity reminders 
[2026-04-20 13:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:10:49] [INFO] Checking activity reminders 
[2026-04-20 13:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:11:11] [INFO] Checking activity reminders 
[2026-04-20 13:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:11:19] [INFO] Checking activity reminders 
[2026-04-20 13:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:11:41] [INFO] Checking activity reminders 
[2026-04-20 13:11:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:11:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:11:49] [INFO] Checking activity reminders 
[2026-04-20 13:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:12:11] [INFO] Checking activity reminders 
[2026-04-20 13:12:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:12:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:12:19] [INFO] Checking activity reminders 
[2026-04-20 13:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:12:41] [INFO] Checking activity reminders 
[2026-04-20 13:12:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:12:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:12:50] [INFO] Checking activity reminders 
[2026-04-20 13:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:13:11] [INFO] Checking activity reminders 
[2026-04-20 13:13:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:13:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:13:20] [INFO] Checking activity reminders 
[2026-04-20 13:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:13:41] [INFO] Checking activity reminders 
[2026-04-20 13:13:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:13:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:13:50] [INFO] Checking activity reminders 
[2026-04-20 13:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:14:11] [INFO] Checking activity reminders 
[2026-04-20 13:14:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:14:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:14:20] [INFO] Checking activity reminders 
[2026-04-20 13:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:14:41] [INFO] Checking activity reminders 
[2026-04-20 13:14:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:14:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:14:50] [INFO] Checking activity reminders 
[2026-04-20 13:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:15:11] [INFO] Checking activity reminders 
[2026-04-20 13:15:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:15:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:15:20] [INFO] Checking activity reminders 
[2026-04-20 13:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:15:42] [INFO] Checking activity reminders 
[2026-04-20 13:15:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:15:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:15:50] [INFO] Checking activity reminders 
[2026-04-20 13:15:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:15:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:16:12] [INFO] Checking activity reminders 
[2026-04-20 13:16:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:16:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:16:20] [INFO] Checking activity reminders 
[2026-04-20 13:16:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:16:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:16:42] [INFO] Checking activity reminders 
[2026-04-20 13:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:16:50] [INFO] Checking activity reminders 
[2026-04-20 13:16:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:16:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:17:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"8941","deal_id":"local_69d691b3ab4a09.58993210","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 13:17:07","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 13:17:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"8941","is_new_deal":false}
[2026-04-20 13:17:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:17:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:17:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:17:07] [INFO] getContactPrimaryPhone called {"contact_id":"8941"}
[2026-04-20 13:17:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:07] [INFO] getContactPrimaryPhone result {"contact_id":"8941","person_found":true,"primary_phone":"9361470519"}
[2026-04-20 13:17:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361470519"}
[2026-04-20 13:17:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361470519","contact_id":"8941","deal_id":"local_69d691b3ab4a09.58993210","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 13:17:07"}
[2026-04-20 13:17:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d691b3ab4a09.58993210","contact_id":"8941","existing_deal_found":true,"existing_contact_id":"8941","existing_title":"معامله دوم 9361470519 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 13:17:07"}
[2026-04-20 13:17:07] [INFO] DealController.save validated payments {"deal_id":"local_69d691b3ab4a09.58993210","contact_id":"8941","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-20 13:17:07] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"8941","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 13:17:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d691b3ab4a09.58993210","contact_didar_id":"8941","title":"معامله دوم 9361470519 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9361470519","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"شوندی","existing_deal":"YES","existing_deal_id":"local_69d691b3ab4a09.58993210","existing_deal_status":"Pending","server_time":"2026-04-20 13:17:07","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 13:17:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d691b3ab4a09.58993210","contact_id":"8941","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9361470519 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-20 13:17:07","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 13:17:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:12] [INFO] Checking activity reminders 
[2026-04-20 13:17:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:17:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:17:20] [INFO] Checking activity reminders 
[2026-04-20 13:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:17:42] [INFO] Checking activity reminders 
[2026-04-20 13:17:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:17:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:17:51] [INFO] Checking activity reminders 
[2026-04-20 13:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:17:59] [INFO] Activity save request {"post_data":{"contact_id":"8941","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"طلا هارو به ضررر فروخته و زمین در شمال خرید کرده \r\nسرمایه ای برای نوسان گیری و سرمایه گذاری نداره \r\n","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:17:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8941","note_was_empty":true}
[2026-04-20 13:17:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"8941","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 13:17:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5f64fdb9771.20045905","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5f64fdb9771.20045905"}
[2026-04-20 13:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:17:59] [INFO] Updating virtual stage {"contact_id":"8941","stage_name":"deal_registered","force":false}
[2026-04-20 13:17:59] [INFO] Virtual stage successfully saved {"contact_id":"8941","stage_name":"deal_registered"}
[2026-04-20 13:17:59] [INFO] Virtual stage updated after activity save {"contact_id":"8941"}
[2026-04-20 13:18:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8941","person_id":"14030"}
[2026-04-20 13:18:03] [INFO] Checking activity reminders 
[2026-04-20 13:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:18:12] [INFO] Checking activity reminders 
[2026-04-20 13:18:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:18:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:18:33] [INFO] Checking activity reminders 
[2026-04-20 13:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:18:42] [INFO] Checking activity reminders 
[2026-04-20 13:18:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:18:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:03] [INFO] Checking activity reminders 
[2026-04-20 13:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:12] [INFO] Checking activity reminders 
[2026-04-20 13:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:17] [INFO] Checking activity reminders 
[2026-04-20 13:19:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:22] [INFO] Checking activity reminders 
[2026-04-20 13:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:42] [INFO] Checking activity reminders 
[2026-04-20 13:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:19:52] [INFO] Checking activity reminders 
[2026-04-20 13:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:20:12] [INFO] Checking activity reminders 
[2026-04-20 13:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:20:22] [INFO] Checking activity reminders 
[2026-04-20 13:20:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:20:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:20:42] [INFO] Checking activity reminders 
[2026-04-20 13:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:20:52] [INFO] Checking activity reminders 
[2026-04-20 13:20:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:20:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:21:12] [INFO] Checking activity reminders 
[2026-04-20 13:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:21:22] [INFO] Checking activity reminders 
[2026-04-20 13:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:21:42] [INFO] Checking activity reminders 
[2026-04-20 13:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:21:52] [INFO] Checking activity reminders 
[2026-04-20 13:21:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:21:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:22:12] [INFO] Checking activity reminders 
[2026-04-20 13:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:22:23] [INFO] Checking activity reminders 
[2026-04-20 13:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:22:31] [INFO] Activity save request {"post_data":{"contact_id":"6735","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"همسرش طلاها رو با ضرر فروخته برای خرید خودرو تصادفی \r\nسرمایه  برای نوسان گیری و خرید نداره \r\nهمسرش خیلی شاکی بود از این کارش \/ میگه چون با برادراش در مغازه شریک هستند نمیتونه اختیار داشته باشه ","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 13:22:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:22:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 13:22:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6735","note_was_empty":true}
[2026-04-20 13:22:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"6735","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 13:22:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5f75f8cf025.42666277","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 13:22:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5f75f8cf025.42666277"}
[2026-04-20 13:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 13:22:31] [INFO] Updating virtual stage {"contact_id":"6735","stage_name":"deal_registered","force":false}
[2026-04-20 13:22:31] [INFO] Virtual stage successfully saved {"contact_id":"6735","stage_name":"deal_registered"}
[2026-04-20 13:22:31] [INFO] Virtual stage updated after activity save {"contact_id":"6735"}
[2026-04-20 13:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6735","person_id":"7017"}
[2026-04-20 13:22:42] [INFO] Checking activity reminders 
[2026-04-20 13:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:22:53] [INFO] Checking activity reminders 
[2026-04-20 13:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:23:23] [INFO] Checking activity reminders 
[2026-04-20 13:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:23:53] [INFO] Checking activity reminders 
[2026-04-20 13:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 13:24:23] [INFO] Checking activity reminders 
[2026-04-20 13:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:24:25] [INFO] Checking activity reminders 
[2026-04-20 13:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:24:53] [INFO] Checking activity reminders 
[2026-04-20 13:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:24:55] [INFO] Checking activity reminders 
[2026-04-20 13:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:25:17] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_87","deal_id":"local_69b740cad7a941.81793437","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"اردیبهشت تسویه \/ گفت چک پاس نشده میخوایین حذف کنید گفتم زمان برات از مالی میگرم تا ارخ اردیبشهت","activity_duration":"10","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:25:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_1403_09_26_87","note_was_empty":true}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:17] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_87","stage_name":"deal_registered","force":false}
[2026-04-20 13:25:17] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_87","stage_name":"deal_registered"}
[2026-04-20 13:25:17] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_87"}
[2026-04-20 13:25:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b740cad7a941.81793437","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-20 13:25:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5f80510ca62.10904239","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5f80510ca62.10904239"}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:17] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_87","stage_name":"deal_registered","force":false}
[2026-04-20 13:25:17] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_87","stage_name":"deal_registered"}
[2026-04-20 13:25:17] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_87"}
[2026-04-20 13:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_87","person_id":"21164"}
[2026-04-20 13:25:23] [INFO] Checking activity reminders 
[2026-04-20 13:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:25:25] [INFO] Checking activity reminders 
[2026-04-20 13:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:25:53] [INFO] Checking activity reminders 
[2026-04-20 13:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:25:55] [INFO] Checking activity reminders 
[2026-04-20 13:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:26:23] [INFO] Checking activity reminders 
[2026-04-20 13:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:26:25] [INFO] Checking activity reminders 
[2026-04-20 13:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:26:53] [INFO] Checking activity reminders 
[2026-04-20 13:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:26:56] [INFO] Checking activity reminders 
[2026-04-20 13:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:27:23] [INFO] Checking activity reminders 
[2026-04-20 13:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:27:26] [INFO] Checking activity reminders 
[2026-04-20 13:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:27:54] [INFO] Checking activity reminders 
[2026-04-20 13:27:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:27:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:28:24] [INFO] Checking activity reminders 
[2026-04-20 13:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:28:34] [INFO] Checking activity reminders 
[2026-04-20 13:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:28:54] [INFO] Checking activity reminders 
[2026-04-20 13:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:29:21] [INFO] Checking activity reminders 
[2026-04-20 13:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:29:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:29:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:29:22] [INFO] generateDealTitle result {"contact_id":"local_69528d8bc170f0.16410312","person_name":"اقای ادیب","mobile":"9133476277","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9133476277"}
[2026-04-20 13:29:24] [INFO] Checking activity reminders 
[2026-04-20 13:29:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:29:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:29:51] [INFO] Checking activity reminders 
[2026-04-20 13:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:29:54] [INFO] Checking activity reminders 
[2026-04-20 13:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:30:21] [INFO] Checking activity reminders 
[2026-04-20 13:30:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:30:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:30:24] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 13:30:24","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:30:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69528d8bc170f0.16410312","is_new_deal":true}
[2026-04-20 13:30:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:30:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:30:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 13:30:24] [INFO] getContactPrimaryPhone called {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:30:24] [INFO] getContactPrimaryPhone result {"contact_id":"local_69528d8bc170f0.16410312","person_found":true,"primary_phone":"9133476277"}
[2026-04-20 13:30:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9133476277"}
[2026-04-20 13:30:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9133476277","contact_id":"local_69528d8bc170f0.16410312","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 13:30:24"}
[2026-04-20 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:30:24] [INFO] generateDealTitle result {"contact_id":"local_69528d8bc170f0.16410312","person_name":"اقای ادیب","mobile":"9133476277","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9133476277"}
[2026-04-20 13:30:24] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69528d8bc170f0.16410312","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 13:30:24] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69528d8bc170f0.16410312","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 13:30:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69528d8bc170f0.16410312","title":"معامله دوم 9133476277 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9133476277","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای ادیب","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-20 13:30:24","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:30:24] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-20 13:30:24] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69528d8bc170f0.16410312","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9133476277 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-20 13:30:24","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:30:24] [INFO] Checking activity reminders 
[2026-04-20 13:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:30:51] [INFO] Checking activity reminders 
[2026-04-20 13:30:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:30:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:30:54] [INFO] Checking activity reminders 
[2026-04-20 13:30:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:30:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:31:10] [INFO] Activity save request {"post_data":{"contact_id":"local_69528d8bc170f0.16410312","deal_id":"local_69e5f938220ba1.58664798","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه شدکاناا تمدید  بدون پشتیانی تا اخر مهر\r\n200گرم طلا \/ خودرو \/ مغازه دار \/ سیرجان کرمان","activity_duration":"25","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:31:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69528d8bc170f0.16410312","note_was_empty":true}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Updating virtual stage {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase","force":false}
[2026-04-20 13:31:10] [INFO] Virtual stage successfully saved {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase"}
[2026-04-20 13:31:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e5f938220ba1.58664798","stage":"اتمام","status_change":"Won"}
[2026-04-20 13:31:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5f9669d39f7.93550476","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5f9669d39f7.93550476"}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:10] [INFO] Updating virtual stage {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase","force":false}
[2026-04-20 13:31:10] [INFO] Virtual stage successfully saved {"contact_id":"local_69528d8bc170f0.16410312","stage_name":"with_purchase"}
[2026-04-20 13:31:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-20 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:31:21] [INFO] Checking activity reminders 
[2026-04-20 13:31:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:31:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:31:24] [INFO] Checking activity reminders 
[2026-04-20 13:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:31:52] [INFO] Checking activity reminders 
[2026-04-20 13:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:31:54] [INFO] Checking activity reminders 
[2026-04-20 13:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:32:22] [INFO] Checking activity reminders 
[2026-04-20 13:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:32:24] [INFO] Checking activity reminders 
[2026-04-20 13:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:32:52] [INFO] Checking activity reminders 
[2026-04-20 13:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:32:54] [INFO] Checking activity reminders 
[2026-04-20 13:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:33:22] [INFO] Checking activity reminders 
[2026-04-20 13:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:33:25] [INFO] Checking activity reminders 
[2026-04-20 13:33:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:33:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:33:52] [INFO] Checking activity reminders 
[2026-04-20 13:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:33:55] [INFO] Checking activity reminders 
[2026-04-20 13:33:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:33:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:34:22] [INFO] Checking activity reminders 
[2026-04-20 13:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:34:25] [INFO] Checking activity reminders 
[2026-04-20 13:34:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:34:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:34:53] [INFO] Checking activity reminders 
[2026-04-20 13:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:34:55] [INFO] Checking activity reminders 
[2026-04-20 13:34:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:34:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:35:23] [INFO] Checking activity reminders 
[2026-04-20 13:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:35:25] [INFO] Checking activity reminders 
[2026-04-20 13:35:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:35:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:35:53] [INFO] Checking activity reminders 
[2026-04-20 13:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:35:55] [INFO] Checking activity reminders 
[2026-04-20 13:35:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:35:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:36:23] [INFO] Checking activity reminders 
[2026-04-20 13:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:36:25] [INFO] Checking activity reminders 
[2026-04-20 13:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:36:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 13:36:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:36:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:36:53] [INFO] Checking activity reminders 
[2026-04-20 13:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:36:55] [INFO] Checking activity reminders 
[2026-04-20 13:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:37:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11612","person_id":"16702"}
[2026-04-20 13:37:23] [INFO] Checking activity reminders 
[2026-04-20 13:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:37:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15891","person_id":"19180"}
[2026-04-20 13:37:25] [INFO] Checking activity reminders 
[2026-04-20 13:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:37:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:37:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 13:37:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:37:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:37:53] [INFO] Checking activity reminders 
[2026-04-20 13:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:37:55] [INFO] Checking activity reminders 
[2026-04-20 13:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:38:23] [INFO] Checking activity reminders 
[2026-04-20 13:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:38:25] [INFO] Checking activity reminders 
[2026-04-20 13:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:38:53] [INFO] Checking activity reminders 
[2026-04-20 13:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:38:56] [INFO] Checking activity reminders 
[2026-04-20 13:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:39:23] [INFO] Checking activity reminders 
[2026-04-20 13:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:39:26] [INFO] Checking activity reminders 
[2026-04-20 13:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:39:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 13:39:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:39:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:39:53] [INFO] Checking activity reminders 
[2026-04-20 13:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:39:56] [INFO] Checking activity reminders 
[2026-04-20 13:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:40:23] [INFO] Checking activity reminders 
[2026-04-20 13:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:40:26] [INFO] Checking activity reminders 
[2026-04-20 13:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:40:53] [INFO] Checking activity reminders 
[2026-04-20 13:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:40:56] [INFO] Checking activity reminders 
[2026-04-20 13:40:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:40:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:41:24] [INFO] Checking activity reminders 
[2026-04-20 13:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:41:26] [INFO] Checking activity reminders 
[2026-04-20 13:41:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:41:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:41:35] [INFO] Activity save request {"post_data":{"contact_id":"20649","deal_id":"local_69e0a242b65465.39175749","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"اسفند صحبت کرده بودیم بله کانال 54 ت انجام بده هنوز نزده \/ عدم پاسخ ارسال پیام پیگیری بله","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:41:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20649","note_was_empty":true}
[2026-04-20 13:41:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"20649","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:35] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-20 13:41:35] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-20 13:41:35] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-20 13:41:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a242b65465.39175749","stage":"تماس پیگیری","status_change":null}
[2026-04-20 13:41:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5fbd7c154b9.60523503","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5fbd7c154b9.60523503"}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:35] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-20 13:41:35] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-20 13:41:35] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-20 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 13:41:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:41:54] [INFO] Checking activity reminders 
[2026-04-20 13:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:41:56] [INFO] Checking activity reminders 
[2026-04-20 13:41:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:41:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:42:24] [INFO] Checking activity reminders 
[2026-04-20 13:42:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:42:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:42:26] [INFO] Checking activity reminders 
[2026-04-20 13:42:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:42:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:42:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:42:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 13:42:35] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:42:54] [INFO] Checking activity reminders 
[2026-04-20 13:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:42:56] [INFO] Checking activity reminders 
[2026-04-20 13:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:43:24] [INFO] Checking activity reminders 
[2026-04-20 13:43:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:43:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:43:26] [INFO] Checking activity reminders 
[2026-04-20 13:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:43:54] [INFO] Checking activity reminders 
[2026-04-20 13:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:43:56] [INFO] Checking activity reminders 
[2026-04-20 13:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:44:16] [INFO] Activity save request {"post_data":{"contact_id":"20949","deal_id":"local_69e0a1b366dd96.96133851","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پ\r\nیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:44:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20949","note_was_empty":true}
[2026-04-20 13:44:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"20949","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:16] [INFO] Updating virtual stage {"contact_id":"20949","stage_name":"deal_registered","force":false}
[2026-04-20 13:44:16] [INFO] Virtual stage successfully saved {"contact_id":"20949","stage_name":"deal_registered"}
[2026-04-20 13:44:16] [INFO] Virtual stage updated after activity save {"contact_id":"20949"}
[2026-04-20 13:44:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a1b366dd96.96133851","stage":"تماس پیگیری","status_change":null}
[2026-04-20 13:44:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5fc78805a17.59316795","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5fc78805a17.59316795"}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:16] [INFO] Updating virtual stage {"contact_id":"20949","stage_name":"deal_registered","force":false}
[2026-04-20 13:44:16] [INFO] Virtual stage successfully saved {"contact_id":"20949","stage_name":"deal_registered"}
[2026-04-20 13:44:16] [INFO] Virtual stage updated after activity save {"contact_id":"20949"}
[2026-04-20 13:44:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20949","person_id":"9269"}
[2026-04-20 13:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:44:24] [INFO] Checking activity reminders 
[2026-04-20 13:44:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:44:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:44:27] [INFO] Checking activity reminders 
[2026-04-20 13:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:44:54] [INFO] Checking activity reminders 
[2026-04-20 13:44:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:44:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:44:57] [INFO] Checking activity reminders 
[2026-04-20 13:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:45:24] [INFO] Checking activity reminders 
[2026-04-20 13:45:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:45:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:45:27] [INFO] Checking activity reminders 
[2026-04-20 13:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:45:54] [INFO] Checking activity reminders 
[2026-04-20 13:45:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:45:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:45:57] [INFO] Checking activity reminders 
[2026-04-20 13:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:46:22] [INFO] Activity save request {"post_data":{"contact_id":"20843","deal_id":"local_69e0a123170753.23513014","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیام پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:46:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20843","note_was_empty":true}
[2026-04-20 13:46:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"20843","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:22] [INFO] Updating virtual stage {"contact_id":"20843","stage_name":"deal_registered","force":false}
[2026-04-20 13:46:22] [INFO] Virtual stage successfully saved {"contact_id":"20843","stage_name":"deal_registered"}
[2026-04-20 13:46:22] [INFO] Virtual stage updated after activity save {"contact_id":"20843"}
[2026-04-20 13:46:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a123170753.23513014","stage":"تماس پیگیری","status_change":null}
[2026-04-20 13:46:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5fcf6296902.42477625","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5fcf6296902.42477625"}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:22] [INFO] Updating virtual stage {"contact_id":"20843","stage_name":"deal_registered","force":false}
[2026-04-20 13:46:22] [INFO] Virtual stage successfully saved {"contact_id":"20843","stage_name":"deal_registered"}
[2026-04-20 13:46:22] [INFO] Virtual stage updated after activity save {"contact_id":"20843"}
[2026-04-20 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20843","person_id":"2086"}
[2026-04-20 13:46:24] [INFO] Checking activity reminders 
[2026-04-20 13:46:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:46:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:46:27] [INFO] Checking activity reminders 
[2026-04-20 13:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:46:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20686","person_id":"8895"}
[2026-04-20 13:46:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_products"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:48] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-20 13:46:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:50] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:54] [INFO] Checking activity reminders 
[2026-04-20 13:46:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:46:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:46:57] [INFO] Checking activity reminders 
[2026-04-20 13:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:46:59] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 13:46:59] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-20 13:46:59] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-20 13:47:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 13:47:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 13:47:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 13:47:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 13:47:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:47:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 13:47:24] [INFO] Checking activity reminders 
[2026-04-20 13:47:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:47:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:47:27] [INFO] Checking activity reminders 
[2026-04-20 13:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:47:54] [INFO] Checking activity reminders 
[2026-04-20 13:47:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:47:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:47:57] [INFO] Checking activity reminders 
[2026-04-20 13:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:48:12] [INFO] Activity save request {"post_data":{"contact_id":"13757","deal_id":"local_69e0a0397c73a4.53365625","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"جایی بود 10 دقیقه دیگه تماس","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:48:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"13757","note_was_empty":true}
[2026-04-20 13:48:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"13757","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:12] [INFO] Updating virtual stage {"contact_id":"13757","stage_name":"deal_registered","force":false}
[2026-04-20 13:48:12] [INFO] Virtual stage successfully saved {"contact_id":"13757","stage_name":"deal_registered"}
[2026-04-20 13:48:12] [INFO] Virtual stage updated after activity save {"contact_id":"13757"}
[2026-04-20 13:48:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0397c73a4.53365625","stage":"تماس پیگیری","status_change":null}
[2026-04-20 13:48:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5fd64b00cb0.91872655","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5fd64b00cb0.91872655"}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:12] [INFO] Updating virtual stage {"contact_id":"13757","stage_name":"deal_registered","force":false}
[2026-04-20 13:48:12] [INFO] Virtual stage successfully saved {"contact_id":"13757","stage_name":"deal_registered"}
[2026-04-20 13:48:12] [INFO] Virtual stage updated after activity save {"contact_id":"13757"}
[2026-04-20 13:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13757","person_id":"9685"}
[2026-04-20 13:48:25] [INFO] Checking activity reminders 
[2026-04-20 13:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:48:27] [INFO] Checking activity reminders 
[2026-04-20 13:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:48:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:48:55] [INFO] Checking activity reminders 
[2026-04-20 13:48:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:48:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:48:57] [INFO] Checking activity reminders 
[2026-04-20 13:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:49:25] [INFO] Checking activity reminders 
[2026-04-20 13:49:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:49:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:49:27] [INFO] Checking activity reminders 
[2026-04-20 13:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:49:55] [INFO] Checking activity reminders 
[2026-04-20 13:49:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:49:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:49:57] [INFO] Checking activity reminders 
[2026-04-20 13:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:50:08] [INFO] Activity save request {"post_data":{"contact_id":"21016","deal_id":"local_69e0a0565a7254.18535634","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشت خطی ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 13:50:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 13:50:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 13:50:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21016","note_was_empty":true}
[2026-04-20 13:50:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"21016","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 13:50:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:08] [INFO] Updating virtual stage {"contact_id":"21016","stage_name":"deal_registered","force":false}
[2026-04-20 13:50:08] [INFO] Virtual stage successfully saved {"contact_id":"21016","stage_name":"deal_registered"}
[2026-04-20 13:50:08] [INFO] Virtual stage updated after activity save {"contact_id":"21016"}
[2026-04-20 13:50:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0565a7254.18535634","stage":"تماس پیگیری","status_change":null}
[2026-04-20 13:50:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e5fdd8e3d307.31329085","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 13:50:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69e5fdd8e3d307.31329085"}
[2026-04-20 13:50:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:08] [INFO] Updating virtual stage {"contact_id":"21016","stage_name":"deal_registered","force":false}
[2026-04-20 13:50:08] [INFO] Virtual stage successfully saved {"contact_id":"21016","stage_name":"deal_registered"}
[2026-04-20 13:50:08] [INFO] Virtual stage updated after activity save {"contact_id":"21016"}
[2026-04-20 13:50:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21016","person_id":"10367"}
[2026-04-20 13:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5354f22a86.62747611","person_id":"22159"}
[2026-04-20 13:50:25] [INFO] Checking activity reminders 
[2026-04-20 13:50:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:50:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:50:28] [INFO] Checking activity reminders 
[2026-04-20 13:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:50:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-20 13:50:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4271","person_id":"16964"}
[2026-04-20 13:50:55] [INFO] Checking activity reminders 
[2026-04-20 13:50:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:50:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:50:58] [INFO] Checking activity reminders 
[2026-04-20 13:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:51:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 13:51:25] [INFO] Checking activity reminders 
[2026-04-20 13:51:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:51:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:51:28] [INFO] Checking activity reminders 
[2026-04-20 13:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:51:55] [INFO] Checking activity reminders 
[2026-04-20 13:51:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:51:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:51:58] [INFO] Checking activity reminders 
[2026-04-20 13:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:52:25] [INFO] Checking activity reminders 
[2026-04-20 13:52:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:52:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:52:28] [INFO] Checking activity reminders 
[2026-04-20 13:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:52:55] [INFO] Checking activity reminders 
[2026-04-20 13:52:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:52:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:52:58] [INFO] Checking activity reminders 
[2026-04-20 13:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:53:25] [INFO] Checking activity reminders 
[2026-04-20 13:53:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:53:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:53:28] [INFO] Checking activity reminders 
[2026-04-20 13:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:53:55] [INFO] Checking activity reminders 
[2026-04-20 13:53:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:53:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:53:58] [INFO] Checking activity reminders 
[2026-04-20 13:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:54:25] [INFO] Checking activity reminders 
[2026-04-20 13:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:54:28] [INFO] Checking activity reminders 
[2026-04-20 13:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:54:56] [INFO] Checking activity reminders 
[2026-04-20 13:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:54:58] [INFO] Checking activity reminders 
[2026-04-20 13:54:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:54:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:55:26] [INFO] Checking activity reminders 
[2026-04-20 13:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:55:28] [INFO] Checking activity reminders 
[2026-04-20 13:55:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:55:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:55:56] [INFO] Checking activity reminders 
[2026-04-20 13:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:55:58] [INFO] Checking activity reminders 
[2026-04-20 13:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:56:26] [INFO] Checking activity reminders 
[2026-04-20 13:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:56:29] [INFO] Checking activity reminders 
[2026-04-20 13:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:56:56] [INFO] Checking activity reminders 
[2026-04-20 13:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:56:59] [INFO] Checking activity reminders 
[2026-04-20 13:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:57:26] [INFO] Checking activity reminders 
[2026-04-20 13:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:57:29] [INFO] Checking activity reminders 
[2026-04-20 13:57:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:57:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:57:56] [INFO] Checking activity reminders 
[2026-04-20 13:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:57:59] [INFO] Checking activity reminders 
[2026-04-20 13:57:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:57:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:58:26] [INFO] Checking activity reminders 
[2026-04-20 13:58:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:58:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:58:29] [INFO] Checking activity reminders 
[2026-04-20 13:58:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:58:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:58:56] [INFO] Checking activity reminders 
[2026-04-20 13:58:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:58:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:58:59] [INFO] Checking activity reminders 
[2026-04-20 13:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:59:26] [INFO] Checking activity reminders 
[2026-04-20 13:59:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:59:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:59:29] [INFO] Checking activity reminders 
[2026-04-20 13:59:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:59:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:59:56] [INFO] Checking activity reminders 
[2026-04-20 13:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 13:59:59] [INFO] Checking activity reminders 
[2026-04-20 13:59:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 13:59:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:00:26] [INFO] Checking activity reminders 
[2026-04-20 14:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:00:29] [INFO] Checking activity reminders 
[2026-04-20 14:00:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:00:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:00:56] [INFO] Checking activity reminders 
[2026-04-20 14:00:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:00:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:00:59] [INFO] Checking activity reminders 
[2026-04-20 14:00:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:00:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:01:27] [INFO] Checking activity reminders 
[2026-04-20 14:01:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:01:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:01:57] [INFO] Checking activity reminders 
[2026-04-20 14:01:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:01:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:02:27] [INFO] Checking activity reminders 
[2026-04-20 14:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:02:57] [INFO] Checking activity reminders 
[2026-04-20 14:02:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:02:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:03:27] [INFO] Checking activity reminders 
[2026-04-20 14:03:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:03:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:03:57] [INFO] Checking activity reminders 
[2026-04-20 14:03:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:03:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:04:27] [INFO] Checking activity reminders 
[2026-04-20 14:04:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:04:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:04:57] [INFO] Checking activity reminders 
[2026-04-20 14:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:05:27] [INFO] Checking activity reminders 
[2026-04-20 14:05:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:05:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:05:57] [INFO] Checking activity reminders 
[2026-04-20 14:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:06:27] [INFO] Checking activity reminders 
[2026-04-20 14:06:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:06:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:06:43] [INFO] Checking activity reminders 
[2026-04-20 14:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:06:57] [INFO] Checking activity reminders 
[2026-04-20 14:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:07:13] [INFO] Checking activity reminders 
[2026-04-20 14:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:07:27] [INFO] Checking activity reminders 
[2026-04-20 14:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:07:43] [INFO] Checking activity reminders 
[2026-04-20 14:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:07:58] [INFO] Checking activity reminders 
[2026-04-20 14:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:08:13] [INFO] Checking activity reminders 
[2026-04-20 14:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:08:28] [INFO] Checking activity reminders 
[2026-04-20 14:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:08:43] [INFO] Checking activity reminders 
[2026-04-20 14:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:08:54] [INFO] Checking activity reminders 
[2026-04-20 14:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:08:58] [INFO] Checking activity reminders 
[2026-04-20 14:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:09:24] [INFO] Checking activity reminders 
[2026-04-20 14:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:09:28] [INFO] Checking activity reminders 
[2026-04-20 14:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:09:54] [INFO] Checking activity reminders 
[2026-04-20 14:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:09:58] [INFO] Checking activity reminders 
[2026-04-20 14:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:10:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:10:24] [INFO] Checking activity reminders 
[2026-04-20 14:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:10:28] [INFO] Checking activity reminders 
[2026-04-20 14:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:10:55] [INFO] Checking activity reminders 
[2026-04-20 14:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:10:58] [INFO] Checking activity reminders 
[2026-04-20 14:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:11:28] [INFO] Checking activity reminders 
[2026-04-20 14:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:11:58] [INFO] Checking activity reminders 
[2026-04-20 14:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:12:28] [INFO] Checking activity reminders 
[2026-04-20 14:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:12:34] [INFO] Checking activity reminders 
[2026-04-20 14:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:12:48] [INFO] Activity save request {"post_data":{"contact_id":"21055","deal_id":"local_69d0a0bf9b85f1.05338169","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دوست قدیمی استاد \r\nخیلی گلایه کرد از 404 \/ سوال در تلگرام پاسخ ندادن حتی تماس با همراه شخصی استاد داشته \r\nدر عیار کلی متضرر شده \r\nاز خدمات کانال و مستقیما مشاوره با استاد بهش گفتم \r\nفعلا کل سرمایه جنس مغازه گرفته \/ در شرف اسباب کشی و مسافرته \r\nبهش از شرایط 405 گفتم \r\nقرار شد اطلاع بده ","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 14:12:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21055","note_was_empty":true}
[2026-04-20 14:12:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"21055","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:48] [INFO] Updating virtual stage {"contact_id":"21055","stage_name":"deal_registered","force":false}
[2026-04-20 14:12:48] [INFO] Virtual stage successfully saved {"contact_id":"21055","stage_name":"deal_registered"}
[2026-04-20 14:12:48] [INFO] Virtual stage updated after activity save {"contact_id":"21055"}
[2026-04-20 14:12:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a0bf9b85f1.05338169","stage":"تماس پیگیری","status_change":null}
[2026-04-20 14:12:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e603285024c0.95581306","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69e603285024c0.95581306"}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:48] [INFO] Updating virtual stage {"contact_id":"21055","stage_name":"deal_registered","force":false}
[2026-04-20 14:12:48] [INFO] Virtual stage successfully saved {"contact_id":"21055","stage_name":"deal_registered"}
[2026-04-20 14:12:48] [INFO] Virtual stage updated after activity save {"contact_id":"21055"}
[2026-04-20 14:12:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21055","person_id":"19660"}
[2026-04-20 14:12:58] [INFO] Checking activity reminders 
[2026-04-20 14:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:13:04] [INFO] Checking activity reminders 
[2026-04-20 14:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:13:05] [INFO] Activity save request {"post_data":{"contact_id":"17940","deal_id":"local_69d698a8c08702.90598553","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رو طلا 12 فروخته طبق سیگنال استاد ضرر کرده \/ توضیح دادم نوع نوسان رو تغییر ذهنیت  \/ گفت کانل دیگه رو دنبال میکنم محمدجواد حسینی به دلار میگیره \/ در نهایت گفتم تصمیم رو گرفتم نمیخوام فعلا","activity_duration":"25","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"competitor_purchase","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 14:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 14:13:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 14:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17940","note_was_empty":true}
[2026-04-20 14:13:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"17940","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 14:13:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:06] [INFO] Updating virtual stage {"contact_id":"17940","stage_name":"deal_registered","force":false}
[2026-04-20 14:13:06] [INFO] Virtual stage successfully saved {"contact_id":"17940","stage_name":"deal_registered"}
[2026-04-20 14:13:06] [INFO] Virtual stage updated after activity save {"contact_id":"17940"}
[2026-04-20 14:13:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d698a8c08702.90598553","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-20 14:13:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e60339f3d834.09874904","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 14:13:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e60339f3d834.09874904"}
[2026-04-20 14:13:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:06] [INFO] Updating virtual stage {"contact_id":"17940","stage_name":"deal_registered","force":false}
[2026-04-20 14:13:06] [INFO] Virtual stage successfully saved {"contact_id":"17940","stage_name":"deal_registered"}
[2026-04-20 14:13:06] [INFO] Virtual stage updated after activity save {"contact_id":"17940"}
[2026-04-20 14:13:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17940","person_id":"17093"}
[2026-04-20 14:13:28] [INFO] Checking activity reminders 
[2026-04-20 14:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:13:34] [INFO] Checking activity reminders 
[2026-04-20 14:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:13:58] [INFO] Checking activity reminders 
[2026-04-20 14:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:14:04] [INFO] Checking activity reminders 
[2026-04-20 14:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:14:29] [INFO] Checking activity reminders 
[2026-04-20 14:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:14:34] [INFO] Checking activity reminders 
[2026-04-20 14:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:14:59] [INFO] Checking activity reminders 
[2026-04-20 14:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:15:04] [INFO] Checking activity reminders 
[2026-04-20 14:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:15:29] [INFO] Checking activity reminders 
[2026-04-20 14:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:15:34] [INFO] Checking activity reminders 
[2026-04-20 14:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:15:59] [INFO] Checking activity reminders 
[2026-04-20 14:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:16:04] [INFO] Checking activity reminders 
[2026-04-20 14:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:16:29] [INFO] Checking activity reminders 
[2026-04-20 14:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:16:34] [INFO] Checking activity reminders 
[2026-04-20 14:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:16:59] [INFO] Checking activity reminders 
[2026-04-20 14:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:17:05] [INFO] Checking activity reminders 
[2026-04-20 14:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:17:29] [INFO] Checking activity reminders 
[2026-04-20 14:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:17:35] [INFO] Checking activity reminders 
[2026-04-20 14:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:17:59] [INFO] Checking activity reminders 
[2026-04-20 14:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:18:05] [INFO] Checking activity reminders 
[2026-04-20 14:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:18:29] [INFO] Checking activity reminders 
[2026-04-20 14:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:18:35] [INFO] Checking activity reminders 
[2026-04-20 14:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:18:59] [INFO] Checking activity reminders 
[2026-04-20 14:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:19:05] [INFO] Checking activity reminders 
[2026-04-20 14:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:19:29] [INFO] Checking activity reminders 
[2026-04-20 14:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:19:35] [INFO] Checking activity reminders 
[2026-04-20 14:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:19:59] [INFO] Checking activity reminders 
[2026-04-20 14:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:20:05] [INFO] Checking activity reminders 
[2026-04-20 14:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:20:30] [INFO] Checking activity reminders 
[2026-04-20 14:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:20:35] [INFO] Checking activity reminders 
[2026-04-20 14:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:21:00] [INFO] Checking activity reminders 
[2026-04-20 14:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:21:05] [INFO] Checking activity reminders 
[2026-04-20 14:21:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:21:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:21:30] [INFO] Checking activity reminders 
[2026-04-20 14:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:21:35] [INFO] Checking activity reminders 
[2026-04-20 14:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:22:00] [INFO] Checking activity reminders 
[2026-04-20 14:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:22:05] [INFO] Checking activity reminders 
[2026-04-20 14:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:22:30] [INFO] Checking activity reminders 
[2026-04-20 14:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:22:35] [INFO] Checking activity reminders 
[2026-04-20 14:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:23:00] [INFO] Checking activity reminders 
[2026-04-20 14:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:23:05] [INFO] Checking activity reminders 
[2026-04-20 14:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:23:30] [INFO] Checking activity reminders 
[2026-04-20 14:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:23:35] [INFO] Checking activity reminders 
[2026-04-20 14:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:24:00] [INFO] Checking activity reminders 
[2026-04-20 14:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:24:05] [INFO] Checking activity reminders 
[2026-04-20 14:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:24:36] [INFO] Checking activity reminders 
[2026-04-20 14:24:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:24:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:25:06] [INFO] Checking activity reminders 
[2026-04-20 14:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:25:36] [INFO] Checking activity reminders 
[2026-04-20 14:25:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:25:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:26:06] [INFO] Checking activity reminders 
[2026-04-20 14:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:26:36] [INFO] Checking activity reminders 
[2026-04-20 14:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:36:51] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 14:37:00] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 14:37:00] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-20 14:37:00] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-20 14:37:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 14:37:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 14:37:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 14:37:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 14:37:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7625","person_id":"17489"}
[2026-04-20 14:39:32] [INFO] Checking activity reminders 
[2026-04-20 14:39:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:39:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:39:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:39:44] [INFO] Checking activity reminders 
[2026-04-20 14:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:39:59] [INFO] Checking activity reminders 
[2026-04-20 14:39:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:39:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:40:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 14:40:04","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 14:40:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:40:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","is_new_deal":false}
[2026-04-20 14:40:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 14:40:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 14:40:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 14:40:04] [INFO] getContactPrimaryPhone called {"contact_id":"12673"}
[2026-04-20 14:40:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:40:04] [INFO] getContactPrimaryPhone result {"contact_id":"12673","person_found":true,"primary_phone":"9305600749"}
[2026-04-20 14:40:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9305600749"}
[2026-04-20 14:40:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9305600749","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 14:40:04"}
[2026-04-20 14:40:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","existing_deal_found":true,"existing_contact_id":"12673","existing_title":"معامله چهارم 9305600749 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 14:40:04"}
[2026-04-20 14:40:04] [INFO] DealController.save validated payments {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 14:40:04] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12673","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 14:40:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6999a0ce658198.20212253","contact_didar_id":"12673","title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله چهارم 9305600749","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بیرانوند","existing_deal":"YES","existing_deal_id":"local_6999a0ce658198.20212253","existing_deal_status":"Pending","server_time":"2026-04-20 14:40:04","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 14:40:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:40:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":20000000,"server_time":"2026-04-20 14:40:04","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 14:40:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:46:22] [INFO] Checking activity reminders 
[2026-04-20 14:46:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:46:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:46:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 14:50:08] [INFO] Checking activity reminders 
[2026-04-20 14:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:50:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-20 14:51:29] [INFO] Checking activity reminders 
[2026-04-20 14:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:52:07] [INFO] Checking activity reminders 
[2026-04-20 14:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-20 14:52:37] [INFO] Checking activity reminders 
[2026-04-20 14:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:54:28] [INFO] Checking activity reminders 
[2026-04-20 14:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:54:48] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 14:54:59] [INFO] Checking activity reminders 
[2026-04-20 14:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:54:59] [INFO] Checking activity reminders 
[2026-04-20 14:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:55:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-20 14:55:18] [INFO] Checking activity reminders 
[2026-04-20 14:55:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:55:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:55:29] [INFO] Checking activity reminders 
[2026-04-20 14:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:55:46] [INFO] Checking activity reminders 
[2026-04-20 14:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:55:48] [INFO] Checking activity reminders 
[2026-04-20 14:55:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:55:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:55:59] [INFO] Checking activity reminders 
[2026-04-20 14:55:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:55:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:56:09] [INFO] Checking activity reminders 
[2026-04-20 14:56:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:56:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-20 14:56:18] [INFO] Checking activity reminders 
[2026-04-20 14:56:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:56:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:56:43] [INFO] Checking activity reminders 
[2026-04-20 14:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:56:49] [INFO] Checking activity reminders 
[2026-04-20 14:56:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:56:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:57:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 14:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-20 14:57:31] [INFO] Checking activity reminders 
[2026-04-20 14:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:58:06] [INFO] Checking activity reminders 
[2026-04-20 14:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:58:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3043","person_id":"17280"}
[2026-04-20 14:58:20] [INFO] Checking activity reminders 
[2026-04-20 14:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:58:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-20 14:58:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 14:58:36] [INFO] Checking activity reminders 
[2026-04-20 14:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:58:51] [INFO] Checking activity reminders 
[2026-04-20 14:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 14:59:06] [INFO] Checking activity reminders 
[2026-04-20 14:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:59:21] [INFO] Checking activity reminders 
[2026-04-20 14:59:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:59:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:59:36] [INFO] Checking activity reminders 
[2026-04-20 14:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 14:59:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 14:59:51] [INFO] Checking activity reminders 
[2026-04-20 14:59:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 14:59:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:06] [INFO] Checking activity reminders 
[2026-04-20 15:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:12] [INFO] Checking activity reminders 
[2026-04-20 15:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:21] [INFO] Checking activity reminders 
[2026-04-20 15:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:23] [INFO] Checking activity reminders 
[2026-04-20 15:00:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:00:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:00:30","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 15:00:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","is_new_deal":false}
[2026-04-20 15:00:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:30] [INFO] getContactPrimaryPhone called {"contact_id":"12673"}
[2026-04-20 15:00:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:30] [INFO] getContactPrimaryPhone result {"contact_id":"12673","person_found":true,"primary_phone":"9305600749"}
[2026-04-20 15:00:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9305600749"}
[2026-04-20 15:00:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9305600749","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 15:00:30"}
[2026-04-20 15:00:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","existing_deal_found":true,"existing_contact_id":"12673","existing_title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 15:00:30"}
[2026-04-20 15:00:30] [INFO] DealController.save validated payments {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 15:00:30] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12673","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 15:00:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6999a0ce658198.20212253","contact_didar_id":"12673","title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله چهارم 9305600749","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بیرانوند","existing_deal":"YES","existing_deal_id":"local_6999a0ce658198.20212253","existing_deal_status":"Pending","server_time":"2026-04-20 15:00:30","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 15:00:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-20 15:00:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:00:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:37] [INFO] Checking activity reminders 
[2026-04-20 15:00:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:00:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:00:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:00:38","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"12673","is_new_deal":false}
[2026-04-20 15:00:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:00:38] [INFO] getContactPrimaryPhone called {"contact_id":"12673"}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:38] [INFO] getContactPrimaryPhone result {"contact_id":"12673","person_found":true,"primary_phone":"9305600749"}
[2026-04-20 15:00:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9305600749"}
[2026-04-20 15:00:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9305600749","contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 15:00:38"}
[2026-04-20 15:00:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","existing_deal_found":true,"existing_contact_id":"12673","existing_title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 15:00:38"}
[2026-04-20 15:00:38] [INFO] DealController.save validated payments {"deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-20 15:00:38] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12673","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 15:00:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6999a0ce658198.20212253","contact_didar_id":"12673","title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله چهارم 9305600749","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بیرانوند","existing_deal":"YES","existing_deal_id":"local_6999a0ce658198.20212253","existing_deal_status":"Pending","server_time":"2026-04-20 15:00:38","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:38] [INFO] Deal success processed {"contact_id":"12673","person_name":"بیرانوند","products_count":1}
[2026-04-20 15:00:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6999a0ce658198.20212253","contact_id":"12673","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9305600749 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-20 15:00:38","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:38] [INFO] Updating virtual stage {"contact_id":"12673","stage_name":"with_purchase","force":true}
[2026-04-20 15:00:38] [INFO] Virtual stage successfully saved {"contact_id":"12673","stage_name":"with_purchase"}
[2026-04-20 15:00:38] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12673","deal_id":"local_6999a0ce658198.20212253","target_stage":"with_purchase"}
[2026-04-20 15:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-20 15:00:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:01:07] [INFO] Checking activity reminders 
[2026-04-20 15:01:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:01:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:01:37] [INFO] Checking activity reminders 
[2026-04-20 15:01:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:01:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:01:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:02:07] [INFO] Checking activity reminders 
[2026-04-20 15:02:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:19] [INFO] Checking activity reminders 
[2026-04-20 15:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:21] [INFO] Checking activity reminders 
[2026-04-20 15:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:29] [INFO] Checking activity reminders 
[2026-04-20 15:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:30] [INFO] Checking activity reminders 
[2026-04-20 15:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:36] [INFO] Checking activity reminders 
[2026-04-20 15:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:41] [INFO] Checking activity reminders 
[2026-04-20 15:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:02:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:02:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18996","person_id":"8729"}
[2026-04-20 15:02:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:02:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 15:02:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 15:02:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 15:03:00] [INFO] Checking activity reminders 
[2026-04-20 15:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:06] [INFO] Checking activity reminders 
[2026-04-20 15:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:11] [INFO] Checking activity reminders 
[2026-04-20 15:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:03:30] [INFO] Checking activity reminders 
[2026-04-20 15:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:37] [INFO] Checking activity reminders 
[2026-04-20 15:03:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:41] [INFO] Checking activity reminders 
[2026-04-20 15:03:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:03:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:03:41] [INFO] Activity save request {"post_data":{"contact_id":"20649","deal_id":"local_69e0a242b65465.39175749","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"نمیخواد باشه \/ گفتم اسمت از لیست حذف شد کلا ادم نسچبی هست\r\nعید و قبل عید کلی کمکش کردم سیگنال و دسترسی \/ ","activity_duration":"5","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 15:03:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20649","note_was_empty":true}
[2026-04-20 15:03:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"20649","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:41] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-20 15:03:41] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-20 15:03:41] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-20 15:03:41] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a242b65465.39175749","stage":"تماس پیگیری","status_change":null}
[2026-04-20 15:03:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e60f1562aed9.41964735","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e60f1562aed9.41964735"}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:41] [INFO] Updating virtual stage {"contact_id":"20649","stage_name":"deal_registered","force":false}
[2026-04-20 15:03:41] [INFO] Virtual stage successfully saved {"contact_id":"20649","stage_name":"deal_registered"}
[2026-04-20 15:03:41] [INFO] Virtual stage updated after activity save {"contact_id":"20649"}
[2026-04-20 15:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20649","person_id":"11106"}
[2026-04-20 15:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:04:00] [INFO] Checking activity reminders 
[2026-04-20 15:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:07] [INFO] Checking activity reminders 
[2026-04-20 15:04:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:11] [INFO] Checking activity reminders 
[2026-04-20 15:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"18996","deal_id":"local_6954f4ec362857.79229911","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:04:16","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:04:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18996","person_id":"8729"}
[2026-04-20 15:04:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"18996","is_new_deal":false}
[2026-04-20 15:04:16] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:16] [INFO] getContactPrimaryPhone called {"contact_id":"18996"}
[2026-04-20 15:04:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18996","person_id":"8729"}
[2026-04-20 15:04:16] [INFO] getContactPrimaryPhone result {"contact_id":"18996","person_found":true,"primary_phone":"9339004644"}
[2026-04-20 15:04:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9339004644"}
[2026-04-20 15:04:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9339004644","contact_id":"18996","deal_id":"local_6954f4ec362857.79229911","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:04:16"}
[2026-04-20 15:04:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_6954f4ec362857.79229911","contact_id":"18996","existing_deal_found":true,"existing_contact_id":"2967","existing_title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:04:16"}
[2026-04-20 15:04:16] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_6954f4ec362857.79229911","incoming_contact_id":"18996","existing_contact_id":"2967","incoming_title":"کانال VIP با پشتیبانی","requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:04:16"}
[2026-04-20 15:04:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20967","person_id":"19867"}
[2026-04-20 15:04:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 15:04:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 15:04:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 15:04:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 15:04:30] [INFO] Checking activity reminders 
[2026-04-20 15:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:37] [INFO] Checking activity reminders 
[2026-04-20 15:04:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:57] [INFO] Checking activity reminders 
[2026-04-20 15:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:04:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2967","deal_id":"local_6954f4ec362857.79229911","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:04:59","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:04:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:04:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2967","is_new_deal":false}
[2026-04-20 15:04:59] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:04:59] [INFO] getContactPrimaryPhone called {"contact_id":"2967"}
[2026-04-20 15:04:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:04:59] [INFO] getContactPrimaryPhone result {"contact_id":"2967","person_found":true,"primary_phone":"9120372622"}
[2026-04-20 15:04:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120372622"}
[2026-04-20 15:04:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120372622","contact_id":"2967","deal_id":"local_6954f4ec362857.79229911","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:04:59"}
[2026-04-20 15:04:59] [INFO] DealController.save existing deal lookup {"deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","existing_deal_found":true,"existing_contact_id":"2967","existing_title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:04:59"}
[2026-04-20 15:04:59] [INFO] DealController.save validated payments {"deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","payments_count":11,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 15:04:59] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2967","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 15:04:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6954f4ec362857.79229911","contact_didar_id":"2967","title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9120372622","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":74000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مجتبی رزاق پور","existing_deal":"YES","existing_deal_id":"local_6954f4ec362857.79229911","existing_deal_status":"Won","server_time":"2026-04-20 15:04:59","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 15:04:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:04:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":74000000,"server_time":"2026-04-20 15:04:59","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:05:03] [INFO] Checking activity reminders 
[2026-04-20 15:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:05:07] [INFO] Checking activity reminders 
[2026-04-20 15:05:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:05:11] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2967","deal_id":"local_6954f4ec362857.79229911","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:05:11","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:05:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2967","is_new_deal":false}
[2026-04-20 15:05:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 15:05:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:05:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:05:11] [INFO] getContactPrimaryPhone called {"contact_id":"2967"}
[2026-04-20 15:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:05:11] [INFO] getContactPrimaryPhone result {"contact_id":"2967","person_found":true,"primary_phone":"9120372622"}
[2026-04-20 15:05:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120372622"}
[2026-04-20 15:05:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120372622","contact_id":"2967","deal_id":"local_6954f4ec362857.79229911","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:05:11"}
[2026-04-20 15:05:11] [INFO] DealController.save existing deal lookup {"deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","existing_deal_found":true,"existing_contact_id":"2967","existing_title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:05:11"}
[2026-04-20 15:05:11] [INFO] DealController.save validated payments {"deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","payments_count":11,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 15:05:11] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2967","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 15:05:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6954f4ec362857.79229911","contact_didar_id":"2967","title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9120372622","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":79000000,"payment_amount":74000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مجتبی رزاق پور","existing_deal":"YES","existing_deal_id":"local_6954f4ec362857.79229911","existing_deal_status":"Pending","server_time":"2026-04-20 15:05:11","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 15:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:05:11] [INFO] Deal success processed {"contact_id":"2967","person_name":"مجتبی رزاق پور","products_count":1}
[2026-04-20 15:05:11] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6954f4ec362857.79229911","contact_id":"2967","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9120372622 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":74000000,"server_time":"2026-04-20 15:05:11","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2967","person_id":"11038"}
[2026-04-20 15:05:11] [INFO] Updating virtual stage {"contact_id":"2967","stage_name":"with_purchase","force":true}
[2026-04-20 15:05:11] [INFO] Virtual stage successfully saved {"contact_id":"2967","stage_name":"with_purchase"}
[2026-04-20 15:05:11] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2967","deal_id":"local_6954f4ec362857.79229911","target_stage":"with_purchase"}
[2026-04-20 15:05:29] [INFO] Checking activity reminders 
[2026-04-20 15:05:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:05:33] [INFO] Checking activity reminders 
[2026-04-20 15:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:05:37] [INFO] Checking activity reminders 
[2026-04-20 15:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:05:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:05:59] [INFO] Checking activity reminders 
[2026-04-20 15:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:03] [INFO] Checking activity reminders 
[2026-04-20 15:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:07] [INFO] Checking activity reminders 
[2026-04-20 15:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:06:29] [INFO] Checking activity reminders 
[2026-04-20 15:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:33] [INFO] Checking activity reminders 
[2026-04-20 15:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:37] [INFO] Checking activity reminders 
[2026-04-20 15:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:06:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:06:59] [INFO] Checking activity reminders 
[2026-04-20 15:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:03] [INFO] Checking activity reminders 
[2026-04-20 15:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:07] [INFO] Checking activity reminders 
[2026-04-20 15:07:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:07:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:29] [INFO] Checking activity reminders 
[2026-04-20 15:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:34] [INFO] Checking activity reminders 
[2026-04-20 15:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:07:37] [INFO] Checking activity reminders 
[2026-04-20 15:07:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:07:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:07:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2617","deal_id":"local_694aaf8b65a676.33889150","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:07:40","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2617","is_new_deal":false}
[2026-04-20 15:07:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:40] [INFO] getContactPrimaryPhone called {"contact_id":"2617"}
[2026-04-20 15:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:40] [INFO] getContactPrimaryPhone result {"contact_id":"2617","person_found":true,"primary_phone":"9113331689"}
[2026-04-20 15:07:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9113331689"}
[2026-04-20 15:07:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9113331689","contact_id":"2617","deal_id":"local_694aaf8b65a676.33889150","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:07:40"}
[2026-04-20 15:07:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","existing_deal_found":true,"existing_contact_id":"2617","existing_title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:07:40"}
[2026-04-20 15:07:40] [INFO] DealController.save validated payments {"deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 15:07:40] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2617","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 15:07:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694aaf8b65a676.33889150","contact_didar_id":"2617","title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9113331689","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"هادی پور","existing_deal":"YES","existing_deal_id":"local_694aaf8b65a676.33889150","existing_deal_status":"Won","server_time":"2026-04-20 15:07:40","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 15:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-20 15:07:40","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:07:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2617","deal_id":"local_694aaf8b65a676.33889150","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:07:54","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2617","is_new_deal":false}
[2026-04-20 15:07:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 15:07:54] [INFO] getContactPrimaryPhone called {"contact_id":"2617"}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [INFO] getContactPrimaryPhone result {"contact_id":"2617","person_found":true,"primary_phone":"9113331689"}
[2026-04-20 15:07:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9113331689"}
[2026-04-20 15:07:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9113331689","contact_id":"2617","deal_id":"local_694aaf8b65a676.33889150","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:07:54"}
[2026-04-20 15:07:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","existing_deal_found":true,"existing_contact_id":"2617","existing_title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:07:54"}
[2026-04-20 15:07:54] [INFO] DealController.save validated payments {"deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-20 15:07:54] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2617","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 15:07:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694aaf8b65a676.33889150","contact_didar_id":"2617","title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9113331689","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"هادی پور","existing_deal":"YES","existing_deal_id":"local_694aaf8b65a676.33889150","existing_deal_status":"Pending","server_time":"2026-04-20 15:07:54","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [INFO] Deal success processed {"contact_id":"2617","person_name":"هادی پور","products_count":1}
[2026-04-20 15:07:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694aaf8b65a676.33889150","contact_id":"2617","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9113331689 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-20 15:07:54","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:07:54] [INFO] Updating virtual stage {"contact_id":"2617","stage_name":"with_purchase","force":true}
[2026-04-20 15:07:54] [INFO] Virtual stage successfully saved {"contact_id":"2617","stage_name":"with_purchase"}
[2026-04-20 15:07:54] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2617","deal_id":"local_694aaf8b65a676.33889150","target_stage":"with_purchase"}
[2026-04-20 15:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:08:00] [INFO] Checking activity reminders 
[2026-04-20 15:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:08:04] [INFO] Checking activity reminders 
[2026-04-20 15:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:08:07] [INFO] Checking activity reminders 
[2026-04-20 15:08:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:08:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:08:30] [INFO] Checking activity reminders 
[2026-04-20 15:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:08:34] [INFO] Checking activity reminders 
[2026-04-20 15:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:08:38] [INFO] Checking activity reminders 
[2026-04-20 15:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-20 15:09:01] [INFO] Checking activity reminders 
[2026-04-20 15:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:04] [INFO] Checking activity reminders 
[2026-04-20 15:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:08] [INFO] Checking activity reminders 
[2026-04-20 15:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-20 15:09:33] [INFO] Checking activity reminders 
[2026-04-20 15:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:34] [INFO] Checking activity reminders 
[2026-04-20 15:09:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:38] [INFO] Checking activity reminders 
[2026-04-20 15:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:09:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 15:09:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:10:03] [INFO] Checking activity reminders 
[2026-04-20 15:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:10:08] [INFO] Checking activity reminders 
[2026-04-20 15:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:10:13] [INFO] Checking activity reminders 
[2026-04-20 15:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:10:34] [INFO] Checking activity reminders 
[2026-04-20 15:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:10:38] [INFO] Checking activity reminders 
[2026-04-20 15:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:11:05] [INFO] Checking activity reminders 
[2026-04-20 15:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:11:08] [INFO] Checking activity reminders 
[2026-04-20 15:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:11:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:11:35] [INFO] Checking activity reminders 
[2026-04-20 15:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:11:38] [INFO] Checking activity reminders 
[2026-04-20 15:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:11:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:11:44] [INFO] Checking activity reminders 
[2026-04-20 15:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:05] [INFO] Checking activity reminders 
[2026-04-20 15:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:08] [INFO] Checking activity reminders 
[2026-04-20 15:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:14] [INFO] Checking activity reminders 
[2026-04-20 15:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:35] [INFO] Checking activity reminders 
[2026-04-20 15:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:38] [INFO] Checking activity reminders 
[2026-04-20 15:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:12:44] [INFO] Checking activity reminders 
[2026-04-20 15:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:05] [INFO] Checking activity reminders 
[2026-04-20 15:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:08] [INFO] Checking activity reminders 
[2026-04-20 15:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:35] [INFO] Checking activity reminders 
[2026-04-20 15:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:38] [INFO] Checking activity reminders 
[2026-04-20 15:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12975","deal_id":"local_69dc9d2e63fc8","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:13:42","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:13:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:13:42] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12975","is_new_deal":false}
[2026-04-20 15:13:42] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 15:13:42] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 15:13:42] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 15:13:42] [INFO] getContactPrimaryPhone called {"contact_id":"12975"}
[2026-04-20 15:13:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:13:42] [INFO] getContactPrimaryPhone result {"contact_id":"12975","person_found":true,"primary_phone":"9306678878"}
[2026-04-20 15:13:42] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9306678878"}
[2026-04-20 15:13:42] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9306678878","contact_id":"12975","deal_id":"local_69dc9d2e63fc8","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:13:42"}
[2026-04-20 15:13:42] [INFO] DealController.save existing deal lookup {"deal_id":"local_69dc9d2e63fc8","contact_id":"12975","existing_deal_found":true,"existing_contact_id":"local_69dc9d2e6210c3.45414163","existing_title":"معامله اول 9940635199 | کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:13:42"}
[2026-04-20 15:13:42] [WARNING] Deal save blocked: deal_id does not belong to contact {"deal_id":"local_69dc9d2e63fc8","incoming_contact_id":"12975","existing_contact_id":"local_69dc9d2e6210c3.45414163","incoming_title":"کانال VIP با پشتیبانی شش ماهه","requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:13:42"}
[2026-04-20 15:13:47] [INFO] Checking activity reminders 
[2026-04-20 15:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:13:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-20 15:13:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-20 15:14:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-20 15:14:08] [INFO] Checking activity reminders 
[2026-04-20 15:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:14:38] [INFO] Checking activity reminders 
[2026-04-20 15:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:15:08] [INFO] Checking activity reminders 
[2026-04-20 15:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:15:38] [INFO] Checking activity reminders 
[2026-04-20 15:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:16:09] [INFO] Checking activity reminders 
[2026-04-20 15:16:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:16:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:16:39] [INFO] Checking activity reminders 
[2026-04-20 15:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:17:09] [INFO] Checking activity reminders 
[2026-04-20 15:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:17:39] [INFO] Checking activity reminders 
[2026-04-20 15:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:18:09] [INFO] Checking activity reminders 
[2026-04-20 15:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:18:39] [INFO] Checking activity reminders 
[2026-04-20 15:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:19:09] [INFO] Checking activity reminders 
[2026-04-20 15:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:19:39] [INFO] Checking activity reminders 
[2026-04-20 15:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:20:09] [INFO] Checking activity reminders 
[2026-04-20 15:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:20:39] [INFO] Checking activity reminders 
[2026-04-20 15:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:21:09] [INFO] Checking activity reminders 
[2026-04-20 15:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:21:10] [INFO] Checking activity reminders 
[2026-04-20 15:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:21:39] [INFO] Checking activity reminders 
[2026-04-20 15:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:22:09] [INFO] Checking activity reminders 
[2026-04-20 15:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:22:39] [INFO] Checking activity reminders 
[2026-04-20 15:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:23:09] [INFO] Checking activity reminders 
[2026-04-20 15:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:23:40] [INFO] Checking activity reminders 
[2026-04-20 15:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:24:10] [INFO] Checking activity reminders 
[2026-04-20 15:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:24:40] [INFO] Checking activity reminders 
[2026-04-20 15:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:25:10] [INFO] Checking activity reminders 
[2026-04-20 15:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:25:40] [INFO] Checking activity reminders 
[2026-04-20 15:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:26:10] [INFO] Checking activity reminders 
[2026-04-20 15:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:26:40] [INFO] Checking activity reminders 
[2026-04-20 15:26:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:26:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:27:10] [INFO] Checking activity reminders 
[2026-04-20 15:27:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:27:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:27:21] [INFO] Checking activity reminders 
[2026-04-20 15:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:29:34] [INFO] Checking activity reminders 
[2026-04-20 15:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:29:55] [INFO] Checking activity reminders 
[2026-04-20 15:29:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:29:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:30:19] [INFO] Checking activity reminders 
[2026-04-20 15:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:30:19] [INFO] Checking activity reminders 
[2026-04-20 15:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 15:30:41] [INFO] Checking activity reminders 
[2026-04-20 15:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:30:49] [INFO] Checking activity reminders 
[2026-04-20 15:30:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:30:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:31:19] [INFO] Checking activity reminders 
[2026-04-20 15:31:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:31:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:31:38] [INFO] Checking activity reminders 
[2026-04-20 15:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:31:49] [INFO] Checking activity reminders 
[2026-04-20 15:31:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:31:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:32:19] [INFO] Checking activity reminders 
[2026-04-20 15:32:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:32:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:32:49] [INFO] Checking activity reminders 
[2026-04-20 15:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:33:19] [INFO] Checking activity reminders 
[2026-04-20 15:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:33:51] [INFO] Checking activity reminders 
[2026-04-20 15:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:34:07] [INFO] Checking activity reminders 
[2026-04-20 15:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:34:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 15:34:37] [INFO] Checking activity reminders 
[2026-04-20 15:34:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:34:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:35:03] [INFO] Checking activity reminders 
[2026-04-20 15:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:35:34] [INFO] Checking activity reminders 
[2026-04-20 15:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:36:04] [INFO] Checking activity reminders 
[2026-04-20 15:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:36:34] [INFO] Checking activity reminders 
[2026-04-20 15:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:37:04] [INFO] Checking activity reminders 
[2026-04-20 15:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:37:35] [INFO] Checking activity reminders 
[2026-04-20 15:37:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:37:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:38:05] [INFO] Checking activity reminders 
[2026-04-20 15:38:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:38:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:38:35] [INFO] Checking activity reminders 
[2026-04-20 15:38:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:38:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:39:05] [INFO] Checking activity reminders 
[2026-04-20 15:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:39:35] [INFO] Checking activity reminders 
[2026-04-20 15:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:39:51] [INFO] Checking activity reminders 
[2026-04-20 15:39:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:39:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:40:05] [INFO] Checking activity reminders 
[2026-04-20 15:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:40:35] [INFO] Checking activity reminders 
[2026-04-20 15:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:41:05] [INFO] Checking activity reminders 
[2026-04-20 15:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:41:35] [INFO] Checking activity reminders 
[2026-04-20 15:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:42:05] [INFO] Checking activity reminders 
[2026-04-20 15:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:42:36] [INFO] Checking activity reminders 
[2026-04-20 15:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:43:06] [INFO] Checking activity reminders 
[2026-04-20 15:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:43:23] [INFO] Checking activity reminders 
[2026-04-20 15:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:43:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-20 15:43:36] [INFO] Checking activity reminders 
[2026-04-20 15:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:44:06] [INFO] Checking activity reminders 
[2026-04-20 15:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:44:36] [INFO] Checking activity reminders 
[2026-04-20 15:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:45:06] [INFO] Checking activity reminders 
[2026-04-20 15:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:45:36] [INFO] Checking activity reminders 
[2026-04-20 15:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:46:06] [INFO] Checking activity reminders 
[2026-04-20 15:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:46:36] [INFO] Checking activity reminders 
[2026-04-20 15:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:47:06] [INFO] Checking activity reminders 
[2026-04-20 15:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:47:36] [INFO] Checking activity reminders 
[2026-04-20 15:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:48:07] [INFO] Checking activity reminders 
[2026-04-20 15:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:48:37] [INFO] Checking activity reminders 
[2026-04-20 15:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:49:07] [INFO] Checking activity reminders 
[2026-04-20 15:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:49:37] [INFO] Checking activity reminders 
[2026-04-20 15:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:49:49] [INFO] Checking activity reminders 
[2026-04-20 15:49:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:49:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:07] [INFO] Checking activity reminders 
[2026-04-20 15:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:19] [INFO] Checking activity reminders 
[2026-04-20 15:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:20] [INFO] Checking activity reminders 
[2026-04-20 15:50:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-20 15:50:37] [INFO] Checking activity reminders 
[2026-04-20 15:50:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:50] [INFO] Checking activity reminders 
[2026-04-20 15:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:50:51] [INFO] Checking activity reminders 
[2026-04-20 15:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:51:07] [INFO] Checking activity reminders 
[2026-04-20 15:51:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:51:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:51:20] [INFO] Checking activity reminders 
[2026-04-20 15:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:51:37] [INFO] Checking activity reminders 
[2026-04-20 15:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:51:50] [INFO] Checking activity reminders 
[2026-04-20 15:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:06] [INFO] Checking activity reminders 
[2026-04-20 15:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:07] [INFO] Checking activity reminders 
[2026-04-20 15:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 15:52:07] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 15:52:07] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 15:52:07] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 15:52:20] [INFO] Checking activity reminders 
[2026-04-20 15:52:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:34] [INFO] Checking activity reminders 
[2026-04-20 15:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:37] [INFO] Checking activity reminders 
[2026-04-20 15:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:52:50] [INFO] Checking activity reminders 
[2026-04-20 15:52:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:52:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:53:08] [INFO] Checking activity reminders 
[2026-04-20 15:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:53:20] [INFO] Checking activity reminders 
[2026-04-20 15:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:53:38] [INFO] Checking activity reminders 
[2026-04-20 15:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:53:50] [INFO] Checking activity reminders 
[2026-04-20 15:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:54:08] [INFO] Checking activity reminders 
[2026-04-20 15:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:54:20] [INFO] Checking activity reminders 
[2026-04-20 15:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:54:31] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"6729","deal_id":"local_69b6b1f6db6594.48801747","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:54:31","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 15:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-20 15:54:31] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"6729","is_new_deal":false}
[2026-04-20 15:54:31] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 15:54:31] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 15:54:31] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 15:54:31] [INFO] getContactPrimaryPhone called {"contact_id":"6729"}
[2026-04-20 15:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-20 15:54:31] [INFO] getContactPrimaryPhone result {"contact_id":"6729","person_found":true,"primary_phone":"9365098797"}
[2026-04-20 15:54:31] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9365098797"}
[2026-04-20 15:54:31] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9365098797","contact_id":"6729","deal_id":"local_69b6b1f6db6594.48801747","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 15:54:31"}
[2026-04-20 15:54:31] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6b1f6db6594.48801747","contact_id":"6729","existing_deal_found":true,"existing_contact_id":"6729","existing_title":"معامله سوم 9365098797 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 15:54:31"}
[2026-04-20 15:54:31] [INFO] DealController.save validated payments {"deal_id":"local_69b6b1f6db6594.48801747","contact_id":"6729","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 15:54:31] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6729","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 15:54:31] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6b1f6db6594.48801747","contact_didar_id":"6729","title":"معامله سوم 9365098797 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9365098797","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"نعمت زاده","existing_deal":"YES","existing_deal_id":"local_69b6b1f6db6594.48801747","existing_deal_status":"Pending","server_time":"2026-04-20 15:54:31","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 15:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-20 15:54:31] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6b1f6db6594.48801747","contact_id":"6729","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9365098797 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-20 15:54:31","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-20 15:54:38] [INFO] Checking activity reminders 
[2026-04-20 15:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:55:08] [INFO] Checking activity reminders 
[2026-04-20 15:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:55:38] [INFO] Checking activity reminders 
[2026-04-20 15:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:56:08] [INFO] Checking activity reminders 
[2026-04-20 15:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:56:37] [INFO] Checking activity reminders 
[2026-04-20 15:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:56:38] [INFO] Checking activity reminders 
[2026-04-20 15:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:57:07] [INFO] Checking activity reminders 
[2026-04-20 15:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:57:08] [INFO] Checking activity reminders 
[2026-04-20 15:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:57:37] [INFO] Checking activity reminders 
[2026-04-20 15:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:57:38] [INFO] Checking activity reminders 
[2026-04-20 15:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:58:08] [INFO] Checking activity reminders 
[2026-04-20 15:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:58:08] [INFO] Checking activity reminders 
[2026-04-20 15:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:58:38] [INFO] Checking activity reminders 
[2026-04-20 15:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:58:39] [INFO] Checking activity reminders 
[2026-04-20 15:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:59:08] [INFO] Checking activity reminders 
[2026-04-20 15:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:59:09] [INFO] Checking activity reminders 
[2026-04-20 15:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:59:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"18241","deal_id":"local_694a3d23d84aa8.22279796","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 15:59:24","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 15:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:59:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"18241","is_new_deal":false}
[2026-04-20 15:59:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:59:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:59:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 15:59:24] [INFO] getContactPrimaryPhone called {"contact_id":"18241"}
[2026-04-20 15:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:59:24] [INFO] getContactPrimaryPhone result {"contact_id":"18241","person_found":true,"primary_phone":"9367169378"}
[2026-04-20 15:59:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367169378"}
[2026-04-20 15:59:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367169378","contact_id":"18241","deal_id":"local_694a3d23d84aa8.22279796","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:59:24"}
[2026-04-20 15:59:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","existing_deal_found":true,"existing_contact_id":"18241","existing_title":"معامله اول 9367169378 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 15:59:24"}
[2026-04-20 15:59:24] [INFO] DealController.save validated payments {"deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-20 15:59:24] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"18241","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 15:59:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a3d23d84aa8.22279796","contact_didar_id":"18241","title":"معامله اول 9367169378 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9367169378","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":14000000,"payment_amount":14000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بهبودی بهبودی","existing_deal":"YES","existing_deal_id":"local_694a3d23d84aa8.22279796","existing_deal_status":"Pending","server_time":"2026-04-20 15:59:24","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 15:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:59:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9367169378 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":14000000,"payment_amount":14000000,"server_time":"2026-04-20 15:59:24","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 15:59:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 15:59:38] [INFO] Checking activity reminders 
[2026-04-20 15:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 15:59:39] [INFO] Checking activity reminders 
[2026-04-20 15:59:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 15:59:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:00:09] [INFO] Checking activity reminders 
[2026-04-20 16:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:00:09] [INFO] Checking activity reminders 
[2026-04-20 16:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:00:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"18241","deal_id":"local_694a3d23d84aa8.22279796","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:00:16","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"18241","is_new_deal":false}
[2026-04-20 16:00:16] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 16:00:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 16:00:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-20 16:00:16] [INFO] getContactPrimaryPhone called {"contact_id":"18241"}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:16] [INFO] getContactPrimaryPhone result {"contact_id":"18241","person_found":true,"primary_phone":"9367169378"}
[2026-04-20 16:00:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367169378"}
[2026-04-20 16:00:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367169378","contact_id":"18241","deal_id":"local_694a3d23d84aa8.22279796","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:00:16"}
[2026-04-20 16:00:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","existing_deal_found":true,"existing_contact_id":"18241","existing_title":"معامله اول 9367169378 | کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:00:16"}
[2026-04-20 16:00:16] [INFO] DealController.save validated payments {"deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-20 16:00:16] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"18241","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 16:00:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694a3d23d84aa8.22279796","contact_didar_id":"18241","title":"معامله اول 9367169378 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9367169378","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":14000000,"payment_amount":14000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بهبودی بهبودی","existing_deal":"YES","existing_deal_id":"local_694a3d23d84aa8.22279796","existing_deal_status":"Pending","server_time":"2026-04-20 16:00:16","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:16] [INFO] Deal success processed {"contact_id":"18241","person_name":"بهبودی بهبودی","products_count":1}
[2026-04-20 16:00:16] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694a3d23d84aa8.22279796","contact_id":"18241","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9367169378 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":14000000,"payment_amount":14000000,"server_time":"2026-04-20 16:00:16","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:16] [INFO] Updating virtual stage {"contact_id":"18241","stage_name":"with_purchase","force":true}
[2026-04-20 16:00:16] [INFO] Virtual stage successfully saved {"contact_id":"18241","stage_name":"with_purchase"}
[2026-04-20 16:00:16] [INFO] Moved contact out of kariz after successful deal {"contact_id":"18241","deal_id":"local_694a3d23d84aa8.22279796","target_stage":"with_purchase"}
[2026-04-20 16:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 16:00:39] [INFO] Checking activity reminders 
[2026-04-20 16:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:00:39] [INFO] Checking activity reminders 
[2026-04-20 16:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:00:58] [INFO] Checking activity reminders 
[2026-04-20 16:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:01:00] [INFO] Checking activity reminders 
[2026-04-20 16:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:01:09] [INFO] Checking activity reminders 
[2026-04-20 16:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:01:30] [INFO] Checking activity reminders 
[2026-04-20 16:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:01:40] [INFO] Checking activity reminders 
[2026-04-20 16:01:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:01:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:02:00] [INFO] Checking activity reminders 
[2026-04-20 16:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:02:10] [INFO] Checking activity reminders 
[2026-04-20 16:02:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:02:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:02:30] [INFO] Checking activity reminders 
[2026-04-20 16:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:02:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:02:40] [INFO] Checking activity reminders 
[2026-04-20 16:02:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:02:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:03:00] [INFO] Checking activity reminders 
[2026-04-20 16:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:03:30] [INFO] Checking activity reminders 
[2026-04-20 16:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:05:19] [INFO] Checking activity reminders 
[2026-04-20 16:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:05:49] [INFO] Checking activity reminders 
[2026-04-20 16:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:06:19] [INFO] Checking activity reminders 
[2026-04-20 16:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:06:49] [INFO] Checking activity reminders 
[2026-04-20 16:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:07:20] [INFO] Checking activity reminders 
[2026-04-20 16:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:07:43] [INFO] Checking activity reminders 
[2026-04-20 16:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:07:43] [INFO] Checking activity reminders 
[2026-04-20 16:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:07:43] [INFO] Checking activity reminders 
[2026-04-20 16:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:07:50] [INFO] Checking activity reminders 
[2026-04-20 16:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:08:13] [INFO] Checking activity reminders 
[2026-04-20 16:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:08:20] [INFO] Checking activity reminders 
[2026-04-20 16:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:08:43] [INFO] Checking activity reminders 
[2026-04-20 16:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:08:50] [INFO] Checking activity reminders 
[2026-04-20 16:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:09:13] [INFO] Checking activity reminders 
[2026-04-20 16:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:09:20] [INFO] Checking activity reminders 
[2026-04-20 16:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:09:43] [INFO] Checking activity reminders 
[2026-04-20 16:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:09:50] [INFO] Checking activity reminders 
[2026-04-20 16:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:10:13] [INFO] Checking activity reminders 
[2026-04-20 16:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:10:21] [INFO] Checking activity reminders 
[2026-04-20 16:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:10:43] [INFO] Checking activity reminders 
[2026-04-20 16:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:10:51] [INFO] Checking activity reminders 
[2026-04-20 16:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:11:13] [INFO] Checking activity reminders 
[2026-04-20 16:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:11:21] [INFO] Checking activity reminders 
[2026-04-20 16:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:11:43] [INFO] Checking activity reminders 
[2026-04-20 16:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:11:51] [INFO] Checking activity reminders 
[2026-04-20 16:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:12:14] [INFO] Checking activity reminders 
[2026-04-20 16:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:12:19] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"702","deal_id":"local_69512ec7500a70.71412149","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:12:19","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 16:12:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"702","is_new_deal":false}
[2026-04-20 16:12:19] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-20 16:12:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-20 16:12:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-20 16:12:19] [INFO] getContactPrimaryPhone called {"contact_id":"702"}
[2026-04-20 16:12:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:19] [INFO] getContactPrimaryPhone result {"contact_id":"702","person_found":true,"primary_phone":"9129559065"}
[2026-04-20 16:12:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129559065"}
[2026-04-20 16:12:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129559065","contact_id":"702","deal_id":"local_69512ec7500a70.71412149","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:12:19"}
[2026-04-20 16:12:19] [INFO] DealController.save existing deal lookup {"deal_id":"local_69512ec7500a70.71412149","contact_id":"702","existing_deal_found":true,"existing_contact_id":"702","existing_title":"معامله دوم 9129559065 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:12:19"}
[2026-04-20 16:12:19] [INFO] DealController.save validated payments {"deal_id":"local_69512ec7500a70.71412149","contact_id":"702","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 16:12:19] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"702","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 16:12:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69512ec7500a70.71412149","contact_didar_id":"702","title":"معامله دوم 9129559065 | CIP","base_title_used":"معامله دوم 9129559065","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیررضا ملامیرزایی","existing_deal":"YES","existing_deal_id":"local_69512ec7500a70.71412149","existing_deal_status":"Pending","server_time":"2026-04-20 16:12:19","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 16:12:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:19] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69512ec7500a70.71412149","contact_id":"702","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9129559065 | CIP","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-20 16:12:19","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:21] [INFO] Checking activity reminders 
[2026-04-20 16:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:12:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"702","deal_id":"local_69512ec7500a70.71412149","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:12:33","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 16:12:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"702","is_new_deal":false}
[2026-04-20 16:12:33] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-20 16:12:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-20 16:12:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-20 16:12:33] [INFO] getContactPrimaryPhone called {"contact_id":"702"}
[2026-04-20 16:12:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:33] [INFO] getContactPrimaryPhone result {"contact_id":"702","person_found":true,"primary_phone":"9129559065"}
[2026-04-20 16:12:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9129559065"}
[2026-04-20 16:12:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9129559065","contact_id":"702","deal_id":"local_69512ec7500a70.71412149","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:12:33"}
[2026-04-20 16:12:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_69512ec7500a70.71412149","contact_id":"702","existing_deal_found":true,"existing_contact_id":"702","existing_title":"معامله دوم 9129559065 | CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:12:33"}
[2026-04-20 16:12:33] [INFO] DealController.save validated payments {"deal_id":"local_69512ec7500a70.71412149","contact_id":"702","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-20 16:12:33] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"702","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 16:12:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69512ec7500a70.71412149","contact_didar_id":"702","title":"معامله دوم 9129559065 | CIP","base_title_used":"معامله دوم 9129559065","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیررضا ملامیرزایی","existing_deal":"YES","existing_deal_id":"local_69512ec7500a70.71412149","existing_deal_status":"Pending","server_time":"2026-04-20 16:12:33","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 16:12:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:33] [INFO] Deal success processed {"contact_id":"702","person_name":"امیررضا ملامیرزایی","products_count":1}
[2026-04-20 16:12:33] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69512ec7500a70.71412149","contact_id":"702","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9129559065 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-20 16:12:33","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:12:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:33] [INFO] Updating virtual stage {"contact_id":"702","stage_name":"with_purchase","force":true}
[2026-04-20 16:12:33] [INFO] Virtual stage successfully saved {"contact_id":"702","stage_name":"with_purchase"}
[2026-04-20 16:12:33] [INFO] Moved contact out of kariz after successful deal {"contact_id":"702","deal_id":"local_69512ec7500a70.71412149","target_stage":"with_purchase"}
[2026-04-20 16:12:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-20 16:12:44] [INFO] Checking activity reminders 
[2026-04-20 16:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:12:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:12:51] [INFO] Checking activity reminders 
[2026-04-20 16:12:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:12:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:13:14] [INFO] Checking activity reminders 
[2026-04-20 16:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:13:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:13:22] [INFO] Checking activity reminders 
[2026-04-20 16:13:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:13:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:13:44] [INFO] Checking activity reminders 
[2026-04-20 16:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:13:52] [INFO] Checking activity reminders 
[2026-04-20 16:13:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:13:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:14:14] [INFO] Checking activity reminders 
[2026-04-20 16:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:14:26] [INFO] Checking activity reminders 
[2026-04-20 16:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:14:44] [INFO] Checking activity reminders 
[2026-04-20 16:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:14:56] [INFO] Checking activity reminders 
[2026-04-20 16:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:15:14] [INFO] Checking activity reminders 
[2026-04-20 16:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:15:27] [INFO] Checking activity reminders 
[2026-04-20 16:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:15:44] [INFO] Checking activity reminders 
[2026-04-20 16:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:15:57] [INFO] Checking activity reminders 
[2026-04-20 16:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:16:14] [INFO] Checking activity reminders 
[2026-04-20 16:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:16:27] [INFO] Checking activity reminders 
[2026-04-20 16:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:16:57] [INFO] Checking activity reminders 
[2026-04-20 16:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:17:15] [INFO] Checking activity reminders 
[2026-04-20 16:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:17:27] [INFO] Checking activity reminders 
[2026-04-20 16:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:17:45] [INFO] Checking activity reminders 
[2026-04-20 16:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:17:57] [INFO] Checking activity reminders 
[2026-04-20 16:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:18:15] [INFO] Checking activity reminders 
[2026-04-20 16:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:18:28] [INFO] Checking activity reminders 
[2026-04-20 16:18:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:18:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:18:45] [INFO] Checking activity reminders 
[2026-04-20 16:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:18:58] [INFO] Checking activity reminders 
[2026-04-20 16:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:19:16] [INFO] Checking activity reminders 
[2026-04-20 16:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:19:46] [INFO] Checking activity reminders 
[2026-04-20 16:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:19:48] [INFO] Checking activity reminders 
[2026-04-20 16:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:19:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:18] [INFO] Checking activity reminders 
[2026-04-20 16:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:20:31] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:20:31","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 16:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:31] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"703","is_new_deal":false}
[2026-04-20 16:20:31] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:20:31] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:20:31] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:20:31] [INFO] getContactPrimaryPhone called {"contact_id":"703"}
[2026-04-20 16:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:31] [INFO] getContactPrimaryPhone result {"contact_id":"703","person_found":true,"primary_phone":"9131188286"}
[2026-04-20 16:20:31] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131188286"}
[2026-04-20 16:20:31] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131188286","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:20:31"}
[2026-04-20 16:20:31] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","existing_deal_found":true,"existing_contact_id":"703","existing_title":"معامله اول 9131188286 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 16:20:31"}
[2026-04-20 16:20:31] [INFO] DealController.save validated payments {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 16:20:31] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"703","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 16:20:31] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f71fc26f22.34897929","contact_didar_id":"703","title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9131188286","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"رضا محمدی","existing_deal":"YES","existing_deal_id":"local_6950f71fc26f22.34897929","existing_deal_status":"Pending","server_time":"2026-04-20 16:20:31","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 16:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:31] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":19000000,"server_time":"2026-04-20 16:20:31","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:20:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:42] [INFO] Lead update received {"contact_id":"703","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 16:20:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:42] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"703"}
[2026-04-20 16:20:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:20:48] [INFO] Checking activity reminders 
[2026-04-20 16:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:24:26] [INFO] Checking activity reminders 
[2026-04-20 16:24:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:24:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:25:23] [INFO] Checking activity reminders 
[2026-04-20 16:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:25:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:25:53] [INFO] Checking activity reminders 
[2026-04-20 16:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:26:23] [INFO] Checking activity reminders 
[2026-04-20 16:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:26:36] [INFO] Checking activity reminders 
[2026-04-20 16:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:26:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:26:41] [INFO] generateDealTitle result {"contact_id":"10621","person_name":"عبدالهی","mobile":"9167114158","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9167114158"}
[2026-04-20 16:26:53] [INFO] Checking activity reminders 
[2026-04-20 16:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:27:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:27:02","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 16:27:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"703","is_new_deal":false}
[2026-04-20 16:27:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:02] [INFO] getContactPrimaryPhone called {"contact_id":"703"}
[2026-04-20 16:27:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:02] [INFO] getContactPrimaryPhone result {"contact_id":"703","person_found":true,"primary_phone":"9131188286"}
[2026-04-20 16:27:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131188286"}
[2026-04-20 16:27:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131188286","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:27:02"}
[2026-04-20 16:27:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","existing_deal_found":true,"existing_contact_id":"703","existing_title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:27:02"}
[2026-04-20 16:27:02] [INFO] DealController.save validated payments {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","payments_count":4,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 16:27:02] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"703","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:27:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f71fc26f22.34897929","contact_didar_id":"703","title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9131188286","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضا محمدی","existing_deal":"YES","existing_deal_id":"local_6950f71fc26f22.34897929","existing_deal_status":"Pending","server_time":"2026-04-20 16:27:02","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 16:27:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-20 16:27:02","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:27:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:27:09","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"703","is_new_deal":false}
[2026-04-20 16:27:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:27:09] [INFO] getContactPrimaryPhone called {"contact_id":"703"}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [INFO] getContactPrimaryPhone result {"contact_id":"703","person_found":true,"primary_phone":"9131188286"}
[2026-04-20 16:27:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131188286"}
[2026-04-20 16:27:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131188286","contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:27:09"}
[2026-04-20 16:27:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","existing_deal_found":true,"existing_contact_id":"703","existing_title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:27:09"}
[2026-04-20 16:27:09] [INFO] DealController.save validated payments {"deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","payments_count":4,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-20 16:27:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"703","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:27:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6950f71fc26f22.34897929","contact_didar_id":"703","title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9131188286","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رضا محمدی","existing_deal":"YES","existing_deal_id":"local_6950f71fc26f22.34897929","existing_deal_status":"Pending","server_time":"2026-04-20 16:27:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [INFO] Deal success processed {"contact_id":"703","person_name":"رضا محمدی","products_count":1}
[2026-04-20 16:27:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6950f71fc26f22.34897929","contact_id":"703","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9131188286 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-20 16:27:09","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:09] [INFO] Updating virtual stage {"contact_id":"703","stage_name":"with_purchase","force":true}
[2026-04-20 16:27:09] [INFO] Virtual stage successfully saved {"contact_id":"703","stage_name":"with_purchase"}
[2026-04-20 16:27:09] [INFO] Moved contact out of kariz after successful deal {"contact_id":"703","deal_id":"local_6950f71fc26f22.34897929","target_stage":"with_purchase"}
[2026-04-20 16:27:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-20 16:27:45] [INFO] Checking activity reminders 
[2026-04-20 16:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:27:56] [INFO] Checking activity reminders 
[2026-04-20 16:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:28:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:28:15] [INFO] Checking activity reminders 
[2026-04-20 16:28:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:28:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:28:26] [INFO] Checking activity reminders 
[2026-04-20 16:28:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:28:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:28:45] [INFO] Checking activity reminders 
[2026-04-20 16:28:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:28:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:28:56] [INFO] Checking activity reminders 
[2026-04-20 16:28:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:28:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:29:16] [INFO] Checking activity reminders 
[2026-04-20 16:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:29:26] [INFO] Checking activity reminders 
[2026-04-20 16:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:29:31] [INFO] Checking activity reminders 
[2026-04-20 16:29:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:29:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:29:57] [INFO] Checking activity reminders 
[2026-04-20 16:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:30:01] [INFO] Checking activity reminders 
[2026-04-20 16:30:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:30:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:30:31] [INFO] Checking activity reminders 
[2026-04-20 16:30:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:30:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:30:40] [INFO] Checking activity reminders 
[2026-04-20 16:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:31:01] [INFO] Checking activity reminders 
[2026-04-20 16:31:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:31:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:31:10] [INFO] Checking activity reminders 
[2026-04-20 16:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:31:31] [INFO] Checking activity reminders 
[2026-04-20 16:31:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:31:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:31:40] [INFO] Checking activity reminders 
[2026-04-20 16:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:32:02] [INFO] Checking activity reminders 
[2026-04-20 16:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:32:10] [INFO] Checking activity reminders 
[2026-04-20 16:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:32:32] [INFO] Checking activity reminders 
[2026-04-20 16:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:32:41] [INFO] Checking activity reminders 
[2026-04-20 16:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:33:02] [INFO] Checking activity reminders 
[2026-04-20 16:33:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:33:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:33:11] [INFO] Checking activity reminders 
[2026-04-20 16:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:33:32] [INFO] Checking activity reminders 
[2026-04-20 16:33:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:33:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:33:41] [INFO] Checking activity reminders 
[2026-04-20 16:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:34:02] [INFO] Checking activity reminders 
[2026-04-20 16:34:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:34:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:34:11] [INFO] Checking activity reminders 
[2026-04-20 16:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:34:32] [INFO] Checking activity reminders 
[2026-04-20 16:34:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:34:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:34:41] [INFO] Checking activity reminders 
[2026-04-20 16:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:35:02] [INFO] Checking activity reminders 
[2026-04-20 16:35:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:35:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:35:11] [INFO] Checking activity reminders 
[2026-04-20 16:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:35:32] [INFO] Checking activity reminders 
[2026-04-20 16:35:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:35:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:35:55] [INFO] Checking activity reminders 
[2026-04-20 16:35:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:35:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:36:02] [INFO] Checking activity reminders 
[2026-04-20 16:36:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:36:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:36:25] [INFO] Checking activity reminders 
[2026-04-20 16:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:36:32] [INFO] Checking activity reminders 
[2026-04-20 16:36:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:36:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:36:55] [INFO] Checking activity reminders 
[2026-04-20 16:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:37:03] [INFO] Checking activity reminders 
[2026-04-20 16:37:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:37:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:37:26] [INFO] Checking activity reminders 
[2026-04-20 16:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:37:33] [INFO] Checking activity reminders 
[2026-04-20 16:37:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:37:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:37:56] [INFO] Checking activity reminders 
[2026-04-20 16:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:38:03] [INFO] Checking activity reminders 
[2026-04-20 16:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:38:26] [INFO] Checking activity reminders 
[2026-04-20 16:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:38:33] [INFO] Checking activity reminders 
[2026-04-20 16:38:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:38:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:38:56] [INFO] Checking activity reminders 
[2026-04-20 16:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:39:03] [INFO] Checking activity reminders 
[2026-04-20 16:39:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:39:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:39:26] [INFO] Checking activity reminders 
[2026-04-20 16:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:39:33] [INFO] Checking activity reminders 
[2026-04-20 16:39:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:39:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:39:56] [INFO] Checking activity reminders 
[2026-04-20 16:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:40:03] [INFO] Checking activity reminders 
[2026-04-20 16:40:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:40:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:40:26] [INFO] Checking activity reminders 
[2026-04-20 16:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:40:33] [INFO] Checking activity reminders 
[2026-04-20 16:40:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:40:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:41:03] [INFO] Checking activity reminders 
[2026-04-20 16:41:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:41:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:41:09] [INFO] Checking activity reminders 
[2026-04-20 16:41:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:41:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:41:24] [INFO] Checking activity reminders 
[2026-04-20 16:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:41:39] [INFO] Checking activity reminders 
[2026-04-20 16:41:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:41:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:41:54] [INFO] Checking activity reminders 
[2026-04-20 16:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:42:10] [INFO] Checking activity reminders 
[2026-04-20 16:42:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:42:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:42:24] [INFO] Checking activity reminders 
[2026-04-20 16:42:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:42:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:42:40] [INFO] Checking activity reminders 
[2026-04-20 16:42:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:42:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:42:54] [INFO] Checking activity reminders 
[2026-04-20 16:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:43:10] [INFO] Checking activity reminders 
[2026-04-20 16:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:43:24] [INFO] Checking activity reminders 
[2026-04-20 16:43:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:43:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:43:40] [INFO] Checking activity reminders 
[2026-04-20 16:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:43:54] [INFO] Checking activity reminders 
[2026-04-20 16:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:44:10] [INFO] Checking activity reminders 
[2026-04-20 16:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:44:12] [INFO] Checking activity reminders 
[2026-04-20 16:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:44:40] [INFO] Checking activity reminders 
[2026-04-20 16:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:44:42] [INFO] Checking activity reminders 
[2026-04-20 16:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:45:10] [INFO] Checking activity reminders 
[2026-04-20 16:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:45:13] [INFO] Checking activity reminders 
[2026-04-20 16:45:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:45:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:45:41] [INFO] Checking activity reminders 
[2026-04-20 16:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:45:43] [INFO] Checking activity reminders 
[2026-04-20 16:45:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:45:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:46:11] [INFO] Checking activity reminders 
[2026-04-20 16:46:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:46:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:46:13] [INFO] Checking activity reminders 
[2026-04-20 16:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:46:41] [INFO] Checking activity reminders 
[2026-04-20 16:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:46:43] [INFO] Checking activity reminders 
[2026-04-20 16:46:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:46:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:47:11] [INFO] Checking activity reminders 
[2026-04-20 16:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:47:13] [INFO] Checking activity reminders 
[2026-04-20 16:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:47:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 16:47:41] [INFO] Checking activity reminders 
[2026-04-20 16:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:47:43] [INFO] Checking activity reminders 
[2026-04-20 16:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:47:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"17032","deal_id":"local_6952737ed46037.38347332","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:47:44","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 16:47:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:47:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"17032","is_new_deal":false}
[2026-04-20 16:47:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:47:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:47:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:47:44] [INFO] getContactPrimaryPhone called {"contact_id":"17032"}
[2026-04-20 16:47:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:47:44] [INFO] getContactPrimaryPhone result {"contact_id":"17032","person_found":true,"primary_phone":"9109599500"}
[2026-04-20 16:47:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9109599500"}
[2026-04-20 16:47:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9109599500","contact_id":"17032","deal_id":"local_6952737ed46037.38347332","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 16:47:44"}
[2026-04-20 16:47:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_6952737ed46037.38347332","contact_id":"17032","existing_deal_found":true,"existing_contact_id":"17032","existing_title":"معامله سوم 9109599500 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 16:47:44"}
[2026-04-20 16:47:44] [INFO] DealController.save validated payments {"deal_id":"local_6952737ed46037.38347332","contact_id":"17032","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 16:47:44] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"17032","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:47:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6952737ed46037.38347332","contact_didar_id":"17032","title":"معامله سوم 9109599500 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9109599500","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"علیرضا بابایی","existing_deal":"YES","existing_deal_id":"local_6952737ed46037.38347332","existing_deal_status":"Pending","server_time":"2026-04-20 16:47:44","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 16:47:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:47:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6952737ed46037.38347332","contact_id":"17032","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9109599500 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-20 16:47:44","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:47:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17032","person_id":"14796"}
[2026-04-20 16:48:11] [INFO] Checking activity reminders 
[2026-04-20 16:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:13] [INFO] Checking activity reminders 
[2026-04-20 16:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"987","deal_id":"local_69b316955557b9.12574454","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:48:22","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 16:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 16:48:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"987","is_new_deal":false}
[2026-04-20 16:48:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:48:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:48:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:48:22] [INFO] getContactPrimaryPhone called {"contact_id":"987"}
[2026-04-20 16:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 16:48:22] [INFO] getContactPrimaryPhone result {"contact_id":"987","person_found":true,"primary_phone":"9168768819"}
[2026-04-20 16:48:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9168768819"}
[2026-04-20 16:48:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9168768819","contact_id":"987","deal_id":"local_69b316955557b9.12574454","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:48:22"}
[2026-04-20 16:48:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","existing_deal_found":true,"existing_contact_id":"987","existing_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:48:22"}
[2026-04-20 16:48:22] [INFO] DealController.save validated payments {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 16:48:22] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"987","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:48:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b316955557b9.12574454","contact_didar_id":"987","title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","base_title_used":"معامله ششم 9168768819","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69b316955557b9.12574454","existing_deal_status":"Pending","server_time":"2026-04-20 16:48:22","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 16:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 16:48:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b316955557b9.12574454","contact_id":"987","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":54000000,"server_time":"2026-04-20 16:48:22","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 16:48:23] [INFO] Checking activity reminders 
[2026-04-20 16:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:41] [INFO] Checking activity reminders 
[2026-04-20 16:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:43] [INFO] Checking activity reminders 
[2026-04-20 16:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:56] [INFO] Checking activity reminders 
[2026-04-20 16:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:48:59] [INFO] Checking activity reminders 
[2026-04-20 16:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:49:01] [INFO] Checking activity reminders 
[2026-04-20 16:49:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:49:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:49:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:49:11] [INFO] Checking activity reminders 
[2026-04-20 16:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:49:31] [INFO] Checking activity reminders 
[2026-04-20 16:49:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:49:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:49:41] [INFO] Checking activity reminders 
[2026-04-20 16:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:50:01] [INFO] Checking activity reminders 
[2026-04-20 16:50:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:50:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:50:11] [INFO] Checking activity reminders 
[2026-04-20 16:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:50:31] [INFO] Checking activity reminders 
[2026-04-20 16:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:50:41] [INFO] Checking activity reminders 
[2026-04-20 16:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:50:55] [INFO] Activity save request {"post_data":{"contact_id":"20871","deal_id":"local_69e5e4931a64f3.61874872","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"هنوز ملک ها تکمیل نشده \/ سرمایه اش در ملک قفل شده \r\nهیچ کاری نمیتونه انجام بده \r\nپرزنت 405 \/ نوسانگیری \r\nارسال پیام در بله \r\n400-500 نقد برای هزینه هی تکمیلی ملک گذاشته ","activity_duration":"13","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:50:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 16:50:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:50:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20871","note_was_empty":true}
[2026-04-20 16:50:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"20871","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:50:55] [INFO] Updating virtual stage {"contact_id":"20871","stage_name":"deal_registered","force":false}
[2026-04-20 16:50:55] [INFO] Virtual stage successfully saved {"contact_id":"20871","stage_name":"deal_registered"}
[2026-04-20 16:50:55] [INFO] Virtual stage updated after activity save {"contact_id":"20871"}
[2026-04-20 16:50:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e5e4931a64f3.61874872","stage":"تماس پیگیری","status_change":null}
[2026-04-20 16:50:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e6283782e897.56980595","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:50:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69e6283782e897.56980595"}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:50:55] [INFO] Updating virtual stage {"contact_id":"20871","stage_name":"deal_registered","force":false}
[2026-04-20 16:50:55] [INFO] Virtual stage successfully saved {"contact_id":"20871","stage_name":"deal_registered"}
[2026-04-20 16:50:55] [INFO] Virtual stage updated after activity save {"contact_id":"20871"}
[2026-04-20 16:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:51:01] [INFO] Checking activity reminders 
[2026-04-20 16:51:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:51:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:51:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20871","deal_id":"local_69e5e4931a64f3.61874872","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:51:04","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 16:51:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:51:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20871","is_new_deal":false}
[2026-04-20 16:51:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 16:51:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:51:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 16:51:04] [INFO] getContactPrimaryPhone called {"contact_id":"20871"}
[2026-04-20 16:51:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:51:04] [INFO] getContactPrimaryPhone result {"contact_id":"20871","person_found":true,"primary_phone":"9023371801"}
[2026-04-20 16:51:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9023371801"}
[2026-04-20 16:51:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9023371801","contact_id":"20871","deal_id":"local_69e5e4931a64f3.61874872","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:51:04"}
[2026-04-20 16:51:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e5e4931a64f3.61874872","contact_id":"20871","existing_deal_found":true,"existing_contact_id":"20871","existing_title":"معامله دوم 9023371801 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 16:51:04"}
[2026-04-20 16:51:04] [INFO] DealController.save validated payments {"deal_id":"local_69e5e4931a64f3.61874872","contact_id":"20871","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-20 16:51:04] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20871","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:51:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e5e4931a64f3.61874872","contact_didar_id":"20871","title":"معامله دوم 9023371801 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9023371801","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مصطفی محمدزاده","existing_deal":"YES","existing_deal_id":"local_69e5e4931a64f3.61874872","existing_deal_status":"Pending","server_time":"2026-04-20 16:51:04","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 16:51:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:51:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e5e4931a64f3.61874872","contact_id":"20871","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9023371801 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-20 16:51:04","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:51:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-20 16:51:31] [INFO] Checking activity reminders 
[2026-04-20 16:51:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:51:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:51:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 16:51:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 16:52:02] [INFO] Checking activity reminders 
[2026-04-20 16:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:52:32] [INFO] Checking activity reminders 
[2026-04-20 16:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:52:56] [INFO] Checking activity reminders 
[2026-04-20 16:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:53:02] [INFO] Checking activity reminders 
[2026-04-20 16:53:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:53:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:53:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:53:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:53:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:53:17] [INFO] generateDealTitle result {"contact_id":"10621","person_name":"عبدالهی","mobile":"9167114158","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9167114158"}
[2026-04-20 16:53:26] [INFO] Checking activity reminders 
[2026-04-20 16:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:53:32] [INFO] Checking activity reminders 
[2026-04-20 16:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:53:56] [INFO] Checking activity reminders 
[2026-04-20 16:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:54:02] [INFO] Checking activity reminders 
[2026-04-20 16:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:54:26] [INFO] Checking activity reminders 
[2026-04-20 16:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:54:32] [INFO] Checking activity reminders 
[2026-04-20 16:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:54:56] [INFO] Checking activity reminders 
[2026-04-20 16:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:55:02] [INFO] Checking activity reminders 
[2026-04-20 16:55:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:55:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:55:08] [INFO] Checking activity reminders 
[2026-04-20 16:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:55:26] [INFO] Checking activity reminders 
[2026-04-20 16:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:55:38] [INFO] Checking activity reminders 
[2026-04-20 16:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:55:56] [INFO] Checking activity reminders 
[2026-04-20 16:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:56:08] [INFO] Checking activity reminders 
[2026-04-20 16:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:56:26] [INFO] Checking activity reminders 
[2026-04-20 16:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:56:28] [INFO] DealController.save start {"is_new":true,"incoming_title":"دستگاه کارشناسی","contact_id":"10621","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 16:56:28","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 16:56:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:56:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"دستگاه کارشناسی","contact_id":"10621","is_new_deal":true}
[2026-04-20 16:56:28] [INFO] extractPhoneFromDealTitle called {"input_title":"دستگاه کارشناسی"}
[2026-04-20 16:56:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"دستگاه کارشناسی"}
[2026-04-20 16:56:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"دستگاه کارشناسی"}
[2026-04-20 16:56:28] [INFO] getContactPrimaryPhone called {"contact_id":"10621"}
[2026-04-20 16:56:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:56:28] [INFO] getContactPrimaryPhone result {"contact_id":"10621","person_found":true,"primary_phone":"9167114158"}
[2026-04-20 16:56:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9167114158"}
[2026-04-20 16:56:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9167114158","contact_id":"10621","deal_id":"","is_new_deal":true,"incoming_title":"دستگاه کارشناسی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 16:56:28"}
[2026-04-20 16:56:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:56:28] [INFO] generateDealTitle result {"contact_id":"10621","person_name":"عبدالهی","mobile":"9167114158","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9167114158"}
[2026-04-20 16:56:28] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"10621","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 16:56:28] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"10621","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 16:56:28] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"10621","title":"معامله دوم 9167114158 | دستگاه کارشناسی","base_title_used":"معامله دوم 9167114158","services_text":"دستگاه کارشناسی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":20000000,"payment_amount":20000000,"payments_present":true,"requested_services":["دستگاه کارشناسی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عبدالهی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-20 16:56:28","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 16:56:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:56:28] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-20 16:56:28] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"10621","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9167114158 | دستگاه کارشناسی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":20000000,"payment_amount":20000000,"server_time":"2026-04-20 16:56:28","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 16:56:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-20 16:56:38] [INFO] Checking activity reminders 
[2026-04-20 16:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:56:56] [INFO] Checking activity reminders 
[2026-04-20 16:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:57:08] [INFO] Checking activity reminders 
[2026-04-20 16:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:57:28] [INFO] Checking activity reminders 
[2026-04-20 16:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:57:38] [INFO] Checking activity reminders 
[2026-04-20 16:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:57:58] [INFO] Checking activity reminders 
[2026-04-20 16:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:58:08] [INFO] Checking activity reminders 
[2026-04-20 16:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:58:28] [INFO] Checking activity reminders 
[2026-04-20 16:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:58:39] [INFO] Checking activity reminders 
[2026-04-20 16:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:58:58] [INFO] Checking activity reminders 
[2026-04-20 16:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:59:09] [INFO] Checking activity reminders 
[2026-04-20 16:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:59:28] [INFO] Checking activity reminders 
[2026-04-20 16:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:59:39] [INFO] Checking activity reminders 
[2026-04-20 16:59:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:59:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 16:59:58] [INFO] Checking activity reminders 
[2026-04-20 16:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 16:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:00:09] [INFO] Checking activity reminders 
[2026-04-20 17:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:00:28] [INFO] Checking activity reminders 
[2026-04-20 17:00:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:00:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:00:39] [INFO] Checking activity reminders 
[2026-04-20 17:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:00:58] [INFO] Checking activity reminders 
[2026-04-20 17:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:01:09] [INFO] Checking activity reminders 
[2026-04-20 17:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:01:28] [INFO] Checking activity reminders 
[2026-04-20 17:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:01:39] [INFO] Checking activity reminders 
[2026-04-20 17:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:01:59] [INFO] Checking activity reminders 
[2026-04-20 17:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:02:09] [INFO] Checking activity reminders 
[2026-04-20 17:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:02:29] [INFO] Checking activity reminders 
[2026-04-20 17:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:02:39] [INFO] Checking activity reminders 
[2026-04-20 17:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:02:59] [INFO] Checking activity reminders 
[2026-04-20 17:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:03:09] [INFO] Checking activity reminders 
[2026-04-20 17:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:03:29] [INFO] Checking activity reminders 
[2026-04-20 17:03:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:03:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:03:39] [INFO] Checking activity reminders 
[2026-04-20 17:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:03:59] [INFO] Checking activity reminders 
[2026-04-20 17:03:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:03:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:04:09] [INFO] Checking activity reminders 
[2026-04-20 17:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:04:29] [INFO] Checking activity reminders 
[2026-04-20 17:04:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:04:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:04:40] [INFO] Checking activity reminders 
[2026-04-20 17:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:04:59] [INFO] Checking activity reminders 
[2026-04-20 17:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:05:10] [INFO] Checking activity reminders 
[2026-04-20 17:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:05:29] [INFO] Checking activity reminders 
[2026-04-20 17:05:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:05:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:05:40] [INFO] Checking activity reminders 
[2026-04-20 17:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:05:59] [INFO] Checking activity reminders 
[2026-04-20 17:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:06:10] [INFO] Checking activity reminders 
[2026-04-20 17:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:06:29] [INFO] Checking activity reminders 
[2026-04-20 17:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:06:40] [INFO] Checking activity reminders 
[2026-04-20 17:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:07:00] [INFO] Checking activity reminders 
[2026-04-20 17:07:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:07:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:07:10] [INFO] Checking activity reminders 
[2026-04-20 17:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:07:30] [INFO] Checking activity reminders 
[2026-04-20 17:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:08:00] [INFO] Checking activity reminders 
[2026-04-20 17:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:08:30] [INFO] Checking activity reminders 
[2026-04-20 17:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:09:00] [INFO] Checking activity reminders 
[2026-04-20 17:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:09:30] [INFO] Checking activity reminders 
[2026-04-20 17:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:10:00] [INFO] Checking activity reminders 
[2026-04-20 17:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:10:30] [INFO] Checking activity reminders 
[2026-04-20 17:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:11:00] [INFO] Checking activity reminders 
[2026-04-20 17:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:11:30] [INFO] Checking activity reminders 
[2026-04-20 17:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:12:00] [INFO] Checking activity reminders 
[2026-04-20 17:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:12:31] [INFO] Checking activity reminders 
[2026-04-20 17:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:16:22] [INFO] Checking activity reminders 
[2026-04-20 17:16:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:16:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:16:52] [INFO] Checking activity reminders 
[2026-04-20 17:16:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:16:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:17:22] [INFO] Checking activity reminders 
[2026-04-20 17:17:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:17:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:17:53] [INFO] Checking activity reminders 
[2026-04-20 17:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:18:23] [INFO] Checking activity reminders 
[2026-04-20 17:18:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:18:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:18:53] [INFO] Checking activity reminders 
[2026-04-20 17:18:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:18:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:19:23] [INFO] Checking activity reminders 
[2026-04-20 17:19:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:19:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:19:53] [INFO] Checking activity reminders 
[2026-04-20 17:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:20:23] [INFO] Checking activity reminders 
[2026-04-20 17:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:20:53] [INFO] Checking activity reminders 
[2026-04-20 17:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:21:23] [INFO] Checking activity reminders 
[2026-04-20 17:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:21:54] [INFO] Checking activity reminders 
[2026-04-20 17:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:22:24] [INFO] Checking activity reminders 
[2026-04-20 17:22:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:22:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:22:54] [INFO] Checking activity reminders 
[2026-04-20 17:22:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:22:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:23:24] [INFO] Checking activity reminders 
[2026-04-20 17:23:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:23:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:23:54] [INFO] Checking activity reminders 
[2026-04-20 17:23:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:23:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:24:24] [INFO] Checking activity reminders 
[2026-04-20 17:24:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:24:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:24:54] [INFO] Checking activity reminders 
[2026-04-20 17:24:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:24:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:25:24] [INFO] Checking activity reminders 
[2026-04-20 17:25:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:25:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:25:54] [INFO] Checking activity reminders 
[2026-04-20 17:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:26:24] [INFO] Checking activity reminders 
[2026-04-20 17:26:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:26:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:26:55] [INFO] Checking activity reminders 
[2026-04-20 17:26:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:26:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:27:25] [INFO] Checking activity reminders 
[2026-04-20 17:27:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:27:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:27:55] [INFO] Checking activity reminders 
[2026-04-20 17:27:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:27:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:28:25] [INFO] Checking activity reminders 
[2026-04-20 17:28:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:28:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:28:55] [INFO] Checking activity reminders 
[2026-04-20 17:28:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:28:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:29:25] [INFO] Checking activity reminders 
[2026-04-20 17:29:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:29:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:29:55] [INFO] Checking activity reminders 
[2026-04-20 17:29:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:29:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:30:25] [INFO] Checking activity reminders 
[2026-04-20 17:30:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:30:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:30:55] [INFO] Checking activity reminders 
[2026-04-20 17:30:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:30:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:31:25] [INFO] Checking activity reminders 
[2026-04-20 17:31:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:31:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:31:55] [INFO] Checking activity reminders 
[2026-04-20 17:31:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:31:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:32:07] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:07] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 17:32:07] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:09] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:11] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:11] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:12] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:12] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:13] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:13] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"get_leads"}
[2026-04-20 17:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:26] [INFO] Checking activity reminders 
[2026-04-20 17:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:32:41] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 17:32:41] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-20 17:32:41] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-20 17:32:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 17:32:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 17:32:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 17:32:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 17:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:32:56] [INFO] Checking activity reminders 
[2026-04-20 17:32:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:32:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:33:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:33:11] [INFO] Checking activity reminders 
[2026-04-20 17:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:33:17] [INFO] Lead update received {"contact_id":"693","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 17:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:33:17] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"693"}
[2026-04-20 17:33:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:33:26] [INFO] Checking activity reminders 
[2026-04-20 17:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:33:56] [INFO] Checking activity reminders 
[2026-04-20 17:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:34:26] [INFO] Checking activity reminders 
[2026-04-20 17:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:34:56] [INFO] Checking activity reminders 
[2026-04-20 17:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:35:26] [INFO] Checking activity reminders 
[2026-04-20 17:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:35:56] [INFO] Checking activity reminders 
[2026-04-20 17:35:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:35:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:36:27] [INFO] Checking activity reminders 
[2026-04-20 17:36:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:36:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:36:57] [INFO] Checking activity reminders 
[2026-04-20 17:36:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:36:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:37:27] [INFO] Checking activity reminders 
[2026-04-20 17:37:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:37:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:37:57] [INFO] Checking activity reminders 
[2026-04-20 17:37:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:37:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:38:27] [INFO] Checking activity reminders 
[2026-04-20 17:38:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:38:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:38:58] [INFO] Checking activity reminders 
[2026-04-20 17:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:39:28] [INFO] Checking activity reminders 
[2026-04-20 17:39:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:39:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:39:43] [INFO] Checking activity reminders 
[2026-04-20 17:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:39:58] [INFO] Checking activity reminders 
[2026-04-20 17:39:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:39:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:40:15] [INFO] Checking activity reminders 
[2026-04-20 17:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:40:28] [INFO] Checking activity reminders 
[2026-04-20 17:40:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:40:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:40:45] [INFO] Checking activity reminders 
[2026-04-20 17:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:40:58] [INFO] Checking activity reminders 
[2026-04-20 17:40:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:40:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:41:15] [INFO] Checking activity reminders 
[2026-04-20 17:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:41:28] [INFO] Checking activity reminders 
[2026-04-20 17:41:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:41:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:41:45] [INFO] Checking activity reminders 
[2026-04-20 17:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:41:58] [INFO] Checking activity reminders 
[2026-04-20 17:41:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:41:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:42:28] [INFO] Checking activity reminders 
[2026-04-20 17:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:42:52] [INFO] Checking activity reminders 
[2026-04-20 17:42:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:42:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:42:58] [INFO] Checking activity reminders 
[2026-04-20 17:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:43:28] [INFO] Checking activity reminders 
[2026-04-20 17:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:43:59] [INFO] Checking activity reminders 
[2026-04-20 17:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:44:29] [INFO] Checking activity reminders 
[2026-04-20 17:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:44:33] [INFO] Checking activity reminders 
[2026-04-20 17:44:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:44:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:44:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:44:59] [INFO] Checking activity reminders 
[2026-04-20 17:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:45:03] [INFO] Checking activity reminders 
[2026-04-20 17:45:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:45:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:45:29] [INFO] Checking activity reminders 
[2026-04-20 17:45:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:45:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:45:34] [INFO] Checking activity reminders 
[2026-04-20 17:45:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:45:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:45:59] [INFO] Checking activity reminders 
[2026-04-20 17:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:45:59] [INFO] Lead update received {"contact_id":"5560","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 17:45:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:45:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:45:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:45:59] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5560"}
[2026-04-20 17:45:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:46:12] [INFO] Checking activity reminders 
[2026-04-20 17:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:46:29] [INFO] Checking activity reminders 
[2026-04-20 17:46:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:46:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:46:59] [INFO] Checking activity reminders 
[2026-04-20 17:46:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:46:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:47:29] [INFO] Checking activity reminders 
[2026-04-20 17:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:47:36] [INFO] Checking activity reminders 
[2026-04-20 17:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:47:59] [INFO] Checking activity reminders 
[2026-04-20 17:47:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:47:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:48:06] [INFO] Checking activity reminders 
[2026-04-20 17:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:48:29] [INFO] Checking activity reminders 
[2026-04-20 17:48:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:48:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:48:36] [INFO] Checking activity reminders 
[2026-04-20 17:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:48:59] [INFO] Checking activity reminders 
[2026-04-20 17:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:49:06] [INFO] Checking activity reminders 
[2026-04-20 17:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:49:29] [INFO] Checking activity reminders 
[2026-04-20 17:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:49:36] [INFO] Checking activity reminders 
[2026-04-20 17:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:50:00] [INFO] Checking activity reminders 
[2026-04-20 17:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:50:06] [INFO] Checking activity reminders 
[2026-04-20 17:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:50:30] [INFO] Checking activity reminders 
[2026-04-20 17:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:51:00] [INFO] Checking activity reminders 
[2026-04-20 17:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:51:30] [INFO] Checking activity reminders 
[2026-04-20 17:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:52:00] [INFO] Checking activity reminders 
[2026-04-20 17:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:52:30] [INFO] Checking activity reminders 
[2026-04-20 17:52:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:52:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:52:42] [INFO] Checking activity reminders 
[2026-04-20 17:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:52:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:53:00] [INFO] Checking activity reminders 
[2026-04-20 17:53:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:53:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:53:13] [INFO] Checking activity reminders 
[2026-04-20 17:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:53:30] [INFO] Checking activity reminders 
[2026-04-20 17:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:53:43] [INFO] Checking activity reminders 
[2026-04-20 17:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:54:00] [INFO] Checking activity reminders 
[2026-04-20 17:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:54:13] [INFO] Checking activity reminders 
[2026-04-20 17:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:54:30] [INFO] Checking activity reminders 
[2026-04-20 17:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:54:43] [INFO] Checking activity reminders 
[2026-04-20 17:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:55:00] [INFO] Checking activity reminders 
[2026-04-20 17:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:55:12] [INFO] Activity save request {"post_data":{"contact_id":"693","deal_id":"local_6946a637be1c49.68920317","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"فروردین دو بار زمان گذاشتم مشاوره دادم \/ امروز در خصوص کسب و کارش هدف لوازم یدکی بزنه \/ گفتم زمانش نیست \/ داشن پذیر هوش کارشناسی بوده مشتری خودرویی داره گفتم تمرکز کن بیشتر معامله کن سود زیادی داره \r\nسرمایت زیاد شد شرایط مملکت درست شد بعد خواستی لوازم یدکی بزن\/ مغازه پوشاک شراکتی با برادرش اجاره هس رفته بالا اجاره 6ماهه ببنده بعد سایت و پیج بزنه انلاین کنه فروش \/ ","activity_duration":"40","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 17:55:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"693","note_was_empty":true}
[2026-04-20 17:55:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"693","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Updating virtual stage {"contact_id":"693","stage_name":"with_purchase","force":false}
[2026-04-20 17:55:12] [INFO] Virtual stage successfully saved {"contact_id":"693","stage_name":"with_purchase"}
[2026-04-20 17:55:12] [INFO] Virtual stage updated after activity save {"contact_id":"693"}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6946a637be1c49.68920317","stage":"اتمام","status_change":"Won"}
[2026-04-20 17:55:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63748d971e0.61074185","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63748d971e0.61074185"}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:12] [INFO] Updating virtual stage {"contact_id":"693","stage_name":"with_purchase","force":false}
[2026-04-20 17:55:12] [INFO] Virtual stage successfully saved {"contact_id":"693","stage_name":"with_purchase"}
[2026-04-20 17:55:12] [INFO] Virtual stage updated after activity save {"contact_id":"693"}
[2026-04-20 17:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:13] [INFO] Checking activity reminders 
[2026-04-20 17:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:55:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:55:30] [INFO] Checking activity reminders 
[2026-04-20 17:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:55:43] [INFO] Checking activity reminders 
[2026-04-20 17:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:56:01] [INFO] Checking activity reminders 
[2026-04-20 17:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:56:01] [INFO] Lead update received {"contact_id":"693","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 17:56:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:56:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:56:01] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"693"}
[2026-04-20 17:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"693","person_id":"8700"}
[2026-04-20 17:56:13] [INFO] Checking activity reminders 
[2026-04-20 17:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:56:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:56:31] [INFO] Checking activity reminders 
[2026-04-20 17:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:56:43] [INFO] Checking activity reminders 
[2026-04-20 17:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:57:01] [INFO] Checking activity reminders 
[2026-04-20 17:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:57:13] [INFO] Checking activity reminders 
[2026-04-20 17:57:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:57:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:57:31] [INFO] Checking activity reminders 
[2026-04-20 17:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:57:44] [INFO] Checking activity reminders 
[2026-04-20 17:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:58:01] [INFO] Checking activity reminders 
[2026-04-20 17:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:58:14] [INFO] Checking activity reminders 
[2026-04-20 17:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:58:31] [INFO] Checking activity reminders 
[2026-04-20 17:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:58:44] [INFO] Checking activity reminders 
[2026-04-20 17:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:59:01] [INFO] Checking activity reminders 
[2026-04-20 17:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:59:14] [INFO] Checking activity reminders 
[2026-04-20 17:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:59:19] [INFO] Activity save request {"post_data":{"contact_id":"5560","deal_id":"local_69997ed08fe188.26749874","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"سیگنال طلا و دلار پله ای بخره \/ ماشین پژو پارس \/206 و 207 خوبه استاد گفتن\/ \r\nسیم کارت سوال کرد گفتن استاد نظرش نیست","activity_duration":"15","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 17:59:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5560","note_was_empty":true}
[2026-04-20 17:59:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"5560","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Updating virtual stage {"contact_id":"5560","stage_name":"with_purchase","force":false}
[2026-04-20 17:59:19] [INFO] Virtual stage successfully saved {"contact_id":"5560","stage_name":"with_purchase"}
[2026-04-20 17:59:19] [INFO] Virtual stage updated after activity save {"contact_id":"5560"}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69997ed08fe188.26749874","stage":"اتمام","status_change":"Won"}
[2026-04-20 17:59:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e6383fc751b7.26328720","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69e6383fc751b7.26328720"}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:19] [INFO] Updating virtual stage {"contact_id":"5560","stage_name":"with_purchase","force":false}
[2026-04-20 17:59:19] [INFO] Virtual stage successfully saved {"contact_id":"5560","stage_name":"with_purchase"}
[2026-04-20 17:59:19] [INFO] Virtual stage updated after activity save {"contact_id":"5560"}
[2026-04-20 17:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-20 17:59:31] [INFO] Checking activity reminders 
[2026-04-20 17:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 17:59:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 17:59:44] [INFO] Checking activity reminders 
[2026-04-20 17:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 17:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:00:01] [INFO] Checking activity reminders 
[2026-04-20 18:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:00:14] [INFO] Checking activity reminders 
[2026-04-20 18:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:00:31] [INFO] Checking activity reminders 
[2026-04-20 18:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:00:44] [INFO] Checking activity reminders 
[2026-04-20 18:00:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:00:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:01:01] [INFO] Checking activity reminders 
[2026-04-20 18:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:01:14] [INFO] Checking activity reminders 
[2026-04-20 18:01:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:01:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:01:32] [INFO] Checking activity reminders 
[2026-04-20 18:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:01:44] [INFO] Checking activity reminders 
[2026-04-20 18:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:02:02] [INFO] Checking activity reminders 
[2026-04-20 18:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:02:04] [INFO] Activity save request {"post_data":{"contact_id":"665","deal_id":"local_69e0a7617cf173.32932098","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"تو پیامک گفته بود فعلا شرایط نداره زدم 6ماهه باش کمتره \/ ببینم چی میگه","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:02:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"665","note_was_empty":true}
[2026-04-20 18:02:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"665","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:04] [INFO] Updating virtual stage {"contact_id":"665","stage_name":"deal_registered","force":false}
[2026-04-20 18:02:04] [INFO] Virtual stage successfully saved {"contact_id":"665","stage_name":"deal_registered"}
[2026-04-20 18:02:04] [INFO] Virtual stage updated after activity save {"contact_id":"665"}
[2026-04-20 18:02:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a7617cf173.32932098","stage":"تماس پیگیری","status_change":null}
[2026-04-20 18:02:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e638e4904d94.67706454","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e638e4904d94.67706454"}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:04] [INFO] Updating virtual stage {"contact_id":"665","stage_name":"deal_registered","force":false}
[2026-04-20 18:02:04] [INFO] Virtual stage successfully saved {"contact_id":"665","stage_name":"deal_registered"}
[2026-04-20 18:02:04] [INFO] Virtual stage updated after activity save {"contact_id":"665"}
[2026-04-20 18:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-20 18:02:14] [INFO] Checking activity reminders 
[2026-04-20 18:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:02:32] [INFO] Checking activity reminders 
[2026-04-20 18:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:02:39] [INFO] Checking activity reminders 
[2026-04-20 18:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:02:44] [INFO] Checking activity reminders 
[2026-04-20 18:02:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:02:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:03:02] [INFO] Lead update received {"contact_id":"local_69e5e4ab759fb4.84597372","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-20 18:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:02] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e5e4ab759fb4.84597372"}
[2026-04-20 18:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:09] [INFO] Checking activity reminders 
[2026-04-20 18:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:03:14] [INFO] Checking activity reminders 
[2026-04-20 18:03:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:03:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:03:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69e5e4ab759fb4.84597372","deal_id":"local_69e5e4ab76e64","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:03:20","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 18:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69e5e4ab759fb4.84597372","is_new_deal":false}
[2026-04-20 18:03:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:03:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:03:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:03:20] [INFO] getContactPrimaryPhone called {"contact_id":"local_69e5e4ab759fb4.84597372"}
[2026-04-20 18:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:20] [INFO] getContactPrimaryPhone result {"contact_id":"local_69e5e4ab759fb4.84597372","person_found":true,"primary_phone":"9907735309"}
[2026-04-20 18:03:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9907735309"}
[2026-04-20 18:03:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9907735309","contact_id":"local_69e5e4ab759fb4.84597372","deal_id":"local_69e5e4ab76e64","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:03:20"}
[2026-04-20 18:03:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e5e4ab76e64","contact_id":"local_69e5e4ab759fb4.84597372","existing_deal_found":true,"existing_contact_id":"local_69e5e4ab759fb4.84597372","existing_title":"معامله اول 9907735309","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:03:20"}
[2026-04-20 18:03:20] [INFO] DealController.save validated payments {"deal_id":"local_69e5e4ab76e64","contact_id":"local_69e5e4ab759fb4.84597372","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-20 18:03:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69e5e4ab759fb4.84597372","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:03:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e5e4ab76e64","contact_didar_id":"local_69e5e4ab759fb4.84597372","title":"معامله اول 9907735309 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9907735309","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خانم حسینعلی","existing_deal":"YES","existing_deal_id":"local_69e5e4ab76e64","existing_deal_status":"Pending","server_time":"2026-04-20 18:03:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 18:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e5e4ab76e64","contact_id":"local_69e5e4ab759fb4.84597372","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9907735309 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-20 18:03:20","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:03:39] [INFO] Checking activity reminders 
[2026-04-20 18:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:03:45] [INFO] Checking activity reminders 
[2026-04-20 18:03:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:03:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:04:09] [INFO] Checking activity reminders 
[2026-04-20 18:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:04:15] [INFO] Checking activity reminders 
[2026-04-20 18:04:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:04:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:04:39] [INFO] Checking activity reminders 
[2026-04-20 18:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:04:45] [INFO] Checking activity reminders 
[2026-04-20 18:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:05:10] [INFO] Checking activity reminders 
[2026-04-20 18:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:05:15] [INFO] Checking activity reminders 
[2026-04-20 18:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:05:30] [INFO] Activity save request {"post_data":{"contact_id":"local_69e5e4ab759fb4.84597372","deal_id":"local_69e5e4ab76e64","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"1 ماهه اشنا شده \r\nدر طلا ی فیزیکی و نقره سرمایه گذاری \r\n1.500 سرمایه \r\nتا الان مشاور مالی نداشته \r\nپرزنت 405 یکساله و 6 ماهه \r\nارسال پیام در بله ","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:05:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69e5e4ab759fb4.84597372","note_was_empty":true}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:30] [INFO] Updating virtual stage {"contact_id":"local_69e5e4ab759fb4.84597372","stage_name":"new","force":false}
[2026-04-20 18:05:30] [INFO] Virtual stage successfully saved {"contact_id":"local_69e5e4ab759fb4.84597372","stage_name":"new"}
[2026-04-20 18:05:30] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e5e4ab759fb4.84597372"}
[2026-04-20 18:05:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e5e4ab76e64","stage":"تماس پیگیری","status_change":null}
[2026-04-20 18:05:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e639b2a62931.41154085","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69e639b2a62931.41154085"}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:30] [INFO] Updating virtual stage {"contact_id":"local_69e5e4ab759fb4.84597372","stage_name":"deal_registered","force":false}
[2026-04-20 18:05:30] [INFO] Virtual stage successfully saved {"contact_id":"local_69e5e4ab759fb4.84597372","stage_name":"deal_registered"}
[2026-04-20 18:05:30] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e5e4ab759fb4.84597372"}
[2026-04-20 18:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-20 18:05:37] [INFO] Checking activity reminders 
[2026-04-20 18:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:05:45] [INFO] Checking activity reminders 
[2026-04-20 18:05:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:05:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:06:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-20 18:06:07] [INFO] Checking activity reminders 
[2026-04-20 18:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:06:15] [INFO] Checking activity reminders 
[2026-04-20 18:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:06:37] [INFO] Checking activity reminders 
[2026-04-20 18:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:06:45] [INFO] Checking activity reminders 
[2026-04-20 18:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:07:07] [INFO] Checking activity reminders 
[2026-04-20 18:07:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:07:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:07:15] [INFO] Checking activity reminders 
[2026-04-20 18:07:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:07:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:07:38] [INFO] Checking activity reminders 
[2026-04-20 18:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:07:45] [INFO] Checking activity reminders 
[2026-04-20 18:07:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:07:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:08:08] [INFO] Checking activity reminders 
[2026-04-20 18:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:08:15] [INFO] Checking activity reminders 
[2026-04-20 18:08:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:08:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:08:38] [INFO] Checking activity reminders 
[2026-04-20 18:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:08:45] [INFO] Checking activity reminders 
[2026-04-20 18:08:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:08:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:08:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:09:08] [INFO] Checking activity reminders 
[2026-04-20 18:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:09:15] [INFO] Checking activity reminders 
[2026-04-20 18:09:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:09:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:09:38] [INFO] Checking activity reminders 
[2026-04-20 18:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:09:46] [INFO] Checking activity reminders 
[2026-04-20 18:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:10:08] [INFO] Checking activity reminders 
[2026-04-20 18:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:10:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:10:10","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21335","is_new_deal":false}
[2026-04-20 18:10:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-20 18:10:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-20 18:10:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-20 18:10:10] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-20 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:10] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-20 18:10:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-20 18:10:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 18:10:10"}
[2026-04-20 18:10:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","existing_deal_found":true,"existing_contact_id":"21335","existing_title":"معامله دوم 9196747219 | کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 18:10:10"}
[2026-04-20 18:10:15] [INFO] Activity save request {"post_data":{"contact_id":"987","deal_id":"local_699aa47375fef5.95825999","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تا فردا تسویه ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:10:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"987","note_was_empty":true}
[2026-04-20 18:10:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"987","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:15] [INFO] Updating virtual stage {"contact_id":"987","stage_name":"deal_registered","force":false}
[2026-04-20 18:10:15] [INFO] Virtual stage successfully saved {"contact_id":"987","stage_name":"deal_registered"}
[2026-04-20 18:10:15] [INFO] Virtual stage updated after activity save {"contact_id":"987"}
[2026-04-20 18:10:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699aa47375fef5.95825999","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-20 18:10:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63acf4f1534.38673759","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63acf4f1534.38673759"}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:15] [INFO] Updating virtual stage {"contact_id":"987","stage_name":"deal_registered","force":false}
[2026-04-20 18:10:15] [INFO] Virtual stage successfully saved {"contact_id":"987","stage_name":"deal_registered"}
[2026-04-20 18:10:15] [INFO] Virtual stage updated after activity save {"contact_id":"987"}
[2026-04-20 18:10:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-20 18:10:16] [INFO] Checking activity reminders 
[2026-04-20 18:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:10:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:10:30","session_id":"lmgl231ifktc06bun2gko6o5q2"}
[2026-04-20 18:10:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21335","is_new_deal":false}
[2026-04-20 18:10:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-20 18:10:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-20 18:10:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-20 18:10:30] [INFO] getContactPrimaryPhone called {"contact_id":"21335"}
[2026-04-20 18:10:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:30] [INFO] getContactPrimaryPhone result {"contact_id":"21335","person_found":true,"primary_phone":"9196747219"}
[2026-04-20 18:10:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9196747219"}
[2026-04-20 18:10:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9196747219","contact_id":"21335","deal_id":"local_69e3458b3d0bd7.48260301","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 18:10:30"}
[2026-04-20 18:10:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","existing_deal_found":true,"existing_contact_id":"21335","existing_title":"معامله دوم 9196747219 | کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 18:10:30"}
[2026-04-20 18:10:30] [INFO] DealController.save validated payments {"deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 18:10:30] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21335","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:10:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e3458b3d0bd7.48260301","contact_didar_id":"21335","title":"معامله دوم 9196747219 | کارشناسی حضوری","base_title_used":"معامله دوم 9196747219","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سینا فتحی","existing_deal":"YES","existing_deal_id":"local_69e3458b3d0bd7.48260301","existing_deal_status":"Pending","server_time":"2026-04-20 18:10:30","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 18:10:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e3458b3d0bd7.48260301","contact_id":"21335","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9196747219 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-20 18:10:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:10:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:10:38] [INFO] Checking activity reminders 
[2026-04-20 18:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:10:46] [INFO] Checking activity reminders 
[2026-04-20 18:10:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:10:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:11:08] [INFO] Checking activity reminders 
[2026-04-20 18:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:11:11] [INFO] Activity save request {"post_data":{"contact_id":"21335","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه کامل هوش کارشناسی شد دسترسی اسپات پلیر اوکی \/ کلاس جنگ تمو بشه برگزار میشه","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:11:11] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:11:11] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:11:11] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21335","note_was_empty":true}
[2026-04-20 18:11:11] [INFO] Didar write disabled; saving activity locally {"contact_id":"21335","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-20 18:11:11] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63b07df5821.97757584","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:11:11] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63b07df5821.97757584"}
[2026-04-20 18:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:11:11] [INFO] Updating virtual stage {"contact_id":"21335","stage_name":"deal_registered","force":false}
[2026-04-20 18:11:11] [INFO] Virtual stage successfully saved {"contact_id":"21335","stage_name":"deal_registered"}
[2026-04-20 18:11:11] [INFO] Virtual stage updated after activity save {"contact_id":"21335"}
[2026-04-20 18:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-20 18:11:16] [INFO] Checking activity reminders 
[2026-04-20 18:11:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:11:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:11:38] [INFO] Checking activity reminders 
[2026-04-20 18:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:11:46] [INFO] Checking activity reminders 
[2026-04-20 18:11:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:11:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:11:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:12:08] [INFO] Checking activity reminders 
[2026-04-20 18:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:12:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:12:16] [INFO] Checking activity reminders 
[2026-04-20 18:12:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:12:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:12:39] [INFO] Checking activity reminders 
[2026-04-20 18:12:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:12:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:12:46] [INFO] Checking activity reminders 
[2026-04-20 18:12:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:12:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:12:48] [INFO] Checking activity reminders 
[2026-04-20 18:12:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:12:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:13:16] [INFO] Checking activity reminders 
[2026-04-20 18:13:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:13:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:13:18] [INFO] Checking activity reminders 
[2026-04-20 18:13:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:13:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:13:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:13:46] [INFO] Checking activity reminders 
[2026-04-20 18:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:13:48] [INFO] Checking activity reminders 
[2026-04-20 18:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:13] [INFO] Checking activity reminders 
[2026-04-20 18:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:17] [INFO] Checking activity reminders 
[2026-04-20 18:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:17] [INFO] Checking activity reminders 
[2026-04-20 18:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:18] [INFO] Checking activity reminders 
[2026-04-20 18:14:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:14:47] [INFO] Checking activity reminders 
[2026-04-20 18:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:14:48] [INFO] Checking activity reminders 
[2026-04-20 18:14:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:14:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:15:17] [INFO] Checking activity reminders 
[2026-04-20 18:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:15:18] [INFO] Checking activity reminders 
[2026-04-20 18:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:15:46] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc8794ca28e4.79401978","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه تا یک ساعت دیگه \/ سایت اوکی شد","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:15:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:15:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:15:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:15:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:15:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69dc8794ca28e4.79401978","note_was_empty":true}
[2026-04-20 18:15:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63c1a487fc4.31847524","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:15:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:15:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63c1a487fc4.31847524"}
[2026-04-20 18:15:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:15:46] [INFO] Updating virtual stage {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered","force":false}
[2026-04-20 18:15:46] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc8794ca28e4.79401978","stage_name":"deal_registered"}
[2026-04-20 18:15:46] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-20 18:15:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 18:15:47] [INFO] Checking activity reminders 
[2026-04-20 18:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:15:48] [INFO] Checking activity reminders 
[2026-04-20 18:15:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:15:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:16:17] [INFO] Checking activity reminders 
[2026-04-20 18:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:16:19] [INFO] Checking activity reminders 
[2026-04-20 18:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:16:47] [INFO] Checking activity reminders 
[2026-04-20 18:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:16:49] [INFO] Checking activity reminders 
[2026-04-20 18:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:17:17] [INFO] Checking activity reminders 
[2026-04-20 18:17:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:17:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:17:19] [INFO] Checking activity reminders 
[2026-04-20 18:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:17:47] [INFO] Checking activity reminders 
[2026-04-20 18:17:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:17:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:17:49] [INFO] Checking activity reminders 
[2026-04-20 18:17:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:17:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:18:18] [INFO] Checking activity reminders 
[2026-04-20 18:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:18:19] [INFO] Checking activity reminders 
[2026-04-20 18:18:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:18:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:18:48] [INFO] Checking activity reminders 
[2026-04-20 18:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:18:49] [INFO] Checking activity reminders 
[2026-04-20 18:18:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:18:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:18:55] [INFO] Activity save request {"post_data":{"contact_id":"6956","deal_id":"local_69bbb05b68bcf5.43795629","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه کل سرمایه در خودرو \/ کارش خودرو افروودی هست گذاشته\r\nسرمایه مازاد نداره \r\n","activity_duration":"5","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:18:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:18:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:18:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6956","note_was_empty":true}
[2026-04-20 18:18:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"6956","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:18:55] [INFO] Updating virtual stage {"contact_id":"6956","stage_name":"deal_registered","force":false}
[2026-04-20 18:18:55] [INFO] Virtual stage successfully saved {"contact_id":"6956","stage_name":"deal_registered"}
[2026-04-20 18:18:55] [INFO] Virtual stage updated after activity save {"contact_id":"6956"}
[2026-04-20 18:18:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbb05b68bcf5.43795629","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-20 18:18:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63cd7e11d89.90608801","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:18:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63cd7e11d89.90608801"}
[2026-04-20 18:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:18:55] [INFO] Updating virtual stage {"contact_id":"6956","stage_name":"deal_registered","force":false}
[2026-04-20 18:18:55] [INFO] Virtual stage successfully saved {"contact_id":"6956","stage_name":"deal_registered"}
[2026-04-20 18:18:55] [INFO] Virtual stage updated after activity save {"contact_id":"6956"}
[2026-04-20 18:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6956","person_id":"10610"}
[2026-04-20 18:19:16] [INFO] Checking activity reminders 
[2026-04-20 18:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:19:18] [INFO] Checking activity reminders 
[2026-04-20 18:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:19:34] [INFO] Checking activity reminders 
[2026-04-20 18:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:19:37] [INFO] Checking activity reminders 
[2026-04-20 18:19:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:19:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:19:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:19:43","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 18:19:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","is_new_deal":false}
[2026-04-20 18:19:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:19:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:19:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-20 18:19:43] [INFO] getContactPrimaryPhone called {"contact_id":"12007"}
[2026-04-20 18:19:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:43] [INFO] getContactPrimaryPhone result {"contact_id":"12007","person_found":true,"primary_phone":"9144884467"}
[2026-04-20 18:19:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144884467"}
[2026-04-20 18:19:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144884467","contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:19:43"}
[2026-04-20 18:19:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","existing_deal_found":true,"existing_contact_id":"12007","existing_title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:19:43"}
[2026-04-20 18:19:43] [INFO] DealController.save validated payments {"deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","payments_count":0,"status":"pending","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-20 18:19:43] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12007","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:19:43] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e5e4cd97ec13.18287078","contact_didar_id":"12007","title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9144884467","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خضر نژاد","existing_deal":"YES","existing_deal_id":"local_69e5e4cd97ec13.18287078","existing_deal_status":"Pending","server_time":"2026-04-20 18:19:43","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 18:19:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:43] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-20 18:19:43","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:19:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:48] [INFO] Checking activity reminders 
[2026-04-20 18:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:19:58] [INFO] Activity save request {"post_data":{"contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:19:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12007","note_was_empty":true}
[2026-04-20 18:19:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"12007","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:58] [INFO] Updating virtual stage {"contact_id":"12007","stage_name":"deal_registered","force":false}
[2026-04-20 18:19:58] [INFO] Virtual stage successfully saved {"contact_id":"12007","stage_name":"deal_registered"}
[2026-04-20 18:19:58] [INFO] Virtual stage updated after activity save {"contact_id":"12007"}
[2026-04-20 18:19:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e5e4cd97ec13.18287078","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-20 18:19:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63d161d3619.81617921","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63d161d3619.81617921"}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:19:58] [INFO] Updating virtual stage {"contact_id":"12007","stage_name":"deal_registered","force":false}
[2026-04-20 18:19:58] [INFO] Virtual stage successfully saved {"contact_id":"12007","stage_name":"deal_registered"}
[2026-04-20 18:19:58] [INFO] Virtual stage updated after activity save {"contact_id":"12007"}
[2026-04-20 18:19:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-20 18:20:00] [INFO] Checking activity reminders 
[2026-04-20 18:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:20:02] [INFO] Checking activity reminders 
[2026-04-20 18:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:20:18] [INFO] Checking activity reminders 
[2026-04-20 18:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:20:27] [INFO] Activity save request {"post_data":{"contact_id":"21232","deal_id":"local_698723ef09e693.40690272","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"حقوق گرفته برای واریز ارسال شماره کارت ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:20:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21232","note_was_empty":true}
[2026-04-20 18:20:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"21232","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:27] [INFO] Updating virtual stage {"contact_id":"21232","stage_name":"deal_registered","force":false}
[2026-04-20 18:20:27] [INFO] Virtual stage successfully saved {"contact_id":"21232","stage_name":"deal_registered"}
[2026-04-20 18:20:27] [INFO] Virtual stage updated after activity save {"contact_id":"21232"}
[2026-04-20 18:20:27] [INFO] Pipeline stage updated after activity save {"deal_id":"local_698723ef09e693.40690272","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-20 18:20:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63d33310d29.12633263","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63d33310d29.12633263"}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:27] [INFO] Updating virtual stage {"contact_id":"21232","stage_name":"deal_registered","force":false}
[2026-04-20 18:20:27] [INFO] Virtual stage successfully saved {"contact_id":"21232","stage_name":"deal_registered"}
[2026-04-20 18:20:27] [INFO] Virtual stage updated after activity save {"contact_id":"21232"}
[2026-04-20 18:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:20:32] [INFO] Checking activity reminders 
[2026-04-20 18:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:20:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:20:48] [INFO] Checking activity reminders 
[2026-04-20 18:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:21:02] [INFO] Checking activity reminders 
[2026-04-20 18:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:21:18] [INFO] Checking activity reminders 
[2026-04-20 18:21:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:21:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:21:32] [INFO] Checking activity reminders 
[2026-04-20 18:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:21:48] [INFO] Checking activity reminders 
[2026-04-20 18:21:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:21:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:02] [INFO] Checking activity reminders 
[2026-04-20 18:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:15] [INFO] Checking activity reminders 
[2026-04-20 18:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:18] [INFO] Checking activity reminders 
[2026-04-20 18:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:22:45] [INFO] Checking activity reminders 
[2026-04-20 18:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:48] [INFO] Checking activity reminders 
[2026-04-20 18:22:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:22:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:22:59] [INFO] Activity save request {"post_data":{"contact_id":"7362","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:22:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:22:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:22:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7362","note_was_empty":true}
[2026-04-20 18:22:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"7362","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:22:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63dcbe179b9.03931199","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:22:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63dcbe179b9.03931199"}
[2026-04-20 18:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:22:59] [INFO] Updating virtual stage {"contact_id":"7362","stage_name":"deal_registered","force":false}
[2026-04-20 18:22:59] [INFO] Virtual stage successfully saved {"contact_id":"7362","stage_name":"deal_registered"}
[2026-04-20 18:22:59] [INFO] Virtual stage updated after activity save {"contact_id":"7362"}
[2026-04-20 18:23:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:23:16] [INFO] Checking activity reminders 
[2026-04-20 18:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:23:18] [INFO] Checking activity reminders 
[2026-04-20 18:23:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:23:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:23:46] [INFO] Checking activity reminders 
[2026-04-20 18:23:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:23:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:23:49] [INFO] Checking activity reminders 
[2026-04-20 18:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:23:57] [INFO] Checking activity reminders 
[2026-04-20 18:23:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:23:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:24:19] [INFO] Checking activity reminders 
[2026-04-20 18:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:24:27] [INFO] Checking activity reminders 
[2026-04-20 18:24:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:24:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:24:49] [INFO] Checking activity reminders 
[2026-04-20 18:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:24:57] [INFO] Checking activity reminders 
[2026-04-20 18:24:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:24:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:25:19] [INFO] Checking activity reminders 
[2026-04-20 18:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:25:27] [INFO] Checking activity reminders 
[2026-04-20 18:25:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:25:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:25:49] [INFO] Checking activity reminders 
[2026-04-20 18:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:25:57] [INFO] Checking activity reminders 
[2026-04-20 18:25:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:25:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:26:02] [INFO] Activity save request {"post_data":{"contact_id":"local_695cb9622da444.78163474","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"با فروش ملک 6میلیارد دستش اومد 2ت طلا 2ت دلار خرید زد\/ الباقی نقد \/ تسویه اردیبهشت نزد الان ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:26:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:26:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:26:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:26:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:26:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_695cb9622da444.78163474","note_was_empty":true}
[2026-04-20 18:26:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e63e82c909f1.89218835","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:26:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:26:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69e63e82c909f1.89218835"}
[2026-04-20 18:26:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:26:02] [INFO] Updating virtual stage {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered","force":false}
[2026-04-20 18:26:02] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9622da444.78163474","stage_name":"deal_registered"}
[2026-04-20 18:26:02] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cb9622da444.78163474"}
[2026-04-20 18:26:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-20 18:26:27] [INFO] Checking activity reminders 
[2026-04-20 18:26:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:26:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:27:01] [INFO] Checking activity reminders 
[2026-04-20 18:27:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:27:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:27:31] [INFO] Checking activity reminders 
[2026-04-20 18:27:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:27:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:28:01] [INFO] Checking activity reminders 
[2026-04-20 18:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:28:31] [INFO] Checking activity reminders 
[2026-04-20 18:28:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:28:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:29:02] [INFO] Checking activity reminders 
[2026-04-20 18:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:29:32] [INFO] Checking activity reminders 
[2026-04-20 18:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:30:02] [INFO] Checking activity reminders 
[2026-04-20 18:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:30:32] [INFO] Checking activity reminders 
[2026-04-20 18:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:30:47] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 18:30:47] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 18:30:47] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 18:31:02] [INFO] Checking activity reminders 
[2026-04-20 18:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:31:32] [INFO] Checking activity reminders 
[2026-04-20 18:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:32:02] [INFO] Checking activity reminders 
[2026-04-20 18:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:32:33] [INFO] Checking activity reminders 
[2026-04-20 18:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:33:03] [INFO] Checking activity reminders 
[2026-04-20 18:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:33:33] [INFO] Checking activity reminders 
[2026-04-20 18:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:33:51] [INFO] Activity save request {"post_data":{"contact_id":"15312","deal_id":"local_69bbaedd901635.57052076","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خیلی کسب و کارش رکود و درامدش اومده پایین \r\nحواله جانبازی داره برای فروش \/ انجام بده بیاد تو کانال ","activity_duration":"9","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:33:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15312","note_was_empty":true}
[2026-04-20 18:33:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"15312","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:51] [INFO] Updating virtual stage {"contact_id":"15312","stage_name":"deal_registered","force":false}
[2026-04-20 18:33:51] [INFO] Virtual stage successfully saved {"contact_id":"15312","stage_name":"deal_registered"}
[2026-04-20 18:33:51] [INFO] Virtual stage updated after activity save {"contact_id":"15312"}
[2026-04-20 18:33:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbaedd901635.57052076","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-20 18:33:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e64057b34eb4.49386333","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e64057b34eb4.49386333"}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:51] [INFO] Updating virtual stage {"contact_id":"15312","stage_name":"deal_registered","force":false}
[2026-04-20 18:33:51] [INFO] Virtual stage successfully saved {"contact_id":"15312","stage_name":"deal_registered"}
[2026-04-20 18:33:51] [INFO] Virtual stage updated after activity save {"contact_id":"15312"}
[2026-04-20 18:33:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:33:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:34:03] [INFO] Checking activity reminders 
[2026-04-20 18:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:34:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15312","deal_id":"local_69bbaedd901635.57052076","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:34:04","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 18:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:34:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15312","is_new_deal":false}
[2026-04-20 18:34:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-20 18:34:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 18:34:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-20 18:34:04] [INFO] getContactPrimaryPhone called {"contact_id":"15312"}
[2026-04-20 18:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:34:04] [INFO] getContactPrimaryPhone result {"contact_id":"15312","person_found":true,"primary_phone":"9108357864"}
[2026-04-20 18:34:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9108357864"}
[2026-04-20 18:34:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9108357864","contact_id":"15312","deal_id":"local_69bbaedd901635.57052076","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:34:04"}
[2026-04-20 18:34:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bbaedd901635.57052076","contact_id":"15312","existing_deal_found":true,"existing_contact_id":"15312","existing_title":"معامله سوم 9108357864 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:34:04"}
[2026-04-20 18:34:04] [INFO] DealController.save validated payments {"deal_id":"local_69bbaedd901635.57052076","contact_id":"15312","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-20 18:34:04] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"15312","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:34:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bbaedd901635.57052076","contact_didar_id":"15312","title":"معامله سوم 9108357864 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9108357864","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مهدی حاج آقایی","existing_deal":"YES","existing_deal_id":"local_69bbaedd901635.57052076","existing_deal_status":"Pending","server_time":"2026-04-20 18:34:04","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 18:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:34:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bbaedd901635.57052076","contact_id":"15312","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9108357864 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-20 18:34:04","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15312","person_id":"14777"}
[2026-04-20 18:34:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:34:33] [INFO] Checking activity reminders 
[2026-04-20 18:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:35:03] [INFO] Activity save request {"post_data":{"contact_id":"2128","deal_id":"local_69d68ffe958646.99867336","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"نقدینگی نداره \r\nد رخودرو و ملک قفل شده ","activity_duration":"3","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:35:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2128","note_was_empty":true}
[2026-04-20 18:35:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"2128","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:03] [INFO] Updating virtual stage {"contact_id":"2128","stage_name":"deal_registered","force":false}
[2026-04-20 18:35:03] [INFO] Virtual stage successfully saved {"contact_id":"2128","stage_name":"deal_registered"}
[2026-04-20 18:35:03] [INFO] Virtual stage updated after activity save {"contact_id":"2128"}
[2026-04-20 18:35:03] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68ffe958646.99867336","stage":"تماس پیگیری","status_change":null}
[2026-04-20 18:35:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e6409f7dc1f0.76555083","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69e6409f7dc1f0.76555083"}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:03] [INFO] Updating virtual stage {"contact_id":"2128","stage_name":"deal_registered","force":false}
[2026-04-20 18:35:03] [INFO] Virtual stage successfully saved {"contact_id":"2128","stage_name":"deal_registered"}
[2026-04-20 18:35:03] [INFO] Virtual stage updated after activity save {"contact_id":"2128"}
[2026-04-20 18:35:03] [INFO] Checking activity reminders 
[2026-04-20 18:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:35:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2128","person_id":"2101"}
[2026-04-20 18:35:33] [INFO] Checking activity reminders 
[2026-04-20 18:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:35:52] [INFO] Checking activity reminders 
[2026-04-20 18:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:36:07] [INFO] Activity save request {"post_data":{"contact_id":"7362","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-20 18:36:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:36:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-20 18:36:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-20 18:36:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:36:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7362","note_was_empty":true}
[2026-04-20 18:36:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"7362","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-20 18:36:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e640df6ee7f5.24425427","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-20 18:36:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:36:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69e640df6ee7f5.24425427"}
[2026-04-20 18:36:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:36:07] [INFO] Updating virtual stage {"contact_id":"7362","stage_name":"deal_registered","force":false}
[2026-04-20 18:36:07] [INFO] Virtual stage successfully saved {"contact_id":"7362","stage_name":"deal_registered"}
[2026-04-20 18:36:07] [INFO] Virtual stage updated after activity save {"contact_id":"7362"}
[2026-04-20 18:36:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7362","person_id":"13802"}
[2026-04-20 18:36:22] [INFO] Checking activity reminders 
[2026-04-20 18:36:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:36:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:36:52] [INFO] Checking activity reminders 
[2026-04-20 18:36:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:36:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:37:23] [INFO] Checking activity reminders 
[2026-04-20 18:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:37:53] [INFO] Checking activity reminders 
[2026-04-20 18:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:38:23] [INFO] Checking activity reminders 
[2026-04-20 18:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:38:53] [INFO] Checking activity reminders 
[2026-04-20 18:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:39:23] [INFO] Checking activity reminders 
[2026-04-20 18:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:39:30] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 18:39:30] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"check_reminders"}
[2026-04-20 18:39:30] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 18:39:39] [WARNING] Auth check failed - not authenticated {"session_id":"j5071at9nk60srhvai40h5ggvs","session_keys":[],"action":"log_client_event"}
[2026-04-20 18:39:39] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-20 18:39:39] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-20 18:39:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 18:39:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-20 18:39:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-20 18:39:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-20 18:39:53] [INFO] Checking activity reminders 
[2026-04-20 18:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:40:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:40:10] [INFO] Checking activity reminders 
[2026-04-20 18:40:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:40:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:40:23] [INFO] Checking activity reminders 
[2026-04-20 18:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:40:28] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:40:28","session_id":"j5071at9nk60srhvai40h5ggvs"}
[2026-04-20 18:40:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:40:28] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"21232","is_new_deal":false}
[2026-04-20 18:40:28] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:40:28] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:40:28] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:40:28] [INFO] getContactPrimaryPhone called {"contact_id":"21232"}
[2026-04-20 18:40:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:40:28] [INFO] getContactPrimaryPhone result {"contact_id":"21232","person_found":true,"primary_phone":"9188418762"}
[2026-04-20 18:40:28] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9188418762"}
[2026-04-20 18:40:28] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9188418762","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 18:40:28"}
[2026-04-20 18:40:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","existing_deal_found":true,"existing_contact_id":"21232","existing_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-20 18:40:29"}
[2026-04-20 18:40:29] [INFO] DealController.save validated payments {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 18:40:29] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21232","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-20 18:40:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_698723ef09e693.40690272","contact_didar_id":"21232","title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9188418762","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"یاران","existing_deal":"YES","existing_deal_id":"local_698723ef09e693.40690272","existing_deal_status":"Pending","server_time":"2026-04-20 18:40:29","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-20 18:40:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:40:29] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_698723ef09e693.40690272","contact_id":"21232","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":20000000,"server_time":"2026-04-20 18:40:29","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:40:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:40:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 18:40:40] [INFO] Checking activity reminders 
[2026-04-20 18:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:40:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:00] [INFO] Checking activity reminders 
[2026-04-20 18:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:41:10] [INFO] Checking activity reminders 
[2026-04-20 18:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:41:31] [INFO] Checking activity reminders 
[2026-04-20 18:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:41:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:41:32","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 18:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"21232","is_new_deal":false}
[2026-04-20 18:41:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:32] [INFO] getContactPrimaryPhone called {"contact_id":"21232"}
[2026-04-20 18:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:32] [INFO] getContactPrimaryPhone result {"contact_id":"21232","person_found":true,"primary_phone":"9188418762"}
[2026-04-20 18:41:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9188418762"}
[2026-04-20 18:41:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9188418762","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:41:32"}
[2026-04-20 18:41:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","existing_deal_found":true,"existing_contact_id":"21232","existing_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:41:32"}
[2026-04-20 18:41:32] [INFO] DealController.save validated payments {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 18:41:32] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21232","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:41:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_698723ef09e693.40690272","contact_didar_id":"21232","title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9188418762","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"یاران","existing_deal":"YES","existing_deal_id":"local_698723ef09e693.40690272","existing_deal_status":"Pending","server_time":"2026-04-20 18:41:32","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 18:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_698723ef09e693.40690272","contact_id":"21232","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":30000000,"server_time":"2026-04-20 18:41:32","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:40] [INFO] Checking activity reminders 
[2026-04-20 18:41:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:41:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:41:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 18:41:40","session_id":"t49uno6eg1028ulfkiiqbaoohj"}
[2026-04-20 18:41:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"21232","is_new_deal":false}
[2026-04-20 18:41:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-20 18:41:40] [INFO] getContactPrimaryPhone called {"contact_id":"21232"}
[2026-04-20 18:41:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:40] [INFO] getContactPrimaryPhone result {"contact_id":"21232","person_found":true,"primary_phone":"9188418762"}
[2026-04-20 18:41:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9188418762"}
[2026-04-20 18:41:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9188418762","contact_id":"21232","deal_id":"local_698723ef09e693.40690272","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:41:40"}
[2026-04-20 18:41:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","existing_deal_found":true,"existing_contact_id":"21232","existing_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-20 18:41:40"}
[2026-04-20 18:41:40] [INFO] DealController.save validated payments {"deal_id":"local_698723ef09e693.40690272","contact_id":"21232","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-20 18:41:40] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21232","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 18:41:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_698723ef09e693.40690272","contact_didar_id":"21232","title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9188418762","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"یاران","existing_deal":"YES","existing_deal_id":"local_698723ef09e693.40690272","existing_deal_status":"Pending","server_time":"2026-04-20 18:41:40","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-20 18:41:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_698723ef09e693.40690272","contact_id":"21232","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9188418762 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":30000000,"server_time":"2026-04-20 18:41:40","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-20 18:41:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-20 18:41:47] [INFO] Checking activity reminders 
[2026-04-20 18:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:42:10] [INFO] Checking activity reminders 
[2026-04-20 18:42:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:42:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:42:40] [INFO] Checking activity reminders 
[2026-04-20 18:42:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:42:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:43:10] [INFO] Checking activity reminders 
[2026-04-20 18:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:43:40] [INFO] Checking activity reminders 
[2026-04-20 18:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:44:10] [INFO] Checking activity reminders 
[2026-04-20 18:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:44:40] [INFO] Checking activity reminders 
[2026-04-20 18:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:45:10] [INFO] Checking activity reminders 
[2026-04-20 18:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:45:41] [INFO] Checking activity reminders 
[2026-04-20 18:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:46:11] [INFO] Checking activity reminders 
[2026-04-20 18:46:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:46:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:46:41] [INFO] Checking activity reminders 
[2026-04-20 18:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:47:11] [INFO] Checking activity reminders 
[2026-04-20 18:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:47:41] [INFO] Checking activity reminders 
[2026-04-20 18:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:48:11] [INFO] Checking activity reminders 
[2026-04-20 18:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:48:41] [INFO] Checking activity reminders 
[2026-04-20 18:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:49:11] [INFO] Checking activity reminders 
[2026-04-20 18:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:49:41] [INFO] Checking activity reminders 
[2026-04-20 18:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:50:11] [INFO] Checking activity reminders 
[2026-04-20 18:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:50:41] [INFO] Checking activity reminders 
[2026-04-20 18:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:51:11] [INFO] Checking activity reminders 
[2026-04-20 18:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:51:41] [INFO] Checking activity reminders 
[2026-04-20 18:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 18:52:12] [INFO] Checking activity reminders 
[2026-04-20 18:52:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 18:52:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 19:00:44] [INFO] Checking activity reminders 
[2026-04-20 19:00:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 19:00:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 20:32:01] [WARNING] Auth check failed - not authenticated {"session_id":"5ro1c5bptoprsqqkqldqrrmchc","session_keys":[],"action":"log_client_event"}
[2026-04-20 20:32:01] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-20 20:32:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-20 20:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 20:32:32] [INFO] Checking activity reminders 
[2026-04-20 20:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 20:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 20:32:50] [INFO] Checking activity reminders 
[2026-04-20 20:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 20:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 20:33:15] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"local_69e34531a7a201.46408272","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-20 20:33:15","session_id":"5ro1c5bptoprsqqkqldqrrmchc"}
[2026-04-20 20:33:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 20:33:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_69dc8794ca28e4.79401978","is_new_deal":false}
[2026-04-20 20:33:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-20 20:33:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-20 20:33:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-20 20:33:15] [INFO] getContactPrimaryPhone called {"contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-20 20:33:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 20:33:15] [INFO] getContactPrimaryPhone result {"contact_id":"local_69dc8794ca28e4.79401978","person_found":true,"primary_phone":"9330688687"}
[2026-04-20 20:33:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330688687"}
[2026-04-20 20:33:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330688687","contact_id":"local_69dc8794ca28e4.79401978","deal_id":"local_69e34531a7a201.46408272","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 20:33:15"}
[2026-04-20 20:33:15] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e34531a7a201.46408272","contact_id":"local_69dc8794ca28e4.79401978","existing_deal_found":true,"existing_contact_id":"local_69dc8794ca28e4.79401978","existing_title":"معامله سوم 9330688687 | کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-20 20:33:15"}
[2026-04-20 20:33:15] [INFO] DealController.save validated payments {"deal_id":"local_69e34531a7a201.46408272","contact_id":"local_69dc8794ca28e4.79401978","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-20 20:33:15] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69dc8794ca28e4.79401978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-20 20:33:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e34531a7a201.46408272","contact_didar_id":"local_69dc8794ca28e4.79401978","title":"معامله سوم 9330688687 | کارشناسی حضوری","base_title_used":"معامله سوم 9330688687","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امید رحیمی","existing_deal":"YES","existing_deal_id":"local_69e34531a7a201.46408272","existing_deal_status":"Pending","server_time":"2026-04-20 20:33:15","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-20 20:33:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 20:33:15] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e34531a7a201.46408272","contact_id":"local_69dc8794ca28e4.79401978","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9330688687 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-20 20:33:15","ip_address":"5.211.99.189","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"}
[2026-04-20 20:33:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-20 20:33:20] [INFO] Checking activity reminders 
[2026-04-20 20:33:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-20 20:33:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-20 20:33:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-21 08:20:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:20:17] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-21 08:20:22] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:20:22] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-21 08:20:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 08:20:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 08:20:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 08:20:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 08:58:34] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 08:58:34] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:34] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:35] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:35] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:36] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:37] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:51] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:51] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 08:58:51] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:55] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:58:56] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:58:58] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:03] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:04] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:04] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:05] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:05] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:06] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:10] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:11] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_products"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_didar_users"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_users_list"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_kpi_products"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-21 08:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:25] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 08:59:38] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-21 08:59:38] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 08:59:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 08:59:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 08:59:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 08:59:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-21 09:00:18] [INFO] Checking activity reminders 
[2026-04-21 09:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:00:33] [INFO] Checking activity reminders 
[2026-04-21 09:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:02:19] [INFO] Checking activity reminders 
[2026-04-21 09:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:04:46] [INFO] Checking activity reminders 
[2026-04-21 09:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:05:25] [INFO] Checking activity reminders 
[2026-04-21 09:05:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:05:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:05:35] [INFO] Checking activity reminders 
[2026-04-21 09:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:06:03] [INFO] Checking activity reminders 
[2026-04-21 09:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:06:11] [INFO] Checking activity reminders 
[2026-04-21 09:06:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:06:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:15:03] [INFO] Checking activity reminders 
[2026-04-21 09:15:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:15:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:15:18] [INFO] Checking activity reminders 
[2026-04-21 09:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:15:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-21 09:15:34] [INFO] Checking activity reminders 
[2026-04-21 09:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:15:43] [INFO] Checking activity reminders 
[2026-04-21 09:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:15:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15520","person_id":"15830"}
[2026-04-21 09:16:13] [INFO] Checking activity reminders 
[2026-04-21 09:16:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:16:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:17:14] [INFO] Checking activity reminders 
[2026-04-21 09:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:17:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15821","person_id":"17907"}
[2026-04-21 09:17:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15520","person_id":"15830"}
[2026-04-21 09:17:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15544","person_id":"14728"}
[2026-04-21 09:17:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14605","person_id":"330"}
[2026-04-21 09:17:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14027","person_id":"7436"}
[2026-04-21 09:17:44] [INFO] Checking activity reminders 
[2026-04-21 09:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:17:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13034","person_id":"211"}
[2026-04-21 09:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-21 09:18:18] [INFO] Checking activity reminders 
[2026-04-21 09:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:18:25] [INFO] Checking activity reminders 
[2026-04-21 09:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:18:43] [INFO] Checking activity reminders 
[2026-04-21 09:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:19:14] [INFO] Checking activity reminders 
[2026-04-21 09:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:19:41] [INFO] Checking activity reminders 
[2026-04-21 09:19:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:19:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-21 09:20:05] [INFO] Checking activity reminders 
[2026-04-21 09:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:21:04] [INFO] Checking activity reminders 
[2026-04-21 09:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:21:34] [INFO] Checking activity reminders 
[2026-04-21 09:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:22:23] [INFO] Checking activity reminders 
[2026-04-21 09:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:23:37] [INFO] Checking activity reminders 
[2026-04-21 09:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:24:07] [INFO] Checking activity reminders 
[2026-04-21 09:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:25:01] [INFO] Checking activity reminders 
[2026-04-21 09:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:25:20] [INFO] Checking activity reminders 
[2026-04-21 09:25:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:25:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:25:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-21 09:25:50] [INFO] Checking activity reminders 
[2026-04-21 09:25:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:25:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:26:59] [INFO] Checking activity reminders 
[2026-04-21 09:26:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:26:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:27:37] [INFO] Checking activity reminders 
[2026-04-21 09:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:29:49] [INFO] Checking activity reminders 
[2026-04-21 09:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:30:02] [INFO] Checking activity reminders 
[2026-04-21 09:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:30:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-21 09:30:20] [INFO] Checking activity reminders 
[2026-04-21 09:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:31:18] [INFO] Checking activity reminders 
[2026-04-21 09:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:31:41] [INFO] Checking activity reminders 
[2026-04-21 09:31:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:31:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:32:00] [INFO] Checking activity reminders 
[2026-04-21 09:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:32:56] [INFO] Checking activity reminders 
[2026-04-21 09:32:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:32:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:33:09] [INFO] Checking activity reminders 
[2026-04-21 09:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-21 09:35:13] [INFO] Checking activity reminders 
[2026-04-21 09:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:35:21] [INFO] Checking activity reminders 
[2026-04-21 09:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:36:11] [INFO] Checking activity reminders 
[2026-04-21 09:36:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:36:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:36:51] [INFO] Checking activity reminders 
[2026-04-21 09:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:37:22] [INFO] Checking activity reminders 
[2026-04-21 09:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:40:21] [INFO] Checking activity reminders 
[2026-04-21 09:40:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:40:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:40:24] [INFO] Checking activity reminders 
[2026-04-21 09:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:41:36] [INFO] Checking activity reminders 
[2026-04-21 09:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-21 09:41:49] [INFO] Checking activity reminders 
[2026-04-21 09:41:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:41:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:42:15] [INFO] Checking activity reminders 
[2026-04-21 09:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:43:00] [INFO] Checking activity reminders 
[2026-04-21 09:43:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:43:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:43:41] [INFO] Checking activity reminders 
[2026-04-21 09:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:44:11] [INFO] Checking activity reminders 
[2026-04-21 09:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:44:41] [INFO] Checking activity reminders 
[2026-04-21 09:44:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:44:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:45:26] [INFO] Checking activity reminders 
[2026-04-21 09:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:46:01] [INFO] Checking activity reminders 
[2026-04-21 09:46:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:46:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:46:04] [INFO] Checking activity reminders 
[2026-04-21 09:46:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:46:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:46:39] [INFO] Checking activity reminders 
[2026-04-21 09:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-21 09:47:18] [INFO] Checking activity reminders 
[2026-04-21 09:47:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:47:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:47:28] [INFO] Checking activity reminders 
[2026-04-21 09:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:47:46] [INFO] Checking activity reminders 
[2026-04-21 09:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:48:17] [INFO] Checking activity reminders 
[2026-04-21 09:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:48:34] [INFO] Checking activity reminders 
[2026-04-21 09:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:49:04] [INFO] Checking activity reminders 
[2026-04-21 09:49:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:49:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:49:12] [INFO] Checking activity reminders 
[2026-04-21 09:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:49:27] [INFO] Checking activity reminders 
[2026-04-21 09:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:49:34] [INFO] Checking activity reminders 
[2026-04-21 09:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:49:41] [INFO] Checking activity reminders 
[2026-04-21 09:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:50:35] [INFO] Checking activity reminders 
[2026-04-21 09:50:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:50:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:52:20] [INFO] Checking activity reminders 
[2026-04-21 09:52:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:52:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:52:47] [INFO] Checking activity reminders 
[2026-04-21 09:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:53:17] [INFO] Checking activity reminders 
[2026-04-21 09:53:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:53:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:53:42] [INFO] Checking activity reminders 
[2026-04-21 09:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 09:54:32] [INFO] Checking activity reminders 
[2026-04-21 09:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 09:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:08:01] [WARNING] Auth check failed - not authenticated {"session_id":"m2om8fhs1grsv8afdf68c2apfa","session_keys":[],"action":"log_client_event"}
[2026-04-21 10:08:01] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-21 10:08:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 10:11:45] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 10:11:45] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-21 10:11:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 10:12:15] [INFO] Checking activity reminders 
[2026-04-21 10:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:12:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:12:46] [INFO] Checking activity reminders 
[2026-04-21 10:12:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:12:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:13:16] [INFO] Checking activity reminders 
[2026-04-21 10:13:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:13:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:13:47] [INFO] Checking activity reminders 
[2026-04-21 10:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:14:17] [INFO] Checking activity reminders 
[2026-04-21 10:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:14:47] [INFO] Checking activity reminders 
[2026-04-21 10:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:15:17] [INFO] Checking activity reminders 
[2026-04-21 10:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:15:47] [INFO] Checking activity reminders 
[2026-04-21 10:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:16:17] [INFO] Checking activity reminders 
[2026-04-21 10:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:16:47] [INFO] Checking activity reminders 
[2026-04-21 10:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:17:02] [WARNING] Login attempt failed - wrong password {"user_id":"20","identifier":"لید استخر"}
[2026-04-21 10:17:03] [INFO] Checking activity reminders 
[2026-04-21 10:17:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:17:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:17:08] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-21 10:17:08] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 10:17:18] [INFO] Checking activity reminders 
[2026-04-21 10:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:17:32] [INFO] Checking activity reminders 
[2026-04-21 10:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:17:48] [INFO] Checking activity reminders 
[2026-04-21 10:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:18:02] [INFO] Checking activity reminders 
[2026-04-21 10:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:18:18] [INFO] Checking activity reminders 
[2026-04-21 10:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:18:32] [INFO] Checking activity reminders 
[2026-04-21 10:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:18:48] [INFO] Checking activity reminders 
[2026-04-21 10:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:19:02] [INFO] Checking activity reminders 
[2026-04-21 10:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:19:18] [INFO] Checking activity reminders 
[2026-04-21 10:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:19:33] [INFO] Checking activity reminders 
[2026-04-21 10:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:19:48] [INFO] Checking activity reminders 
[2026-04-21 10:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:19:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو + کارشناسی حضوری","contact_id":"local_699ac3915763b4.19041363","deal_id":"local_699ac3915ae92","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 10:19:48","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 10:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:19:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو + کارشناسی حضوری","contact_id":"local_699ac3915763b4.19041363","is_new_deal":false}
[2026-04-21 10:19:48] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو + کارشناسی حضوری"}
[2026-04-21 10:19:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو + کارشناسی حضوری"}
[2026-04-21 10:19:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو + کارشناسی حضوری"}
[2026-04-21 10:19:48] [INFO] getContactPrimaryPhone called {"contact_id":"local_699ac3915763b4.19041363"}
[2026-04-21 10:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:19:48] [INFO] getContactPrimaryPhone result {"contact_id":"local_699ac3915763b4.19041363","person_found":true,"primary_phone":"9014779005"}
[2026-04-21 10:19:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9014779005"}
[2026-04-21 10:19:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9014779005","contact_id":"local_699ac3915763b4.19041363","deal_id":"local_699ac3915ae92","is_new_deal":false,"incoming_title":"هوش خودرو + کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 10:19:48"}
[2026-04-21 10:19:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_699ac3915ae92","contact_id":"local_699ac3915763b4.19041363","existing_deal_found":true,"existing_contact_id":"local_699ac3915763b4.19041363","existing_title":"معامله اول 9014779005 | هوش خودرو + کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 10:19:48"}
[2026-04-21 10:19:48] [INFO] DealController.save validated payments {"deal_id":"local_699ac3915ae92","contact_id":"local_699ac3915763b4.19041363","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-21 10:19:48] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_699ac3915763b4.19041363","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 10:19:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699ac3915ae92","contact_didar_id":"local_699ac3915763b4.19041363","title":"معامله اول 9014779005 | هوش خودرو + کارشناسی حضوری","base_title_used":"معامله اول 9014779005","services_text":"هوش خودرو + کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":15000000,"payment_amount":15000000,"payments_present":true,"requested_services":["هوش خودرو + کارشناسی حضوری"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مهدی دامغانی","existing_deal":"YES","existing_deal_id":"local_699ac3915ae92","existing_deal_status":"Pending","server_time":"2026-04-21 10:19:48","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 10:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:19:49] [INFO] Deal success processed {"contact_id":"local_699ac3915763b4.19041363","person_name":"مهدی دامغانی","products_count":1}
[2026-04-21 10:19:49] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699ac3915ae92","contact_id":"local_699ac3915763b4.19041363","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9014779005 | هوش خودرو + کارشناسی حضوری","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":15000000,"payment_amount":15000000,"server_time":"2026-04-21 10:19:49","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 10:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:19:49] [INFO] Updating virtual stage {"contact_id":"local_699ac3915763b4.19041363","stage_name":"with_purchase","force":true}
[2026-04-21 10:19:49] [INFO] Virtual stage successfully saved {"contact_id":"local_699ac3915763b4.19041363","stage_name":"with_purchase"}
[2026-04-21 10:19:49] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_699ac3915763b4.19041363","deal_id":"local_699ac3915ae92","target_stage":"with_purchase"}
[2026-04-21 10:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:20:03] [INFO] Checking activity reminders 
[2026-04-21 10:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:20:18] [INFO] Checking activity reminders 
[2026-04-21 10:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:20:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:20:33] [INFO] Checking activity reminders 
[2026-04-21 10:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:20:48] [INFO] Checking activity reminders 
[2026-04-21 10:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:21:18] [INFO] Checking activity reminders 
[2026-04-21 10:21:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:21:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:21:48] [INFO] Checking activity reminders 
[2026-04-21 10:21:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:21:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:22:18] [INFO] Checking activity reminders 
[2026-04-21 10:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:22:49] [INFO] Checking activity reminders 
[2026-04-21 10:22:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:22:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:22:50] [INFO] Checking activity reminders 
[2026-04-21 10:22:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:22:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:23:01] [INFO] Checking activity reminders 
[2026-04-21 10:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:23:10] [INFO] Checking activity reminders 
[2026-04-21 10:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:23:19] [INFO] Checking activity reminders 
[2026-04-21 10:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:23:49] [INFO] Checking activity reminders 
[2026-04-21 10:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:24:09] [INFO] Checking activity reminders 
[2026-04-21 10:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:24:19] [INFO] Checking activity reminders 
[2026-04-21 10:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:24:37] [INFO] Checking activity reminders 
[2026-04-21 10:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:24:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-21 10:24:49] [INFO] Checking activity reminders 
[2026-04-21 10:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:25:19] [INFO] Checking activity reminders 
[2026-04-21 10:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:25:34] [INFO] Checking activity reminders 
[2026-04-21 10:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:25:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:25:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:25:37] [INFO] generateDealTitle result {"contact_id":"local_69884dbd25c1b9.60273131","person_name":"عاعلی عاعلی","mobile":"9388534071","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9388534071"}
[2026-04-21 10:25:48] [INFO] Checking activity reminders 
[2026-04-21 10:25:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:25:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:25:49] [INFO] Checking activity reminders 
[2026-04-21 10:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:26:04] [INFO] Checking activity reminders 
[2026-04-21 10:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:26:05] [INFO] Checking activity reminders 
[2026-04-21 10:26:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:26:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:26:21] [INFO] Checking activity reminders 
[2026-04-21 10:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:26:32] [INFO] Checking activity reminders 
[2026-04-21 10:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:26:51] [INFO] Checking activity reminders 
[2026-04-21 10:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:27:02] [INFO] Checking activity reminders 
[2026-04-21 10:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:27:04] [INFO] Activity save request {"post_data":{"contact_id":"local_699ac3915763b4.19041363","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال شماره کارت تجارت 2 استاد \r\nواریز \r\nدسترسی به هوش خودرو ","activity_duration":"2","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 10:27:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:27:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 10:27:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 10:27:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:27:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_699ac3915763b4.19041363","note_was_empty":true}
[2026-04-21 10:27:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e71fc01c6333.95478559","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 10:27:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:27:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e71fc01c6333.95478559"}
[2026-04-21 10:27:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:27:04] [INFO] Updating virtual stage {"contact_id":"local_699ac3915763b4.19041363","stage_name":"with_purchase","force":false}
[2026-04-21 10:27:04] [INFO] Virtual stage successfully saved {"contact_id":"local_699ac3915763b4.19041363","stage_name":"with_purchase"}
[2026-04-21 10:27:04] [INFO] Virtual stage updated after activity save {"contact_id":"local_699ac3915763b4.19041363"}
[2026-04-21 10:27:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:27:21] [INFO] Checking activity reminders 
[2026-04-21 10:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:27:43] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 10:27:43] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-21 10:27:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 10:27:51] [INFO] Checking activity reminders 
[2026-04-21 10:27:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:27:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:28:21] [INFO] Checking activity reminders 
[2026-04-21 10:28:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:28:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:28:51] [INFO] Checking activity reminders 
[2026-04-21 10:28:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:28:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:29:21] [INFO] Checking activity reminders 
[2026-04-21 10:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:29:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 10:29:51] [INFO] Checking activity reminders 
[2026-04-21 10:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:30:13] [INFO] Checking activity reminders 
[2026-04-21 10:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:30:22] [INFO] Checking activity reminders 
[2026-04-21 10:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:30:43] [INFO] Checking activity reminders 
[2026-04-21 10:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:30:52] [INFO] Checking activity reminders 
[2026-04-21 10:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:13] [INFO] Checking activity reminders 
[2026-04-21 10:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:22] [INFO] Checking activity reminders 
[2026-04-21 10:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:24] [INFO] Checking activity reminders 
[2026-04-21 10:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:39] [INFO] Checking activity reminders 
[2026-04-21 10:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:39] [INFO] Checking activity reminders 
[2026-04-21 10:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:40] [INFO] Checking activity reminders 
[2026-04-21 10:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:31:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 10:31:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-21 10:31:52] [INFO] Checking activity reminders 
[2026-04-21 10:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:04] [INFO] Checking activity reminders 
[2026-04-21 10:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:10] [INFO] Checking activity reminders 
[2026-04-21 10:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:22] [INFO] Checking activity reminders 
[2026-04-21 10:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:24] [INFO] Checking activity reminders 
[2026-04-21 10:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:40] [INFO] Checking activity reminders 
[2026-04-21 10:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:47] [INFO] Checking activity reminders 
[2026-04-21 10:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:32:52] [INFO] Checking activity reminders 
[2026-04-21 10:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:09] [INFO] Checking activity reminders 
[2026-04-21 10:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:10] [INFO] Checking activity reminders 
[2026-04-21 10:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:22] [INFO] Checking activity reminders 
[2026-04-21 10:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:41] [INFO] Checking activity reminders 
[2026-04-21 10:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:43] [INFO] Checking activity reminders 
[2026-04-21 10:33:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:33:49] [INFO] Activity save request {"post_data":{"contact_id":"local_69884dbd25c1b9.60273131","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ازش زمین الان 6میلیارد شده \/ شریک \/ 150گرم طلا که 50 گرم از کانال عمومی سود کرده بود قبلا\/ \r\nمشاوره میخواست طلا بفروشه زمین بسازه خونه مصرف \/ کانال 6ماهه بیاد مشاوره بگیره بیشتر سیگنال داشته باشه تا 20 دقیقه مشاوره تلفنی","activity_duration":"30","direction":"incoming","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 10:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:33:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 10:33:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 10:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:33:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69884dbd25c1b9.60273131","note_was_empty":true}
[2026-04-21 10:33:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e72155476759.63236927","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 10:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:33:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e72155476759.63236927"}
[2026-04-21 10:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:33:49] [INFO] Updating virtual stage {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"deal_registered","force":false}
[2026-04-21 10:33:49] [INFO] Virtual stage successfully saved {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"deal_registered"}
[2026-04-21 10:33:49] [INFO] Virtual stage updated after activity save {"contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-21 10:33:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:33:52] [INFO] Checking activity reminders 
[2026-04-21 10:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:05] [INFO] Checking activity reminders 
[2026-04-21 10:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:13] [INFO] Checking activity reminders 
[2026-04-21 10:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:22] [INFO] Checking activity reminders 
[2026-04-21 10:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:29] [INFO] Checking activity reminders 
[2026-04-21 10:34:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:52] [INFO] Checking activity reminders 
[2026-04-21 10:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:34:57] [INFO] Activity save request {"post_data":{"contact_id":"1564","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"دسترسی به هوش خودرو ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 10:34:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 10:34:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 10:34:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1564","note_was_empty":true}
[2026-04-21 10:34:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"1564","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 10:34:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e72199747701.55354200","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 10:34:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e72199747701.55354200"}
[2026-04-21 10:34:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:57] [INFO] Updating virtual stage {"contact_id":"1564","stage_name":"deal_registered","force":false}
[2026-04-21 10:34:57] [INFO] Virtual stage successfully saved {"contact_id":"1564","stage_name":"deal_registered"}
[2026-04-21 10:34:57] [INFO] Virtual stage updated after activity save {"contact_id":"1564"}
[2026-04-21 10:34:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1564","person_id":"14895"}
[2026-04-21 10:34:59] [INFO] Checking activity reminders 
[2026-04-21 10:34:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:34:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:04] [INFO] Checking activity reminders 
[2026-04-21 10:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:13] [INFO] Checking activity reminders 
[2026-04-21 10:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:22] [INFO] Checking activity reminders 
[2026-04-21 10:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:30] [INFO] Checking activity reminders 
[2026-04-21 10:35:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:51] [INFO] Checking activity reminders 
[2026-04-21 10:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:35:52] [INFO] Checking activity reminders 
[2026-04-21 10:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:01] [INFO] Checking activity reminders 
[2026-04-21 10:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:04] [INFO] Checking activity reminders 
[2026-04-21 10:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:06] [INFO] Checking activity reminders 
[2026-04-21 10:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-21 10:36:20] [INFO] Checking activity reminders 
[2026-04-21 10:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:24] [INFO] Checking activity reminders 
[2026-04-21 10:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:36] [INFO] Checking activity reminders 
[2026-04-21 10:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:36:54] [INFO] Checking activity reminders 
[2026-04-21 10:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:00] [INFO] Checking activity reminders 
[2026-04-21 10:37:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:06] [INFO] Checking activity reminders 
[2026-04-21 10:37:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:07] [INFO] Checking activity reminders 
[2026-04-21 10:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:07] [INFO] Checking activity reminders 
[2026-04-21 10:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:37:15] [INFO] generateDealTitle result {"contact_id":"local_69884dbd25c1b9.60273131","person_name":"عاعلی عاعلی","mobile":"9388534071","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9388534071"}
[2026-04-21 10:37:22] [INFO] Checking activity reminders 
[2026-04-21 10:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:29] [INFO] Checking activity reminders 
[2026-04-21 10:37:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:36] [INFO] Checking activity reminders 
[2026-04-21 10:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:38] [INFO] Checking activity reminders 
[2026-04-21 10:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:39] [INFO] Checking activity reminders 
[2026-04-21 10:37:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:37:52] [INFO] Checking activity reminders 
[2026-04-21 10:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:06] [INFO] Checking activity reminders 
[2026-04-21 10:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:08] [INFO] Checking activity reminders 
[2026-04-21 10:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:28] [INFO] Checking activity reminders 
[2026-04-21 10:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:36] [INFO] Checking activity reminders 
[2026-04-21 10:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:38] [INFO] Checking activity reminders 
[2026-04-21 10:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:39] [INFO] Checking activity reminders 
[2026-04-21 10:38:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:38:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:38:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-21 10:39:06] [INFO] Checking activity reminders 
[2026-04-21 10:39:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:39:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:39:08] [INFO] Checking activity reminders 
[2026-04-21 10:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:39:33] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69884dbd25c1b9.60273131","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 10:39:33","session_id":"cojnke1jhgkct5erqhuspgls57"}
[2026-04-21 10:39:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:39:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69884dbd25c1b9.60273131","is_new_deal":true}
[2026-04-21 10:39:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 10:39:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 10:39:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 10:39:33] [INFO] getContactPrimaryPhone called {"contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-21 10:39:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:39:33] [INFO] getContactPrimaryPhone result {"contact_id":"local_69884dbd25c1b9.60273131","person_found":true,"primary_phone":"9388534071"}
[2026-04-21 10:39:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9388534071"}
[2026-04-21 10:39:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9388534071","contact_id":"local_69884dbd25c1b9.60273131","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-21 10:39:33"}
[2026-04-21 10:39:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:39:33] [INFO] generateDealTitle result {"contact_id":"local_69884dbd25c1b9.60273131","person_name":"عاعلی عاعلی","mobile":"9388534071","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9388534071"}
[2026-04-21 10:39:33] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69884dbd25c1b9.60273131","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-21 10:39:33] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69884dbd25c1b9.60273131","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 10:39:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69884dbd25c1b9.60273131","title":"معامله دوم 9388534071 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9388534071","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":9000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عاعلی عاعلی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-21 10:39:33","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-21 10:39:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:39:33] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-21 10:39:33] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69884dbd25c1b9.60273131","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9388534071 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":9000000,"server_time":"2026-04-21 10:39:33","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 10:39:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:39:36] [INFO] Checking activity reminders 
[2026-04-21 10:39:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:39:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:39:38] [INFO] Checking activity reminders 
[2026-04-21 10:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:39:52] [INFO] Checking activity reminders 
[2026-04-21 10:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:40:01] [INFO] Checking activity reminders 
[2026-04-21 10:40:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:40:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:40:06] [INFO] Checking activity reminders 
[2026-04-21 10:40:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:40:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:40:08] [INFO] Checking activity reminders 
[2026-04-21 10:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:40:37] [INFO] Checking activity reminders 
[2026-04-21 10:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:40:51] [INFO] Checking activity reminders 
[2026-04-21 10:40:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:40:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:41:07] [INFO] Checking activity reminders 
[2026-04-21 10:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:41:24] [INFO] Checking activity reminders 
[2026-04-21 10:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:41:37] [INFO] Checking activity reminders 
[2026-04-21 10:41:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:41:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:07] [INFO] Checking activity reminders 
[2026-04-21 10:42:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:42:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:11] [INFO] Checking activity reminders 
[2026-04-21 10:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:14] [INFO] Checking activity reminders 
[2026-04-21 10:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:34] [INFO] Checking activity reminders 
[2026-04-21 10:42:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:42:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:44] [INFO] Checking activity reminders 
[2026-04-21 10:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-21 10:43:14] [INFO] Checking activity reminders 
[2026-04-21 10:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:43:20] [INFO] Checking activity reminders 
[2026-04-21 10:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:43:33] [INFO] Checking activity reminders 
[2026-04-21 10:43:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:43:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:43:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-21 10:43:44] [INFO] Checking activity reminders 
[2026-04-21 10:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:07] [INFO] Checking activity reminders 
[2026-04-21 10:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:11] [INFO] Checking activity reminders 
[2026-04-21 10:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20871","person_id":"13389"}
[2026-04-21 10:44:25] [INFO] Checking activity reminders 
[2026-04-21 10:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:31] [INFO] Checking activity reminders 
[2026-04-21 10:44:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:34] [INFO] Checking activity reminders 
[2026-04-21 10:44:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:44:50] [INFO] Checking activity reminders 
[2026-04-21 10:44:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:44:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:45:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 10:45:04] [INFO] Checking activity reminders 
[2026-04-21 10:45:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:45:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:45:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-21 10:45:20] [INFO] Checking activity reminders 
[2026-04-21 10:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:45:34] [INFO] Checking activity reminders 
[2026-04-21 10:45:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:45:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:45:50] [INFO] Checking activity reminders 
[2026-04-21 10:45:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:45:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:46:04] [INFO] Checking activity reminders 
[2026-04-21 10:46:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:46:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:46:20] [INFO] Checking activity reminders 
[2026-04-21 10:46:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:46:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:46:34] [INFO] Checking activity reminders 
[2026-04-21 10:46:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:46:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:46:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:46:37] [INFO] Checking activity reminders 
[2026-04-21 10:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:46:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"869","person_id":"1754"}
[2026-04-21 10:46:51] [INFO] Checking activity reminders 
[2026-04-21 10:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:04] [INFO] Checking activity reminders 
[2026-04-21 10:47:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:07] [INFO] Checking activity reminders 
[2026-04-21 10:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:08] [INFO] Checking activity reminders 
[2026-04-21 10:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 10:47:21] [INFO] Checking activity reminders 
[2026-04-21 10:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:35] [INFO] Checking activity reminders 
[2026-04-21 10:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:38] [INFO] Checking activity reminders 
[2026-04-21 10:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:47:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-21 10:47:51] [INFO] Checking activity reminders 
[2026-04-21 10:47:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:47:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:05] [INFO] Checking activity reminders 
[2026-04-21 10:48:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:08] [INFO] Checking activity reminders 
[2026-04-21 10:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:21] [INFO] Checking activity reminders 
[2026-04-21 10:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:35] [INFO] Checking activity reminders 
[2026-04-21 10:48:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:39] [INFO] Checking activity reminders 
[2026-04-21 10:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:48:51] [INFO] Checking activity reminders 
[2026-04-21 10:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:05] [INFO] Checking activity reminders 
[2026-04-21 10:49:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:09] [INFO] Checking activity reminders 
[2026-04-21 10:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:21] [INFO] Checking activity reminders 
[2026-04-21 10:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:34] [INFO] Checking activity reminders 
[2026-04-21 10:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:39] [INFO] Checking activity reminders 
[2026-04-21 10:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:49:51] [INFO] Checking activity reminders 
[2026-04-21 10:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:04] [INFO] Checking activity reminders 
[2026-04-21 10:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:09] [INFO] Checking activity reminders 
[2026-04-21 10:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:13] [INFO] Checking activity reminders 
[2026-04-21 10:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:21] [INFO] Checking activity reminders 
[2026-04-21 10:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-21 10:50:39] [INFO] Checking activity reminders 
[2026-04-21 10:50:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:43] [INFO] Checking activity reminders 
[2026-04-21 10:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:50:51] [INFO] Checking activity reminders 
[2026-04-21 10:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:05] [INFO] Checking activity reminders 
[2026-04-21 10:51:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:09] [INFO] Checking activity reminders 
[2026-04-21 10:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:21] [INFO] Checking activity reminders 
[2026-04-21 10:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-21 10:51:35] [INFO] Checking activity reminders 
[2026-04-21 10:51:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:39] [INFO] Checking activity reminders 
[2026-04-21 10:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:44] [INFO] Checking activity reminders 
[2026-04-21 10:51:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:51:51] [INFO] Checking activity reminders 
[2026-04-21 10:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:01] [INFO] Checking activity reminders 
[2026-04-21 10:52:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:09] [INFO] Checking activity reminders 
[2026-04-21 10:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:11] [INFO] Activity save request {"post_data":{"contact_id":"21437","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه با خانومم صحبت کنم خودم خیلی دلم میخواد باشم ولی وقت ندارم الانم ماموریت هستم \/ خانومم تو کانال باشه شب اطلاع \r\n6ماهه یا تا اخر سال\r\nگفتم خودت زنگ زدی پس میخوایی دیگیه امروز و فردا کردنش چیه","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 10:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:52:11] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 10:52:11] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 10:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:52:11] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21437","note_was_empty":true}
[2026-04-21 10:52:11] [INFO] Didar write disabled; saving activity locally {"contact_id":"21437","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 10:52:11] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e725a36b1039.67015139","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 10:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:52:11] [INFO] Activity saved successfully {"activity_id":"local_activity_69e725a36b1039.67015139"}
[2026-04-21 10:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:52:11] [INFO] Updating virtual stage {"contact_id":"21437","stage_name":"deal_registered","force":false}
[2026-04-21 10:52:11] [INFO] Virtual stage successfully saved {"contact_id":"21437","stage_name":"deal_registered"}
[2026-04-21 10:52:11] [INFO] Virtual stage updated after activity save {"contact_id":"21437"}
[2026-04-21 10:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-21 10:52:21] [INFO] Checking activity reminders 
[2026-04-21 10:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:31] [INFO] Checking activity reminders 
[2026-04-21 10:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:39] [INFO] Checking activity reminders 
[2026-04-21 10:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:40] [INFO] Checking activity reminders 
[2026-04-21 10:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:52:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-21 10:53:09] [INFO] Checking activity reminders 
[2026-04-21 10:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:53:10] [INFO] Checking activity reminders 
[2026-04-21 10:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:53:20] [INFO] Checking activity reminders 
[2026-04-21 10:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:53:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:53:39] [INFO] Checking activity reminders 
[2026-04-21 10:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:53:40] [INFO] Checking activity reminders 
[2026-04-21 10:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:54:09] [INFO] Checking activity reminders 
[2026-04-21 10:54:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:54:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:54:11] [INFO] Checking activity reminders 
[2026-04-21 10:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:54:40] [INFO] Checking activity reminders 
[2026-04-21 10:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:54:41] [INFO] Checking activity reminders 
[2026-04-21 10:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:04] [INFO] Activity save request {"post_data":{"contact_id":"local_695e330ae80739.10790072","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پارسل از زمستون کانال بود هیچ کدوم از فعالیت هام نیست کلی پشتیبانی شده بود الان یادم نیست سبدش چطور بود اخر \/ تمدید کانال بهمن گفت نه شرایط فعلا اوکی نیست\r\nامروز تماس پیگیری ببینم میاد عدم پاسخ","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 10:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:55:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 10:55:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 10:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:55:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_695e330ae80739.10790072","note_was_empty":true}
[2026-04-21 10:55:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e72650965774.45141115","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 10:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:55:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e72650965774.45141115"}
[2026-04-21 10:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:55:04] [INFO] Updating virtual stage {"contact_id":"local_695e330ae80739.10790072","stage_name":"with_purchase","force":false}
[2026-04-21 10:55:04] [INFO] Virtual stage successfully saved {"contact_id":"local_695e330ae80739.10790072","stage_name":"with_purchase"}
[2026-04-21 10:55:04] [INFO] Virtual stage updated after activity save {"contact_id":"local_695e330ae80739.10790072"}
[2026-04-21 10:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695e330ae80739.10790072","person_id":"21556"}
[2026-04-21 10:55:10] [INFO] Checking activity reminders 
[2026-04-21 10:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:11] [INFO] Checking activity reminders 
[2026-04-21 10:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:20] [INFO] Checking activity reminders 
[2026-04-21 10:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:25] [INFO] Checking activity reminders 
[2026-04-21 10:55:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:40] [INFO] Checking activity reminders 
[2026-04-21 10:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:41] [INFO] Checking activity reminders 
[2026-04-21 10:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:41] [INFO] Checking activity reminders 
[2026-04-21 10:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:55:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-21 10:56:10] [INFO] Checking activity reminders 
[2026-04-21 10:56:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:56:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:56:11] [INFO] Checking activity reminders 
[2026-04-21 10:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:56:39] [INFO] Checking activity reminders 
[2026-04-21 10:56:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:56:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:56:40] [INFO] Checking activity reminders 
[2026-04-21 10:56:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:56:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:56:41] [INFO] Checking activity reminders 
[2026-04-21 10:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:57:10] [INFO] Checking activity reminders 
[2026-04-21 10:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:57:11] [INFO] Checking activity reminders 
[2026-04-21 10:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:57:40] [INFO] Checking activity reminders 
[2026-04-21 10:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:57:41] [INFO] Checking activity reminders 
[2026-04-21 10:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:57:56] [INFO] Checking activity reminders 
[2026-04-21 10:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:02] [INFO] Checking activity reminders 
[2026-04-21 10:58:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:11] [INFO] Checking activity reminders 
[2026-04-21 10:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:11] [INFO] Checking activity reminders 
[2026-04-21 10:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:15] [INFO] Checking activity reminders 
[2026-04-21 10:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 10:58:41] [INFO] Checking activity reminders 
[2026-04-21 10:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:42] [INFO] Checking activity reminders 
[2026-04-21 10:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:52] [INFO] Checking activity reminders 
[2026-04-21 10:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:58:59] [INFO] Checking activity reminders 
[2026-04-21 10:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:11] [INFO] Checking activity reminders 
[2026-04-21 10:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:12] [INFO] Checking activity reminders 
[2026-04-21 10:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:27] [INFO] Checking activity reminders 
[2026-04-21 10:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:41] [INFO] Checking activity reminders 
[2026-04-21 10:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:42] [INFO] Checking activity reminders 
[2026-04-21 10:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 10:59:55] [INFO] Checking activity reminders 
[2026-04-21 10:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 10:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:00:11] [INFO] Checking activity reminders 
[2026-04-21 11:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:00:24] [INFO] Checking activity reminders 
[2026-04-21 11:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:00:38] [INFO] Checking activity reminders 
[2026-04-21 11:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:00:41] [INFO] Checking activity reminders 
[2026-04-21 11:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:01:08] [INFO] Checking activity reminders 
[2026-04-21 11:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:01:11] [INFO] Checking activity reminders 
[2026-04-21 11:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:01:42] [INFO] Checking activity reminders 
[2026-04-21 11:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:02:12] [INFO] Checking activity reminders 
[2026-04-21 11:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:02:18] [INFO] Checking activity reminders 
[2026-04-21 11:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-21 11:02:42] [INFO] Checking activity reminders 
[2026-04-21 11:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:02:48] [INFO] Checking activity reminders 
[2026-04-21 11:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:03:08] [INFO] Checking activity reminders 
[2026-04-21 11:03:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:03:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:03:12] [INFO] Checking activity reminders 
[2026-04-21 11:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:03:42] [INFO] Checking activity reminders 
[2026-04-21 11:03:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:03:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:03:57] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_152","deal_id":"local_69e37c72611085.81763851","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک داد شرایط صحبت نداره خودش تماس میگیره ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:03:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 11:03:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:03:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_152","note_was_empty":true}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:03:57] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered","force":false}
[2026-04-21 11:03:57] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered"}
[2026-04-21 11:03:57] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-21 11:03:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e37c72611085.81763851","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-21 11:03:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e728659807c3.19143069","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:03:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e728659807c3.19143069"}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:03:57] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered","force":false}
[2026-04-21 11:03:57] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered"}
[2026-04-21 11:03:57] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-21 11:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-21 11:04:12] [INFO] Checking activity reminders 
[2026-04-21 11:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:04:18] [INFO] Checking activity reminders 
[2026-04-21 11:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:04:22] [INFO] Checking activity reminders 
[2026-04-21 11:04:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:04:45] [INFO] Checking activity reminders 
[2026-04-21 11:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:04:47] [INFO] Checking activity reminders 
[2026-04-21 11:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:04:48] [INFO] Checking activity reminders 
[2026-04-21 11:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:06] [INFO] Checking activity reminders 
[2026-04-21 11:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:05:15] [INFO] Checking activity reminders 
[2026-04-21 11:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:18] [INFO] Checking activity reminders 
[2026-04-21 11:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:40] [INFO] Checking activity reminders 
[2026-04-21 11:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:45] [INFO] Checking activity reminders 
[2026-04-21 11:05:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:05:48] [INFO] Checking activity reminders 
[2026-04-21 11:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:15] [INFO] Checking activity reminders 
[2026-04-21 11:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:15] [INFO] Checking activity reminders 
[2026-04-21 11:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:22] [INFO] Checking activity reminders 
[2026-04-21 11:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:26] [INFO] Checking activity reminders 
[2026-04-21 11:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:45] [INFO] Checking activity reminders 
[2026-04-21 11:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:06:46] [INFO] Checking activity reminders 
[2026-04-21 11:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:07:03] [INFO] Checking activity reminders 
[2026-04-21 11:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:07:13] [INFO] Checking activity reminders 
[2026-04-21 11:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:07:16] [INFO] Checking activity reminders 
[2026-04-21 11:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:07:41] [INFO] Checking activity reminders 
[2026-04-21 11:07:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:07:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:07:46] [INFO] Checking activity reminders 
[2026-04-21 11:07:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:07:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:08:05] [INFO] Checking activity reminders 
[2026-04-21 11:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:08:16] [INFO] Checking activity reminders 
[2026-04-21 11:08:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:08:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:08:46] [INFO] Checking activity reminders 
[2026-04-21 11:08:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:08:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:09:16] [INFO] Checking activity reminders 
[2026-04-21 11:09:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:09:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:09:31] [INFO] Checking activity reminders 
[2026-04-21 11:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:09:39] [INFO] Checking activity reminders 
[2026-04-21 11:09:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:09:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:09:46] [INFO] Checking activity reminders 
[2026-04-21 11:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:10:00] [INFO] Checking activity reminders 
[2026-04-21 11:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:10:16] [INFO] Checking activity reminders 
[2026-04-21 11:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:10:34] [INFO] Checking activity reminders 
[2026-04-21 11:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:10:47] [INFO] Checking activity reminders 
[2026-04-21 11:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:11:02] [INFO] Checking activity reminders 
[2026-04-21 11:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:11:17] [INFO] Checking activity reminders 
[2026-04-21 11:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:11:38] [INFO] Checking activity reminders 
[2026-04-21 11:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:11:47] [INFO] Checking activity reminders 
[2026-04-21 11:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:11:48] [INFO] Checking activity reminders 
[2026-04-21 11:11:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:11:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:12:17] [INFO] Checking activity reminders 
[2026-04-21 11:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:12:20] [INFO] Checking activity reminders 
[2026-04-21 11:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:12:22] [INFO] Checking activity reminders 
[2026-04-21 11:12:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:12:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:12:47] [INFO] Checking activity reminders 
[2026-04-21 11:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:12:52] [INFO] Checking activity reminders 
[2026-04-21 11:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:13:17] [INFO] Checking activity reminders 
[2026-04-21 11:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:13:47] [INFO] Checking activity reminders 
[2026-04-21 11:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:13:59] [INFO] Checking activity reminders 
[2026-04-21 11:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:14:10] [INFO] Checking activity reminders 
[2026-04-21 11:14:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:14:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:14:15] [INFO] Checking activity reminders 
[2026-04-21 11:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:14:17] [INFO] Checking activity reminders 
[2026-04-21 11:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:14:31] [INFO] Activity save request {"post_data":{"contact_id":"20974","deal_id":"local_69d691395fefb5.62385943","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"چک سنگین داشته \/ برگشت خورده \r\nحساب ها مسدود شده \r\nخودش تو فکر انجام تمدید هست \r\nفقط باید رفع مسدودی بشه ","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 11:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 11:14:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 11:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20974","note_was_empty":true}
[2026-04-21 11:14:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"20974","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 11:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:31] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-21 11:14:31] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-21 11:14:31] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-21 11:14:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d691395fefb5.62385943","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-21 11:14:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e72adfdec7b0.73182372","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 11:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e72adfdec7b0.73182372"}
[2026-04-21 11:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:31] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-21 11:14:31] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-21 11:14:31] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-21 11:14:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-21 11:14:38] [INFO] Checking activity reminders 
[2026-04-21 11:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:14:47] [INFO] Checking activity reminders 
[2026-04-21 11:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:15:13] [INFO] Checking activity reminders 
[2026-04-21 11:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:15:17] [INFO] Checking activity reminders 
[2026-04-21 11:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:15:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:15:47] [INFO] Checking activity reminders 
[2026-04-21 11:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:16:18] [INFO] Checking activity reminders 
[2026-04-21 11:16:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:16:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:16:33] [INFO] Activity save request {"post_data":{"contact_id":"11719","deal_id":"local_69db86d8dc6b82.46383571","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 11:16:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11719","note_was_empty":true}
[2026-04-21 11:16:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"11719","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:33] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"deal_registered","force":false}
[2026-04-21 11:16:33] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"deal_registered"}
[2026-04-21 11:16:33] [INFO] Virtual stage updated after activity save {"contact_id":"11719"}
[2026-04-21 11:16:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69db86d8dc6b82.46383571","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 11:16:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e72b596e4a79.38139021","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69e72b596e4a79.38139021"}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:33] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"deal_registered","force":false}
[2026-04-21 11:16:33] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"deal_registered"}
[2026-04-21 11:16:33] [INFO] Virtual stage updated after activity save {"contact_id":"11719"}
[2026-04-21 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-21 11:16:48] [INFO] Checking activity reminders 
[2026-04-21 11:16:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:16:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:17:18] [INFO] Checking activity reminders 
[2026-04-21 11:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:17:48] [INFO] Checking activity reminders 
[2026-04-21 11:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:18:18] [INFO] Checking activity reminders 
[2026-04-21 11:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:18:46] [INFO] Checking activity reminders 
[2026-04-21 11:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:18:48] [INFO] Checking activity reminders 
[2026-04-21 11:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:18:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9633","person_id":"3115"}
[2026-04-21 11:19:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9633","person_id":"3115"}
[2026-04-21 11:19:16] [INFO] Checking activity reminders 
[2026-04-21 11:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:19:18] [INFO] Checking activity reminders 
[2026-04-21 11:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:19:35] [INFO] Checking activity reminders 
[2026-04-21 11:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:19:48] [INFO] Checking activity reminders 
[2026-04-21 11:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:20:18] [INFO] Checking activity reminders 
[2026-04-21 11:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:20:48] [INFO] Checking activity reminders 
[2026-04-21 11:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:20:52] [INFO] Checking activity reminders 
[2026-04-21 11:20:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:20:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:21:18] [INFO] Checking activity reminders 
[2026-04-21 11:21:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:21:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:21:22] [INFO] Checking activity reminders 
[2026-04-21 11:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:21:30] [INFO] Checking activity reminders 
[2026-04-21 11:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:21:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-21 11:21:48] [INFO] Checking activity reminders 
[2026-04-21 11:21:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:21:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:21:52] [INFO] Checking activity reminders 
[2026-04-21 11:21:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:21:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:00] [INFO] Checking activity reminders 
[2026-04-21 11:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:14] [INFO] Checking activity reminders 
[2026-04-21 11:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:18] [INFO] Checking activity reminders 
[2026-04-21 11:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:22] [INFO] Checking activity reminders 
[2026-04-21 11:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:49] [INFO] Checking activity reminders 
[2026-04-21 11:22:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:22:52] [INFO] Checking activity reminders 
[2026-04-21 11:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:10] [INFO] Checking activity reminders 
[2026-04-21 11:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:19] [INFO] Checking activity reminders 
[2026-04-21 11:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:22] [INFO] Checking activity reminders 
[2026-04-21 11:23:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:26] [INFO] Checking activity reminders 
[2026-04-21 11:23:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:29] [INFO] Checking activity reminders 
[2026-04-21 11:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:49] [INFO] Checking activity reminders 
[2026-04-21 11:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:23:52] [INFO] Checking activity reminders 
[2026-04-21 11:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:06] [INFO] Checking activity reminders 
[2026-04-21 11:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:19] [INFO] Checking activity reminders 
[2026-04-21 11:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:22] [INFO] Checking activity reminders 
[2026-04-21 11:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:47] [INFO] Checking activity reminders 
[2026-04-21 11:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:49] [INFO] Checking activity reminders 
[2026-04-21 11:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:24:52] [INFO] Checking activity reminders 
[2026-04-21 11:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:09] [INFO] Checking activity reminders 
[2026-04-21 11:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:19] [INFO] Checking activity reminders 
[2026-04-21 11:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:23] [INFO] Checking activity reminders 
[2026-04-21 11:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:30] [INFO] Checking activity reminders 
[2026-04-21 11:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:43] [INFO] Checking activity reminders 
[2026-04-21 11:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:49] [INFO] Checking activity reminders 
[2026-04-21 11:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:25:53] [INFO] Checking activity reminders 
[2026-04-21 11:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:10] [INFO] Checking activity reminders 
[2026-04-21 11:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:19] [INFO] Checking activity reminders 
[2026-04-21 11:26:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:22] [INFO] Checking activity reminders 
[2026-04-21 11:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:23] [INFO] Checking activity reminders 
[2026-04-21 11:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:49] [INFO] Checking activity reminders 
[2026-04-21 11:26:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:26:53] [INFO] Checking activity reminders 
[2026-04-21 11:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:19] [INFO] Checking activity reminders 
[2026-04-21 11:27:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:23] [INFO] Checking activity reminders 
[2026-04-21 11:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:43] [INFO] Checking activity reminders 
[2026-04-21 11:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:49] [INFO] Checking activity reminders 
[2026-04-21 11:27:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:53] [INFO] Checking activity reminders 
[2026-04-21 11:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:27:56] [INFO] Checking activity reminders 
[2026-04-21 11:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:28:19] [INFO] Checking activity reminders 
[2026-04-21 11:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:28:23] [INFO] Checking activity reminders 
[2026-04-21 11:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:28:28] [INFO] Checking activity reminders 
[2026-04-21 11:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:28:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-21 11:28:50] [INFO] Checking activity reminders 
[2026-04-21 11:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:28:53] [INFO] Checking activity reminders 
[2026-04-21 11:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:01] [INFO] Checking activity reminders 
[2026-04-21 11:29:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:20] [INFO] Checking activity reminders 
[2026-04-21 11:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:23] [INFO] Checking activity reminders 
[2026-04-21 11:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:50] [INFO] Checking activity reminders 
[2026-04-21 11:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:51] [INFO] Checking activity reminders 
[2026-04-21 11:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:29:54] [INFO] Checking activity reminders 
[2026-04-21 11:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:30:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-21 11:30:20] [INFO] Checking activity reminders 
[2026-04-21 11:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:30:22] [INFO] Checking activity reminders 
[2026-04-21 11:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:30:24] [INFO] Checking activity reminders 
[2026-04-21 11:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:30:27] [INFO] Checking activity reminders 
[2026-04-21 11:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:30:50] [INFO] Checking activity reminders 
[2026-04-21 11:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:31:00] [INFO] Checking activity reminders 
[2026-04-21 11:31:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:31:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:31:20] [INFO] Checking activity reminders 
[2026-04-21 11:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:31:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-21 11:31:30] [INFO] Checking activity reminders 
[2026-04-21 11:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:31:45] [INFO] Checking activity reminders 
[2026-04-21 11:31:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:31:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:31:50] [INFO] Checking activity reminders 
[2026-04-21 11:31:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:31:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:32:20] [INFO] Checking activity reminders 
[2026-04-21 11:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:32:40] [INFO] Checking activity reminders 
[2026-04-21 11:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:32:50] [INFO] Checking activity reminders 
[2026-04-21 11:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:33:16] [INFO] Checking activity reminders 
[2026-04-21 11:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:33:20] [INFO] Checking activity reminders 
[2026-04-21 11:33:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:33:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:33:44] [INFO] Checking activity reminders 
[2026-04-21 11:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:33:51] [INFO] Checking activity reminders 
[2026-04-21 11:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:33:57] [INFO] Checking activity reminders 
[2026-04-21 11:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:34:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:34:28] [INFO] Checking activity reminders 
[2026-04-21 11:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:34:42] [INFO] Checking activity reminders 
[2026-04-21 11:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:34:58] [INFO] Checking activity reminders 
[2026-04-21 11:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:35:28] [INFO] Checking activity reminders 
[2026-04-21 11:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:35:58] [INFO] Checking activity reminders 
[2026-04-21 11:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:36:28] [INFO] Checking activity reminders 
[2026-04-21 11:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:36:58] [INFO] Checking activity reminders 
[2026-04-21 11:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:37:28] [INFO] Checking activity reminders 
[2026-04-21 11:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:37:58] [INFO] Checking activity reminders 
[2026-04-21 11:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:38:22] [INFO] Checking activity reminders 
[2026-04-21 11:38:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:38:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:38:28] [INFO] Checking activity reminders 
[2026-04-21 11:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:38:52] [INFO] Checking activity reminders 
[2026-04-21 11:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:38:58] [INFO] Checking activity reminders 
[2026-04-21 11:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:39:22] [INFO] Checking activity reminders 
[2026-04-21 11:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:39:29] [INFO] Checking activity reminders 
[2026-04-21 11:39:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:39:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:39:52] [INFO] Checking activity reminders 
[2026-04-21 11:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:39:59] [INFO] Checking activity reminders 
[2026-04-21 11:39:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:39:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:40:22] [INFO] Checking activity reminders 
[2026-04-21 11:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:40:29] [INFO] Checking activity reminders 
[2026-04-21 11:40:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:40:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:40:52] [INFO] Checking activity reminders 
[2026-04-21 11:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:40:59] [INFO] Checking activity reminders 
[2026-04-21 11:40:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:40:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:41:22] [INFO] Checking activity reminders 
[2026-04-21 11:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:41:29] [INFO] Checking activity reminders 
[2026-04-21 11:41:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:41:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:41:52] [INFO] Checking activity reminders 
[2026-04-21 11:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:41:59] [INFO] Checking activity reminders 
[2026-04-21 11:41:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:41:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:42:23] [INFO] Checking activity reminders 
[2026-04-21 11:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:42:29] [INFO] Checking activity reminders 
[2026-04-21 11:42:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:42:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:42:53] [INFO] Checking activity reminders 
[2026-04-21 11:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:42:59] [INFO] Checking activity reminders 
[2026-04-21 11:42:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:42:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:43:18] [INFO] Checking activity reminders 
[2026-04-21 11:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:43:29] [INFO] Checking activity reminders 
[2026-04-21 11:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:43:43] [INFO] Activity save request {"post_data":{"contact_id":"4641","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مشغول راه اندازی خدمات خودرویی \r\nپیج قوی داره با محدود شدن اینستا خیلی اسیب دیده \r\n1 ماهه کاسبی نداشته \r\nپرزنت 405 شش ماهه \r\nارسال پیام در بله \r\nچک کنه اطلاع میده ","activity_duration":"2","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:43:43] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 11:43:43] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:43:43] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4641","note_was_empty":true}
[2026-04-21 11:43:43] [INFO] Didar write disabled; saving activity locally {"contact_id":"4641","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 11:43:43] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e731b7acb0d6.61684198","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:43:43] [INFO] Activity saved successfully {"activity_id":"local_activity_69e731b7acb0d6.61684198"}
[2026-04-21 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:43:43] [INFO] Updating virtual stage {"contact_id":"4641","stage_name":"deal_registered","force":false}
[2026-04-21 11:43:43] [INFO] Virtual stage successfully saved {"contact_id":"4641","stage_name":"deal_registered"}
[2026-04-21 11:43:43] [INFO] Virtual stage updated after activity save {"contact_id":"4641"}
[2026-04-21 11:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4641","person_id":"19022"}
[2026-04-21 11:43:59] [INFO] Checking activity reminders 
[2026-04-21 11:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:44:29] [INFO] Checking activity reminders 
[2026-04-21 11:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:44:56] [INFO] Checking activity reminders 
[2026-04-21 11:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:45:00] [INFO] Checking activity reminders 
[2026-04-21 11:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Activity save request {"post_data":{"contact_id":"9893","deal_id":"local_69d61eff4c42f8.64487449","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 11:45:21] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9893","note_was_empty":true}
[2026-04-21 11:45:21] [INFO] Didar write disabled; saving activity locally {"contact_id":"9893","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Updating virtual stage {"contact_id":"9893","stage_name":"deal_registered","force":false}
[2026-04-21 11:45:21] [INFO] Virtual stage successfully saved {"contact_id":"9893","stage_name":"deal_registered"}
[2026-04-21 11:45:21] [INFO] Virtual stage updated after activity save {"contact_id":"9893"}
[2026-04-21 11:45:21] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d61eff4c42f8.64487449","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 11:45:21] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e732193f19f3.22483619","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Activity saved successfully {"activity_id":"local_activity_69e732193f19f3.22483619"}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:21] [INFO] Updating virtual stage {"contact_id":"9893","stage_name":"deal_registered","force":false}
[2026-04-21 11:45:21] [INFO] Virtual stage successfully saved {"contact_id":"9893","stage_name":"deal_registered"}
[2026-04-21 11:45:21] [INFO] Virtual stage updated after activity save {"contact_id":"9893"}
[2026-04-21 11:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9893","person_id":"4992"}
[2026-04-21 11:45:26] [INFO] Checking activity reminders 
[2026-04-21 11:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:45:30] [INFO] Checking activity reminders 
[2026-04-21 11:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:45:56] [INFO] Checking activity reminders 
[2026-04-21 11:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:46:00] [INFO] Checking activity reminders 
[2026-04-21 11:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:46:26] [INFO] Checking activity reminders 
[2026-04-21 11:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:46:30] [INFO] Checking activity reminders 
[2026-04-21 11:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:46:56] [INFO] Checking activity reminders 
[2026-04-21 11:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:47:00] [INFO] Checking activity reminders 
[2026-04-21 11:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:47:26] [INFO] Checking activity reminders 
[2026-04-21 11:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:47:30] [INFO] Checking activity reminders 
[2026-04-21 11:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:47:56] [INFO] Checking activity reminders 
[2026-04-21 11:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:48:00] [INFO] Checking activity reminders 
[2026-04-21 11:48:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:48:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:48:27] [INFO] Checking activity reminders 
[2026-04-21 11:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:48:30] [INFO] Checking activity reminders 
[2026-04-21 11:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:48:57] [INFO] Checking activity reminders 
[2026-04-21 11:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:49:00] [INFO] Checking activity reminders 
[2026-04-21 11:49:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:49:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:49:27] [INFO] Checking activity reminders 
[2026-04-21 11:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:49:30] [INFO] Checking activity reminders 
[2026-04-21 11:49:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:49:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:49:57] [INFO] Checking activity reminders 
[2026-04-21 11:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:50:00] [INFO] Checking activity reminders 
[2026-04-21 11:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:50:27] [INFO] Checking activity reminders 
[2026-04-21 11:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:50:30] [INFO] Checking activity reminders 
[2026-04-21 11:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:50:57] [INFO] Checking activity reminders 
[2026-04-21 11:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:51:00] [INFO] Checking activity reminders 
[2026-04-21 11:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:51:27] [INFO] Checking activity reminders 
[2026-04-21 11:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:51:30] [INFO] Checking activity reminders 
[2026-04-21 11:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:51:57] [INFO] Checking activity reminders 
[2026-04-21 11:51:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:51:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:52:00] [INFO] Checking activity reminders 
[2026-04-21 11:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:52:27] [INFO] Checking activity reminders 
[2026-04-21 11:52:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:52:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:52:30] [INFO] Checking activity reminders 
[2026-04-21 11:52:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:52:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:52:57] [INFO] Checking activity reminders 
[2026-04-21 11:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:53:01] [INFO] Checking activity reminders 
[2026-04-21 11:53:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:53:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:53:27] [INFO] Checking activity reminders 
[2026-04-21 11:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:53:31] [INFO] Checking activity reminders 
[2026-04-21 11:53:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:53:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:53:58] [INFO] Checking activity reminders 
[2026-04-21 11:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:54:01] [INFO] Checking activity reminders 
[2026-04-21 11:54:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:54:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:54:31] [INFO] Checking activity reminders 
[2026-04-21 11:54:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:54:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:55:01] [INFO] Checking activity reminders 
[2026-04-21 11:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:55:31] [INFO] Checking activity reminders 
[2026-04-21 11:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:56:01] [INFO] Checking activity reminders 
[2026-04-21 11:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:56:31] [INFO] Checking activity reminders 
[2026-04-21 11:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:57:01] [INFO] Checking activity reminders 
[2026-04-21 11:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:57:31] [INFO] Checking activity reminders 
[2026-04-21 11:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:58:01] [INFO] Checking activity reminders 
[2026-04-21 11:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:58:31] [INFO] Checking activity reminders 
[2026-04-21 11:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 11:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:01] [INFO] Checking activity reminders 
[2026-04-21 11:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:59:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 11:59:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:30] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:31] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:31] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:32] [INFO] Checking activity reminders 
[2026-04-21 11:59:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:59:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:59:33] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:33] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:37] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:37] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:37] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:37] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:40] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:41] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:42] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:42] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:42] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:42] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:43] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:44] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [INFO] Checking activity reminders 
[2026-04-21 11:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 11:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 11:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 11:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"get_leads"}
[2026-04-21 11:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:00:02] [INFO] Checking activity reminders 
[2026-04-21 12:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:00:02] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:00:02] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-21 12:00:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 12:00:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 12:00:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 12:00:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 12:00:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-21 12:00:15] [INFO] Checking activity reminders 
[2026-04-21 12:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-21 12:00:32] [INFO] Checking activity reminders 
[2026-04-21 12:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:00:45] [INFO] Checking activity reminders 
[2026-04-21 12:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:02] [INFO] Checking activity reminders 
[2026-04-21 12:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:15] [INFO] Checking activity reminders 
[2026-04-21 12:01:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:30] [INFO] Checking activity reminders 
[2026-04-21 12:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:32] [INFO] Checking activity reminders 
[2026-04-21 12:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:45] [INFO] Checking activity reminders 
[2026-04-21 12:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:01:59] [INFO] Checking activity reminders 
[2026-04-21 12:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:10] [INFO] Checking activity reminders 
[2026-04-21 12:02:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:15] [INFO] Checking activity reminders 
[2026-04-21 12:02:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:02:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-21 12:02:29] [INFO] Checking activity reminders 
[2026-04-21 12:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:45] [INFO] Checking activity reminders 
[2026-04-21 12:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:48] [INFO] Checking activity reminders 
[2026-04-21 12:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:58] [INFO] Checking activity reminders 
[2026-04-21 12:02:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:02:59] [INFO] Checking activity reminders 
[2026-04-21 12:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:03] [INFO] Checking activity reminders 
[2026-04-21 12:03:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:10] [INFO] Checking activity reminders 
[2026-04-21 12:03:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:16] [INFO] Checking activity reminders 
[2026-04-21 12:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:22] [INFO] Checking activity reminders 
[2026-04-21 12:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:34] [INFO] Checking activity reminders 
[2026-04-21 12:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:40] [INFO] Checking activity reminders 
[2026-04-21 12:03:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:03:46] [INFO] Checking activity reminders 
[2026-04-21 12:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:01] [INFO] Checking activity reminders 
[2026-04-21 12:04:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:04] [INFO] Checking activity reminders 
[2026-04-21 12:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:16] [INFO] Checking activity reminders 
[2026-04-21 12:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:25] [INFO] Checking activity reminders 
[2026-04-21 12:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:33] [INFO] Checking activity reminders 
[2026-04-21 12:04:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11923","person_id":"3869"}
[2026-04-21 12:04:37] [INFO] Checking activity reminders 
[2026-04-21 12:04:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:04:46] [INFO] Checking activity reminders 
[2026-04-21 12:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:03] [INFO] Checking activity reminders 
[2026-04-21 12:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-21 12:05:16] [INFO] Checking activity reminders 
[2026-04-21 12:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:33] [INFO] Checking activity reminders 
[2026-04-21 12:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:40] [INFO] Checking activity reminders 
[2026-04-21 12:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:43] [INFO] Checking activity reminders 
[2026-04-21 12:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:46] [INFO] Checking activity reminders 
[2026-04-21 12:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:51] [INFO] Checking activity reminders 
[2026-04-21 12:05:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:05:57] [INFO] Checking activity reminders 
[2026-04-21 12:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:03] [INFO] Checking activity reminders 
[2026-04-21 12:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:16] [INFO] Checking activity reminders 
[2026-04-21 12:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:06:19] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 12:06:19] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 12:06:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 12:06:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 12:06:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 12:06:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 12:06:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 12:06:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 12:06:33] [INFO] Checking activity reminders 
[2026-04-21 12:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:38] [INFO] Checking activity reminders 
[2026-04-21 12:06:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:46] [INFO] Checking activity reminders 
[2026-04-21 12:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:06:49] [INFO] Checking activity reminders 
[2026-04-21 12:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:07:01] [INFO] Checking activity reminders 
[2026-04-21 12:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:07:03] [INFO] Checking activity reminders 
[2026-04-21 12:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:07:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-21 12:07:16] [INFO] Checking activity reminders 
[2026-04-21 12:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:07:33] [INFO] Checking activity reminders 
[2026-04-21 12:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:07:47] [INFO] Checking activity reminders 
[2026-04-21 12:07:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:07:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:08:03] [INFO] Checking activity reminders 
[2026-04-21 12:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:08:17] [INFO] Checking activity reminders 
[2026-04-21 12:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:08:33] [INFO] Checking activity reminders 
[2026-04-21 12:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:08:47] [INFO] Checking activity reminders 
[2026-04-21 12:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:09:04] [INFO] Checking activity reminders 
[2026-04-21 12:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:09:17] [INFO] Checking activity reminders 
[2026-04-21 12:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:09:34] [INFO] Checking activity reminders 
[2026-04-21 12:09:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:09:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:09:35] [INFO] Checking activity reminders 
[2026-04-21 12:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:09:47] [INFO] Checking activity reminders 
[2026-04-21 12:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:10:04] [INFO] Checking activity reminders 
[2026-04-21 12:10:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:10:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:10:07] [INFO] Checking activity reminders 
[2026-04-21 12:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:10:17] [INFO] Checking activity reminders 
[2026-04-21 12:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:10:34] [INFO] Checking activity reminders 
[2026-04-21 12:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:10:47] [INFO] Checking activity reminders 
[2026-04-21 12:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:04] [INFO] Checking activity reminders 
[2026-04-21 12:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:11] [INFO] Checking activity reminders 
[2026-04-21 12:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:17] [INFO] Checking activity reminders 
[2026-04-21 12:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:11:34] [INFO] Checking activity reminders 
[2026-04-21 12:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:41] [INFO] Checking activity reminders 
[2026-04-21 12:11:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:11:47] [INFO] Checking activity reminders 
[2026-04-21 12:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:04] [INFO] Checking activity reminders 
[2026-04-21 12:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:05] [INFO] Checking activity reminders 
[2026-04-21 12:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:11] [INFO] Checking activity reminders 
[2026-04-21 12:12:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:15] [INFO] Checking activity reminders 
[2026-04-21 12:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:17] [INFO] Checking activity reminders 
[2026-04-21 12:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:34] [INFO] Checking activity reminders 
[2026-04-21 12:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:12:41] [INFO] Checking activity reminders 
[2026-04-21 12:12:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:12:47] [INFO] Checking activity reminders 
[2026-04-21 12:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:13:04] [INFO] Checking activity reminders 
[2026-04-21 12:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:13:17] [INFO] Checking activity reminders 
[2026-04-21 12:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:13:34] [INFO] Checking activity reminders 
[2026-04-21 12:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:13:48] [INFO] Checking activity reminders 
[2026-04-21 12:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:04] [INFO] Checking activity reminders 
[2026-04-21 12:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:18] [INFO] Checking activity reminders 
[2026-04-21 12:14:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:30] [INFO] Checking activity reminders 
[2026-04-21 12:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:34] [INFO] Checking activity reminders 
[2026-04-21 12:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:40] [INFO] Checking activity reminders 
[2026-04-21 12:14:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:47] [INFO] Checking activity reminders 
[2026-04-21 12:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:48] [INFO] Checking activity reminders 
[2026-04-21 12:14:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:14:59] [INFO] Checking activity reminders 
[2026-04-21 12:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:05] [INFO] Checking activity reminders 
[2026-04-21 12:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:13] [INFO] Checking activity reminders 
[2026-04-21 12:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:18] [INFO] Checking activity reminders 
[2026-04-21 12:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:35] [INFO] Checking activity reminders 
[2026-04-21 12:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:48] [INFO] Checking activity reminders 
[2026-04-21 12:15:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:15:57] [INFO] Checking activity reminders 
[2026-04-21 12:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:05] [INFO] Checking activity reminders 
[2026-04-21 12:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:18] [INFO] Checking activity reminders 
[2026-04-21 12:16:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:27] [INFO] Checking activity reminders 
[2026-04-21 12:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:16:35] [INFO] Checking activity reminders 
[2026-04-21 12:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:48] [INFO] Checking activity reminders 
[2026-04-21 12:16:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:56] [INFO] Checking activity reminders 
[2026-04-21 12:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:16:58] [INFO] Checking activity reminders 
[2026-04-21 12:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:00] [INFO] Checking activity reminders 
[2026-04-21 12:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:05] [INFO] Checking activity reminders 
[2026-04-21 12:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:05] [INFO] Checking activity reminders 
[2026-04-21 12:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:18] [INFO] Checking activity reminders 
[2026-04-21 12:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:35] [INFO] Checking activity reminders 
[2026-04-21 12:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:48] [INFO] Checking activity reminders 
[2026-04-21 12:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:17:55] [INFO] Checking activity reminders 
[2026-04-21 12:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:05] [INFO] Checking activity reminders 
[2026-04-21 12:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:18] [INFO] Checking activity reminders 
[2026-04-21 12:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:30] [INFO] Checking activity reminders 
[2026-04-21 12:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:35] [INFO] Checking activity reminders 
[2026-04-21 12:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:48] [INFO] Checking activity reminders 
[2026-04-21 12:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:18:54] [INFO] Checking activity reminders 
[2026-04-21 12:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:19:00] [INFO] Checking activity reminders 
[2026-04-21 12:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:19:18] [INFO] Checking activity reminders 
[2026-04-21 12:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:19:30] [INFO] Checking activity reminders 
[2026-04-21 12:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:19:48] [INFO] Checking activity reminders 
[2026-04-21 12:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:20:00] [INFO] Checking activity reminders 
[2026-04-21 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:20:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"987","deal_id":"local_69b316955557b9.12574454","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:20:10","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 12:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:20:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"987","is_new_deal":false}
[2026-04-21 12:20:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 12:20:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:20:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:20:10] [INFO] getContactPrimaryPhone called {"contact_id":"987"}
[2026-04-21 12:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:20:10] [INFO] getContactPrimaryPhone result {"contact_id":"987","person_found":true,"primary_phone":"9168768819"}
[2026-04-21 12:20:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9168768819"}
[2026-04-21 12:20:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9168768819","contact_id":"987","deal_id":"local_69b316955557b9.12574454","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:20:10"}
[2026-04-21 12:20:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","existing_deal_found":true,"existing_contact_id":"987","existing_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:20:10"}
[2026-04-21 12:20:10] [INFO] DealController.save validated payments {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-21 12:20:10] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"987","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 12:20:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b316955557b9.12574454","contact_didar_id":"987","title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","base_title_used":"معامله ششم 9168768819","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":64000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69b316955557b9.12574454","existing_deal_status":"Pending","server_time":"2026-04-21 12:20:10","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 12:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:20:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b316955557b9.12574454","contact_id":"987","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":64000000,"server_time":"2026-04-21 12:20:10","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 12:20:13] [INFO] Checking activity reminders 
[2026-04-21 12:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:20:18] [INFO] Checking activity reminders 
[2026-04-21 12:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:20:43] [INFO] Checking activity reminders 
[2026-04-21 12:20:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:20:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:20:49] [INFO] Checking activity reminders 
[2026-04-21 12:20:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:20:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:13] [INFO] Checking activity reminders 
[2026-04-21 12:21:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:15] [INFO] Checking activity reminders 
[2026-04-21 12:21:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:19] [INFO] Checking activity reminders 
[2026-04-21 12:21:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-21 12:21:43] [INFO] Checking activity reminders 
[2026-04-21 12:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:45] [INFO] Checking activity reminders 
[2026-04-21 12:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:21:49] [INFO] Checking activity reminders 
[2026-04-21 12:21:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:21:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:13] [INFO] Checking activity reminders 
[2026-04-21 12:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:14] [INFO] Checking activity reminders 
[2026-04-21 12:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:19] [INFO] Checking activity reminders 
[2026-04-21 12:22:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:21] [INFO] Checking activity reminders 
[2026-04-21 12:22:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:23] [INFO] Checking activity reminders 
[2026-04-21 12:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:22:34] [INFO] Checking activity reminders 
[2026-04-21 12:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:49] [INFO] Checking activity reminders 
[2026-04-21 12:22:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:51] [INFO] Checking activity reminders 
[2026-04-21 12:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:22:55] [INFO] Checking activity reminders 
[2026-04-21 12:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:23:16] [INFO] Checking activity reminders 
[2026-04-21 12:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:23:19] [INFO] Checking activity reminders 
[2026-04-21 12:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:23:21] [INFO] Checking activity reminders 
[2026-04-21 12:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:23:49] [INFO] Checking activity reminders 
[2026-04-21 12:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:23:51] [INFO] Checking activity reminders 
[2026-04-21 12:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:24:19] [INFO] Checking activity reminders 
[2026-04-21 12:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:24:21] [INFO] Checking activity reminders 
[2026-04-21 12:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:24:49] [INFO] Checking activity reminders 
[2026-04-21 12:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:24:51] [INFO] Checking activity reminders 
[2026-04-21 12:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:25:19] [INFO] Checking activity reminders 
[2026-04-21 12:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:25:21] [INFO] Checking activity reminders 
[2026-04-21 12:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:25:50] [INFO] Checking activity reminders 
[2026-04-21 12:25:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:25:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:25:51] [INFO] Checking activity reminders 
[2026-04-21 12:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:01] [INFO] Checking activity reminders 
[2026-04-21 12:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:20] [INFO] Checking activity reminders 
[2026-04-21 12:26:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:21] [INFO] Checking activity reminders 
[2026-04-21 12:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:23] [INFO] Checking activity reminders 
[2026-04-21 12:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-21 12:26:50] [INFO] Checking activity reminders 
[2026-04-21 12:26:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:52] [INFO] Checking activity reminders 
[2026-04-21 12:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:26:53] [INFO] Checking activity reminders 
[2026-04-21 12:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:27:20] [INFO] Checking activity reminders 
[2026-04-21 12:27:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:27:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:27:22] [INFO] Checking activity reminders 
[2026-04-21 12:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:27:23] [INFO] Checking activity reminders 
[2026-04-21 12:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:27:50] [INFO] Checking activity reminders 
[2026-04-21 12:27:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:27:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:27:52] [INFO] Checking activity reminders 
[2026-04-21 12:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:02] [INFO] Checking activity reminders 
[2026-04-21 12:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:16] [INFO] Checking activity reminders 
[2026-04-21 12:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:20] [INFO] Checking activity reminders 
[2026-04-21 12:28:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:22] [INFO] Checking activity reminders 
[2026-04-21 12:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:22] [INFO] Activity save request {"post_data":{"contact_id":"7335","deal_id":"local_69bbae582f3562.35010219","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 12:28:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7335","note_was_empty":true}
[2026-04-21 12:28:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"7335","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:22] [INFO] Updating virtual stage {"contact_id":"7335","stage_name":"deal_registered","force":false}
[2026-04-21 12:28:22] [INFO] Virtual stage successfully saved {"contact_id":"7335","stage_name":"deal_registered"}
[2026-04-21 12:28:22] [INFO] Virtual stage updated after activity save {"contact_id":"7335"}
[2026-04-21 12:28:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbae582f3562.35010219","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 12:28:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e73c2e6b3652.56835538","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e73c2e6b3652.56835538"}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:22] [INFO] Updating virtual stage {"contact_id":"7335","stage_name":"deal_registered","force":false}
[2026-04-21 12:28:22] [INFO] Virtual stage successfully saved {"contact_id":"7335","stage_name":"deal_registered"}
[2026-04-21 12:28:22] [INFO] Virtual stage updated after activity save {"contact_id":"7335"}
[2026-04-21 12:28:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-21 12:28:35] [INFO] Checking activity reminders 
[2026-04-21 12:28:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-21 12:28:50] [INFO] Checking activity reminders 
[2026-04-21 12:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:28:52] [INFO] Checking activity reminders 
[2026-04-21 12:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:20] [INFO] Checking activity reminders 
[2026-04-21 12:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:22] [INFO] Checking activity reminders 
[2026-04-21 12:29:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:24] [INFO] Checking activity reminders 
[2026-04-21 12:29:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:50] [INFO] Checking activity reminders 
[2026-04-21 12:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:52] [INFO] Checking activity reminders 
[2026-04-21 12:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:29:54] [INFO] Checking activity reminders 
[2026-04-21 12:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:20] [INFO] Checking activity reminders 
[2026-04-21 12:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:22] [INFO] Checking activity reminders 
[2026-04-21 12:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:22] [INFO] Checking activity reminders 
[2026-04-21 12:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:38] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:38] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"check_reminders"}
[2026-04-21 12:30:38] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:39] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 12:30:41] [INFO] Checking activity reminders 
[2026-04-21 12:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:50] [INFO] Checking activity reminders 
[2026-04-21 12:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:30:52] [INFO] Checking activity reminders 
[2026-04-21 12:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:06] [INFO] Checking activity reminders 
[2026-04-21 12:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:20] [INFO] Checking activity reminders 
[2026-04-21 12:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:22] [INFO] Checking activity reminders 
[2026-04-21 12:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:50] [INFO] Checking activity reminders 
[2026-04-21 12:31:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:51] [INFO] Checking activity reminders 
[2026-04-21 12:31:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:31:52] [INFO] Checking activity reminders 
[2026-04-21 12:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:21] [INFO] Checking activity reminders 
[2026-04-21 12:32:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:21] [INFO] Checking activity reminders 
[2026-04-21 12:32:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:22] [INFO] Checking activity reminders 
[2026-04-21 12:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:40] [INFO] Checking activity reminders 
[2026-04-21 12:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:44] [INFO] Checking activity reminders 
[2026-04-21 12:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:51] [INFO] Checking activity reminders 
[2026-04-21 12:32:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:32:52] [INFO] Checking activity reminders 
[2026-04-21 12:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:33:21] [INFO] Checking activity reminders 
[2026-04-21 12:33:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:33:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:33:22] [INFO] Checking activity reminders 
[2026-04-21 12:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:33:51] [INFO] Checking activity reminders 
[2026-04-21 12:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:33:53] [INFO] Checking activity reminders 
[2026-04-21 12:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:17] [INFO] Checking activity reminders 
[2026-04-21 12:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:21] [INFO] Checking activity reminders 
[2026-04-21 12:34:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:23] [INFO] Checking activity reminders 
[2026-04-21 12:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:26] [INFO] Checking activity reminders 
[2026-04-21 12:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:51] [INFO] Checking activity reminders 
[2026-04-21 12:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:34:53] [INFO] Checking activity reminders 
[2026-04-21 12:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:35:21] [INFO] Checking activity reminders 
[2026-04-21 12:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:35:23] [INFO] Checking activity reminders 
[2026-04-21 12:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:35:51] [INFO] Checking activity reminders 
[2026-04-21 12:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:35:53] [INFO] Checking activity reminders 
[2026-04-21 12:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:36:21] [INFO] Checking activity reminders 
[2026-04-21 12:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:36:23] [INFO] Checking activity reminders 
[2026-04-21 12:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:36:51] [INFO] Checking activity reminders 
[2026-04-21 12:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:36:53] [INFO] Checking activity reminders 
[2026-04-21 12:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:37:21] [INFO] Checking activity reminders 
[2026-04-21 12:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:37:23] [INFO] Checking activity reminders 
[2026-04-21 12:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:37:51] [INFO] Checking activity reminders 
[2026-04-21 12:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:37:53] [INFO] Checking activity reminders 
[2026-04-21 12:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:38:21] [INFO] Checking activity reminders 
[2026-04-21 12:38:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:38:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:38:23] [INFO] Checking activity reminders 
[2026-04-21 12:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:38:51] [INFO] Checking activity reminders 
[2026-04-21 12:38:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:38:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:38:53] [INFO] Checking activity reminders 
[2026-04-21 12:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:39:10] [INFO] Checking activity reminders 
[2026-04-21 12:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:39:22] [INFO] Checking activity reminders 
[2026-04-21 12:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:39:34] [INFO] Checking activity reminders 
[2026-04-21 12:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:39:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:39:52] [INFO] Checking activity reminders 
[2026-04-21 12:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:39:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:39:58","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 12:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:39:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3985","is_new_deal":false}
[2026-04-21 12:39:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:39:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:39:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:39:58] [INFO] getContactPrimaryPhone called {"contact_id":"3985"}
[2026-04-21 12:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:39:58] [INFO] getContactPrimaryPhone result {"contact_id":"3985","person_found":true,"primary_phone":"9131920166"}
[2026-04-21 12:39:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131920166"}
[2026-04-21 12:39:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131920166","contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:39:58"}
[2026-04-21 12:39:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","existing_deal_found":true,"existing_contact_id":"3985","existing_title":"معامله اول 9131920166 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:39:58"}
[2026-04-21 12:39:58] [INFO] DealController.save validated payments {"deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-21 12:39:58] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3985","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 12:39:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694fa0e99ee6a6.87234985","contact_didar_id":"3985","title":"معامله اول 9131920166 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9131920166","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسین شمسی","existing_deal":"YES","existing_deal_id":"local_694fa0e99ee6a6.87234985","existing_deal_status":"Pending","server_time":"2026-04-21 12:39:58","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 12:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:39:58] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9131920166 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-21 12:39:58","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:39:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:40:04] [INFO] Checking activity reminders 
[2026-04-21 12:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:40:22] [INFO] Checking activity reminders 
[2026-04-21 12:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:40:34] [INFO] Checking activity reminders 
[2026-04-21 12:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:40:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"2022","deal_id":"local_69b73345998f46.39934502","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:40:46","session_id":"cojnke1jhgkct5erqhuspgls57"}
[2026-04-21 12:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:40:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"2022","is_new_deal":false}
[2026-04-21 12:40:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:40:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:40:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:40:46] [INFO] getContactPrimaryPhone called {"contact_id":"2022"}
[2026-04-21 12:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:40:46] [INFO] getContactPrimaryPhone result {"contact_id":"2022","person_found":true,"primary_phone":"9100642942"}
[2026-04-21 12:40:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9100642942"}
[2026-04-21 12:40:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9100642942","contact_id":"2022","deal_id":"local_69b73345998f46.39934502","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-21 12:40:46"}
[2026-04-21 12:40:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b73345998f46.39934502","contact_id":"2022","existing_deal_found":true,"existing_contact_id":"2022","existing_title":"معامله دوم 9100642942 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-21 12:40:46"}
[2026-04-21 12:40:46] [INFO] DealController.save validated payments {"deal_id":"local_69b73345998f46.39934502","contact_id":"2022","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-21 12:40:46] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"2022","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 12:40:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b73345998f46.39934502","contact_didar_id":"2022","title":"معامله دوم 9100642942 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9100642942","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"امیرحسین وفا","existing_deal":"YES","existing_deal_id":"local_69b73345998f46.39934502","existing_deal_status":"Pending","server_time":"2026-04-21 12:40:46","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-21 12:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:40:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b73345998f46.39934502","contact_id":"2022","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9100642942 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-21 12:40:46","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:40:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:40:52] [INFO] Checking activity reminders 
[2026-04-21 12:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:41:04] [INFO] Checking activity reminders 
[2026-04-21 12:41:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:41:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:41:22] [INFO] Checking activity reminders 
[2026-04-21 12:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:41:34] [INFO] Checking activity reminders 
[2026-04-21 12:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:41:52] [INFO] Checking activity reminders 
[2026-04-21 12:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:42:04] [INFO] Checking activity reminders 
[2026-04-21 12:42:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:42:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:42:05] [INFO] Activity save request {"post_data":{"contact_id":"2022","deal_id":"local_69b73345998f46.39934502","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال ش کارت بیعانه امروز تسویه 10 اردیبهشت چک داره\/ زمین 2183 متر باغی مادرش نمیزاره بفروشه سرما زده میوه ها خراب شدن \/ 64 گرم طلا \/ ماشین ها رو پارسال مشکلی پیش اومده رد کرده رفته \/ 1500 از حسابش یکی هک کرده خالی کرده\r\n","activity_duration":"20","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 12:42:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2022","note_was_empty":true}
[2026-04-21 12:42:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"2022","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:05] [INFO] Updating virtual stage {"contact_id":"2022","stage_name":"deal_registered","force":false}
[2026-04-21 12:42:05] [INFO] Virtual stage successfully saved {"contact_id":"2022","stage_name":"deal_registered"}
[2026-04-21 12:42:05] [INFO] Virtual stage updated after activity save {"contact_id":"2022"}
[2026-04-21 12:42:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b73345998f46.39934502","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-21 12:42:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e73f651d4249.17858579","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e73f651d4249.17858579"}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:05] [INFO] Updating virtual stage {"contact_id":"2022","stage_name":"deal_registered","force":false}
[2026-04-21 12:42:05] [INFO] Virtual stage successfully saved {"contact_id":"2022","stage_name":"deal_registered"}
[2026-04-21 12:42:05] [INFO] Virtual stage updated after activity save {"contact_id":"2022"}
[2026-04-21 12:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2022","person_id":"14616"}
[2026-04-21 12:42:22] [INFO] Checking activity reminders 
[2026-04-21 12:42:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:42:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:42:35] [INFO] Checking activity reminders 
[2026-04-21 12:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:42:52] [INFO] Checking activity reminders 
[2026-04-21 12:42:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:42:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:43:05] [INFO] Checking activity reminders 
[2026-04-21 12:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:43:22] [INFO] Checking activity reminders 
[2026-04-21 12:43:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:43:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:43:35] [INFO] Checking activity reminders 
[2026-04-21 12:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:43:36] [INFO] Activity save request {"post_data":{"contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"قراره سرمایه فروش سوله دستش بیاد \r\nپرزنت 6 ماهه کانال 405 \r\nنوسان گیری و سیو سود کردن \r\nارسال شماره شبا در پیامک ","activity_duration":"8","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 12:43:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3985","note_was_empty":true}
[2026-04-21 12:43:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"3985","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:36] [INFO] Updating virtual stage {"contact_id":"3985","stage_name":"deal_registered","force":false}
[2026-04-21 12:43:36] [INFO] Virtual stage successfully saved {"contact_id":"3985","stage_name":"deal_registered"}
[2026-04-21 12:43:36] [INFO] Virtual stage updated after activity save {"contact_id":"3985"}
[2026-04-21 12:43:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694fa0e99ee6a6.87234985","stage":"تماس پیگیری","status_change":null}
[2026-04-21 12:43:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e73fc0bb9408.99336822","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e73fc0bb9408.99336822"}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:36] [INFO] Updating virtual stage {"contact_id":"3985","stage_name":"deal_registered","force":false}
[2026-04-21 12:43:36] [INFO] Virtual stage successfully saved {"contact_id":"3985","stage_name":"deal_registered"}
[2026-04-21 12:43:36] [INFO] Virtual stage updated after activity save {"contact_id":"3985"}
[2026-04-21 12:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:43:46","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 12:43:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3985","is_new_deal":false}
[2026-04-21 12:43:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:43:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:43:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 12:43:46] [INFO] getContactPrimaryPhone called {"contact_id":"3985"}
[2026-04-21 12:43:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:46] [INFO] getContactPrimaryPhone result {"contact_id":"3985","person_found":true,"primary_phone":"9131920166"}
[2026-04-21 12:43:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131920166"}
[2026-04-21 12:43:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131920166","contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:43:46"}
[2026-04-21 12:43:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","existing_deal_found":true,"existing_contact_id":"3985","existing_title":"معامله اول 9131920166 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 12:43:46"}
[2026-04-21 12:43:46] [INFO] DealController.save validated payments {"deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-21 12:43:46] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3985","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 12:43:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694fa0e99ee6a6.87234985","contact_didar_id":"3985","title":"معامله اول 9131920166 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9131920166","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسین شمسی","existing_deal":"YES","existing_deal_id":"local_694fa0e99ee6a6.87234985","existing_deal_status":"Pending","server_time":"2026-04-21 12:43:46","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 12:43:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694fa0e99ee6a6.87234985","contact_id":"3985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9131920166 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-21 12:43:46","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:43:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-21 12:43:52] [INFO] Checking activity reminders 
[2026-04-21 12:43:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:43:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:44:05] [INFO] Checking activity reminders 
[2026-04-21 12:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:44:22] [INFO] Checking activity reminders 
[2026-04-21 12:44:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:44:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:44:35] [INFO] Checking activity reminders 
[2026-04-21 12:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:44:52] [INFO] Checking activity reminders 
[2026-04-21 12:44:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:44:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:45:05] [INFO] Checking activity reminders 
[2026-04-21 12:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:45:23] [INFO] Checking activity reminders 
[2026-04-21 12:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:45:35] [INFO] Checking activity reminders 
[2026-04-21 12:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:45:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5ce4ec42221.38944867","person_id":"21863"}
[2026-04-21 12:45:53] [INFO] Checking activity reminders 
[2026-04-21 12:45:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:45:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:46:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:46:05] [INFO] Checking activity reminders 
[2026-04-21 12:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:46:23] [INFO] Checking activity reminders 
[2026-04-21 12:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:46:36] [INFO] Checking activity reminders 
[2026-04-21 12:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:46:53] [INFO] Checking activity reminders 
[2026-04-21 12:46:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:46:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:47:06] [INFO] Checking activity reminders 
[2026-04-21 12:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:47:23] [INFO] Checking activity reminders 
[2026-04-21 12:47:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:47:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:47:36] [INFO] Checking activity reminders 
[2026-04-21 12:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:47:53] [INFO] Checking activity reminders 
[2026-04-21 12:47:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:47:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:48:06] [INFO] Checking activity reminders 
[2026-04-21 12:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:48:07] [INFO] Activity save request {"post_data":{"contact_id":"local_69b6adf91f49f9.11759904","deal_id":"local_69b6adf921eaf","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری یک ساعت دیگه تماس","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 12:48:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b6adf91f49f9.11759904","note_was_empty":true}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:07] [INFO] Updating virtual stage {"contact_id":"local_69b6adf91f49f9.11759904","stage_name":"deal_registered","force":false}
[2026-04-21 12:48:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6adf91f49f9.11759904","stage_name":"deal_registered"}
[2026-04-21 12:48:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6adf91f49f9.11759904"}
[2026-04-21 12:48:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6adf921eaf","stage":"تماس پیگیری","status_change":null}
[2026-04-21 12:48:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e740cf31b2a3.89561249","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69e740cf31b2a3.89561249"}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:07] [INFO] Updating virtual stage {"contact_id":"local_69b6adf91f49f9.11759904","stage_name":"deal_registered","force":false}
[2026-04-21 12:48:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6adf91f49f9.11759904","stage_name":"deal_registered"}
[2026-04-21 12:48:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6adf91f49f9.11759904"}
[2026-04-21 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6adf91f49f9.11759904","person_id":"21867"}
[2026-04-21 12:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 12:48:23] [INFO] Checking activity reminders 
[2026-04-21 12:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:48:36] [INFO] Checking activity reminders 
[2026-04-21 12:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:48:53] [INFO] Checking activity reminders 
[2026-04-21 12:48:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:48:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:49:06] [INFO] Checking activity reminders 
[2026-04-21 12:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:49:23] [INFO] Checking activity reminders 
[2026-04-21 12:49:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:49:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:49:36] [INFO] Checking activity reminders 
[2026-04-21 12:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:49:53] [INFO] Checking activity reminders 
[2026-04-21 12:49:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:49:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:50:06] [INFO] Checking activity reminders 
[2026-04-21 12:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:50:23] [INFO] Checking activity reminders 
[2026-04-21 12:50:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:50:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:50:53] [INFO] Checking activity reminders 
[2026-04-21 12:50:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:50:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:51:23] [INFO] Checking activity reminders 
[2026-04-21 12:51:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:51:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:51:53] [INFO] Checking activity reminders 
[2026-04-21 12:51:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:51:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:52:15] [INFO] Checking activity reminders 
[2026-04-21 12:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:52:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:52:46] [INFO] Checking activity reminders 
[2026-04-21 12:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:52:47] [INFO] Checking activity reminders 
[2026-04-21 12:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:52:56] [INFO] Lead update received {"contact_id":"11392","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:52:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:52:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:52:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:52:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11392"}
[2026-04-21 12:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:53:17] [INFO] Checking activity reminders 
[2026-04-21 12:53:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:53:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:53:34] [INFO] Checking activity reminders 
[2026-04-21 12:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:53:35] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 12:53:50] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9226069157","09226069157"]}
[2026-04-21 12:53:50] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9226069157","09226069157"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-21 12:53:50] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9226069157","full_name":"لید جدید"}
[2026-04-21 12:53:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 12:53:50] [INFO] Notification created {"notification_id":"663","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-21 12:53:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:54:05] [INFO] Checking activity reminders 
[2026-04-21 12:54:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:54:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:54:11] [INFO] Checking activity reminders 
[2026-04-21 12:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:54:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:54:35] [INFO] Checking activity reminders 
[2026-04-21 12:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:54:41] [INFO] Checking activity reminders 
[2026-04-21 12:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:54:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2756","deal_id":"local_6953b4882e0a78.21976351","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:54:44","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-21 12:54:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:54:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2756","is_new_deal":false}
[2026-04-21 12:54:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 12:54:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:54:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:54:44] [INFO] getContactPrimaryPhone called {"contact_id":"2756"}
[2026-04-21 12:54:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:54:44] [INFO] getContactPrimaryPhone result {"contact_id":"2756","person_found":true,"primary_phone":"9159209427"}
[2026-04-21 12:54:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9159209427"}
[2026-04-21 12:54:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9159209427","contact_id":"2756","deal_id":"local_6953b4882e0a78.21976351","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-21 12:54:44"}
[2026-04-21 12:54:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","existing_deal_found":true,"existing_contact_id":"2756","existing_title":"معامله دوم 9159209427 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-21 12:54:44"}
[2026-04-21 12:54:44] [INFO] DealController.save validated payments {"deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-21 12:54:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2756","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-21 12:54:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953b4882e0a78.21976351","contact_didar_id":"2756","title":"معامله دوم 9159209427 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9159209427","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"آقای فولادی","existing_deal":"YES","existing_deal_id":"local_6953b4882e0a78.21976351","existing_deal_status":"Pending","server_time":"2026-04-21 12:54:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-21 12:54:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:54:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9159209427 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-21 12:54:44","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:54:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:54:50] [INFO] Checking activity reminders 
[2026-04-21 12:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:54:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 12:55:05] [INFO] Checking activity reminders 
[2026-04-21 12:55:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:55:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:55:21] [INFO] Checking activity reminders 
[2026-04-21 12:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:55:26] [INFO] Lead update received {"contact_id":"1287","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:55:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 12:55:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 12:55:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 12:55:26] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1287"}
[2026-04-21 12:55:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 12:55:32] [INFO] Checking activity reminders 
[2026-04-21 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:55:35] [INFO] Checking activity reminders 
[2026-04-21 12:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:55:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:55:51] [INFO] Activity save request {"post_data":{"contact_id":"local_69884dbd25c1b9.60273131","deal_id":"local_69e722addccd98.69412847","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تسویه شد 6ماهه تا اخر مهر","activity_duration":"4","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 12:55:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69884dbd25c1b9.60273131","note_was_empty":true}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Updating virtual stage {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"with_purchase","force":false}
[2026-04-21 12:55:51] [INFO] Virtual stage successfully saved {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"with_purchase"}
[2026-04-21 12:55:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e722addccd98.69412847","stage":"اتمام","status_change":"Won"}
[2026-04-21 12:55:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7429fa51175.25060397","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7429fa51175.25060397"}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:51] [INFO] Updating virtual stage {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"with_purchase","force":false}
[2026-04-21 12:55:51] [INFO] Virtual stage successfully saved {"contact_id":"local_69884dbd25c1b9.60273131","stage_name":"with_purchase"}
[2026-04-21 12:55:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-21 12:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-21 12:55:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2756","deal_id":"local_6953b4882e0a78.21976351","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 12:55:52","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-21 12:55:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:55:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2756","is_new_deal":false}
[2026-04-21 12:55:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 12:55:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:55:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 12:55:52] [INFO] getContactPrimaryPhone called {"contact_id":"2756"}
[2026-04-21 12:55:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:55:52] [INFO] getContactPrimaryPhone result {"contact_id":"2756","person_found":true,"primary_phone":"9159209427"}
[2026-04-21 12:55:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9159209427"}
[2026-04-21 12:55:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9159209427","contact_id":"2756","deal_id":"local_6953b4882e0a78.21976351","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-21 12:55:52"}
[2026-04-21 12:55:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","existing_deal_found":true,"existing_contact_id":"2756","existing_title":"معامله دوم 9159209427 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-21 12:55:52"}
[2026-04-21 12:55:52] [INFO] DealController.save validated payments {"deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-21 12:55:52] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2756","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-21 12:55:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953b4882e0a78.21976351","contact_didar_id":"2756","title":"معامله دوم 9159209427 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9159209427","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"آقای فولادی","existing_deal":"YES","existing_deal_id":"local_6953b4882e0a78.21976351","existing_deal_status":"Pending","server_time":"2026-04-21 12:55:52","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-21 12:55:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:55:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953b4882e0a78.21976351","contact_id":"2756","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9159209427 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-21 12:55:52","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 12:55:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:56:02] [INFO] Checking activity reminders 
[2026-04-21 12:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:56:02] [INFO] Lead update received {"contact_id":"2756","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:56:02] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2756"}
[2026-04-21 12:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 12:56:17] [INFO] Checking activity reminders 
[2026-04-21 12:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10016","person_id":"14129"}
[2026-04-21 12:56:39] [INFO] Checking activity reminders 
[2026-04-21 12:56:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:56:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:56:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 12:56:47] [INFO] Checking activity reminders 
[2026-04-21 12:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:57:07] [INFO] Lead update received {"contact_id":"791","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:57:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 12:57:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 12:57:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 12:57:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"791"}
[2026-04-21 12:57:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 12:57:18] [INFO] Checking activity reminders 
[2026-04-21 12:57:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:57:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:57:23] [INFO] Checking activity reminders 
[2026-04-21 12:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:57:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 12:57:48] [INFO] Checking activity reminders 
[2026-04-21 12:57:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:57:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:58:06] [INFO] Checking activity reminders 
[2026-04-21 12:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:58:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 12:58:18] [INFO] Checking activity reminders 
[2026-04-21 12:58:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:58:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:58:18] [INFO] Lead update received {"contact_id":"2622","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 12:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 12:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 12:58:18] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2622"}
[2026-04-21 12:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 12:58:34] [INFO] Checking activity reminders 
[2026-04-21 12:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:58:48] [INFO] Checking activity reminders 
[2026-04-21 12:58:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:58:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:59:00] [INFO] Checking activity reminders 
[2026-04-21 12:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 12:59:18] [INFO] Checking activity reminders 
[2026-04-21 12:59:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:59:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:59:27] [INFO] Lead update received {"contact_id":"6999","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 12:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 12:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 12:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 12:59:27] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6999"}
[2026-04-21 12:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 12:59:30] [INFO] Checking activity reminders 
[2026-04-21 12:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 12:59:48] [INFO] Checking activity reminders 
[2026-04-21 12:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 12:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:00:18] [INFO] Checking activity reminders 
[2026-04-21 13:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:00:48] [INFO] Checking activity reminders 
[2026-04-21 13:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:01:18] [INFO] Checking activity reminders 
[2026-04-21 13:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:01:48] [INFO] Checking activity reminders 
[2026-04-21 13:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:01:55] [INFO] Checking activity reminders 
[2026-04-21 13:01:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:01:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:01:57] [INFO] Checking activity reminders 
[2026-04-21 13:01:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:01:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:02:18] [INFO] Checking activity reminders 
[2026-04-21 13:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:02:48] [INFO] Checking activity reminders 
[2026-04-21 13:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:03:15] [INFO] Checking activity reminders 
[2026-04-21 13:03:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:03:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:03:18] [INFO] Checking activity reminders 
[2026-04-21 13:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:03:48] [INFO] Checking activity reminders 
[2026-04-21 13:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:04:03] [INFO] Checking activity reminders 
[2026-04-21 13:04:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:04:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:04:33] [INFO] Checking activity reminders 
[2026-04-21 13:04:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:04:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:04] [INFO] Checking activity reminders 
[2026-04-21 13:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:30] [INFO] Checking activity reminders 
[2026-04-21 13:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 13:05:50] [INFO] Checking activity reminders 
[2026-04-21 13:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:52] [INFO] Checking activity reminders 
[2026-04-21 13:05:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:05:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:55] [INFO] Checking activity reminders 
[2026-04-21 13:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:05:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 13:06:01] [INFO] Checking activity reminders 
[2026-04-21 13:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:06:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 13:06:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 13:06:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 13:06:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 13:06:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 13:06:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 13:06:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 13:06:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 13:06:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 13:06:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 13:06:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 13:06:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 13:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:06:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:06:28] [INFO] Checking activity reminders 
[2026-04-21 13:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:06:31] [INFO] Checking activity reminders 
[2026-04-21 13:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:06:44] [INFO] Checking activity reminders 
[2026-04-21 13:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:06:46] [INFO] Checking activity reminders 
[2026-04-21 13:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:06:49] [INFO] Checking activity reminders 
[2026-04-21 13:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:00] [INFO] Checking activity reminders 
[2026-04-21 13:07:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:01] [INFO] Checking activity reminders 
[2026-04-21 13:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:07:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:07:24] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:07:27] [INFO] Checking activity reminders 
[2026-04-21 13:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:30] [INFO] Checking activity reminders 
[2026-04-21 13:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:31] [INFO] Checking activity reminders 
[2026-04-21 13:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:07:57] [INFO] Checking activity reminders 
[2026-04-21 13:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:00] [INFO] Checking activity reminders 
[2026-04-21 13:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:01] [INFO] Checking activity reminders 
[2026-04-21 13:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:27] [INFO] Checking activity reminders 
[2026-04-21 13:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:30] [INFO] Checking activity reminders 
[2026-04-21 13:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:32] [INFO] Checking activity reminders 
[2026-04-21 13:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:08:57] [INFO] Checking activity reminders 
[2026-04-21 13:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:00] [INFO] Checking activity reminders 
[2026-04-21 13:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:02] [INFO] Checking activity reminders 
[2026-04-21 13:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:27] [INFO] Checking activity reminders 
[2026-04-21 13:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:30] [INFO] Checking activity reminders 
[2026-04-21 13:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:32] [INFO] Checking activity reminders 
[2026-04-21 13:09:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:09:35] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:09:35] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:09:35] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:09:57] [INFO] Checking activity reminders 
[2026-04-21 13:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:00] [INFO] Checking activity reminders 
[2026-04-21 13:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:02] [INFO] Checking activity reminders 
[2026-04-21 13:10:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:27] [INFO] Checking activity reminders 
[2026-04-21 13:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:30] [INFO] Checking activity reminders 
[2026-04-21 13:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:32] [INFO] Checking activity reminders 
[2026-04-21 13:10:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:10:35] [INFO] Activity save request {"post_data":{"contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 13:10:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20696","note_was_empty":true}
[2026-04-21 13:10:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"20696","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:35] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-21 13:10:35] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-21 13:10:35] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-21 13:10:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a91d017909.34931332","stage":"تماس پیگیری","status_change":null}
[2026-04-21 13:10:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7461398f9f2.66086739","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7461398f9f2.66086739"}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:35] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-21 13:10:35] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-21 13:10:35] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-21 13:10:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-21 13:10:57] [INFO] Checking activity reminders 
[2026-04-21 13:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:00] [INFO] Checking activity reminders 
[2026-04-21 13:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:02] [INFO] Checking activity reminders 
[2026-04-21 13:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:27] [INFO] Checking activity reminders 
[2026-04-21 13:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:30] [INFO] Checking activity reminders 
[2026-04-21 13:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:32] [INFO] Checking activity reminders 
[2026-04-21 13:11:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:11:57] [INFO] Checking activity reminders 
[2026-04-21 13:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:12:00] [INFO] Checking activity reminders 
[2026-04-21 13:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:12:02] [INFO] Checking activity reminders 
[2026-04-21 13:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:12:28] [INFO] Checking activity reminders 
[2026-04-21 13:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:12:30] [INFO] Checking activity reminders 
[2026-04-21 13:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:12:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:12:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:12:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:12:58] [INFO] Checking activity reminders 
[2026-04-21 13:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:13:00] [INFO] Checking activity reminders 
[2026-04-21 13:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:13:28] [INFO] Checking activity reminders 
[2026-04-21 13:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:13:30] [INFO] Checking activity reminders 
[2026-04-21 13:13:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:13:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:13:58] [INFO] Checking activity reminders 
[2026-04-21 13:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:14:00] [INFO] Checking activity reminders 
[2026-04-21 13:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:14:28] [INFO] Checking activity reminders 
[2026-04-21 13:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:14:31] [INFO] Checking activity reminders 
[2026-04-21 13:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:14:58] [INFO] Checking activity reminders 
[2026-04-21 13:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:15:01] [INFO] Checking activity reminders 
[2026-04-21 13:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:15:31] [INFO] Checking activity reminders 
[2026-04-21 13:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:16:01] [INFO] Checking activity reminders 
[2026-04-21 13:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:16:05] [INFO] Checking activity reminders 
[2026-04-21 13:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:16:07] [INFO] Checking activity reminders 
[2026-04-21 13:16:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:16:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:07] [INFO] Checking activity reminders 
[2026-04-21 13:17:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:09] [INFO] Checking activity reminders 
[2026-04-21 13:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:11] [INFO] Checking activity reminders 
[2026-04-21 13:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:13] [INFO] Checking activity reminders 
[2026-04-21 13:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15077","person_id":"6598"}
[2026-04-21 13:17:32] [INFO] Checking activity reminders 
[2026-04-21 13:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:34] [INFO] Checking activity reminders 
[2026-04-21 13:17:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:43] [INFO] Checking activity reminders 
[2026-04-21 13:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:17:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:18:04] [INFO] Checking activity reminders 
[2026-04-21 13:18:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:18:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:18:13] [INFO] Checking activity reminders 
[2026-04-21 13:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:18:34] [INFO] Checking activity reminders 
[2026-04-21 13:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:18:43] [INFO] Checking activity reminders 
[2026-04-21 13:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:18:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-21 13:19:04] [INFO] Checking activity reminders 
[2026-04-21 13:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:19:13] [INFO] Checking activity reminders 
[2026-04-21 13:19:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:19:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:19:26] [INFO] Activity save request {"post_data":{"contact_id":"21443","deal_id":"local_69b73a50df6cd4.64953457","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 13:19:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21443","note_was_empty":true}
[2026-04-21 13:19:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"21443","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:26] [INFO] Updating virtual stage {"contact_id":"21443","stage_name":"deal_registered","force":false}
[2026-04-21 13:19:26] [INFO] Virtual stage successfully saved {"contact_id":"21443","stage_name":"deal_registered"}
[2026-04-21 13:19:26] [INFO] Virtual stage updated after activity save {"contact_id":"21443"}
[2026-04-21 13:19:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b73a50df6cd4.64953457","stage":"تماس پیگیری","status_change":null}
[2026-04-21 13:19:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e748268189e3.67181828","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69e748268189e3.67181828"}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:26] [INFO] Updating virtual stage {"contact_id":"21443","stage_name":"deal_registered","force":false}
[2026-04-21 13:19:26] [INFO] Virtual stage successfully saved {"contact_id":"21443","stage_name":"deal_registered"}
[2026-04-21 13:19:26] [INFO] Virtual stage updated after activity save {"contact_id":"21443"}
[2026-04-21 13:19:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21443","person_id":"12617"}
[2026-04-21 13:19:34] [INFO] Checking activity reminders 
[2026-04-21 13:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:19:43] [INFO] Checking activity reminders 
[2026-04-21 13:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:20:04] [INFO] Checking activity reminders 
[2026-04-21 13:20:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:20:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:20:08] [INFO] Checking activity reminders 
[2026-04-21 13:20:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:20:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:20:10] [INFO] Checking activity reminders 
[2026-04-21 13:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:20:34] [INFO] Checking activity reminders 
[2026-04-21 13:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:20:40] [INFO] Checking activity reminders 
[2026-04-21 13:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:21:04] [INFO] Checking activity reminders 
[2026-04-21 13:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:21:10] [INFO] Checking activity reminders 
[2026-04-21 13:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:21:34] [INFO] Checking activity reminders 
[2026-04-21 13:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:21:40] [INFO] Checking activity reminders 
[2026-04-21 13:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:22:04] [INFO] Checking activity reminders 
[2026-04-21 13:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:22:10] [INFO] Checking activity reminders 
[2026-04-21 13:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:22:34] [INFO] Checking activity reminders 
[2026-04-21 13:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:22:40] [INFO] Checking activity reminders 
[2026-04-21 13:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:23:05] [INFO] Checking activity reminders 
[2026-04-21 13:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:23:10] [INFO] Checking activity reminders 
[2026-04-21 13:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:23:35] [INFO] Checking activity reminders 
[2026-04-21 13:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:23:40] [INFO] Checking activity reminders 
[2026-04-21 13:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:24:05] [INFO] Checking activity reminders 
[2026-04-21 13:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:24:11] [INFO] Checking activity reminders 
[2026-04-21 13:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:24:35] [INFO] Checking activity reminders 
[2026-04-21 13:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:24:41] [INFO] Checking activity reminders 
[2026-04-21 13:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:25:11] [INFO] Checking activity reminders 
[2026-04-21 13:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:25:19] [INFO] Checking activity reminders 
[2026-04-21 13:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:25:21] [INFO] Checking activity reminders 
[2026-04-21 13:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:25:41] [INFO] Checking activity reminders 
[2026-04-21 13:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:25:51] [INFO] Checking activity reminders 
[2026-04-21 13:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:26:11] [INFO] Checking activity reminders 
[2026-04-21 13:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:26:21] [INFO] Checking activity reminders 
[2026-04-21 13:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:26:41] [INFO] Checking activity reminders 
[2026-04-21 13:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:26:51] [INFO] Checking activity reminders 
[2026-04-21 13:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:27:11] [INFO] Checking activity reminders 
[2026-04-21 13:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:27:21] [INFO] Checking activity reminders 
[2026-04-21 13:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:27:41] [INFO] Checking activity reminders 
[2026-04-21 13:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:27:51] [INFO] Checking activity reminders 
[2026-04-21 13:27:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:27:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:28:11] [INFO] Checking activity reminders 
[2026-04-21 13:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:28:21] [INFO] Checking activity reminders 
[2026-04-21 13:28:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:28:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:28:41] [INFO] Checking activity reminders 
[2026-04-21 13:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:28:51] [INFO] Checking activity reminders 
[2026-04-21 13:28:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:28:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:29:11] [INFO] Checking activity reminders 
[2026-04-21 13:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:29:21] [INFO] Checking activity reminders 
[2026-04-21 13:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:29:41] [INFO] Checking activity reminders 
[2026-04-21 13:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:29:52] [INFO] Checking activity reminders 
[2026-04-21 13:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:30:12] [INFO] Checking activity reminders 
[2026-04-21 13:30:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:30:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:30:22] [INFO] Checking activity reminders 
[2026-04-21 13:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:30:42] [INFO] Checking activity reminders 
[2026-04-21 13:30:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:30:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:30:52] [INFO] Checking activity reminders 
[2026-04-21 13:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:31:12] [INFO] Checking activity reminders 
[2026-04-21 13:31:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:31:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:31:22] [INFO] Checking activity reminders 
[2026-04-21 13:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:31:42] [INFO] Checking activity reminders 
[2026-04-21 13:31:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:31:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:31:52] [INFO] Checking activity reminders 
[2026-04-21 13:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:32:12] [INFO] Checking activity reminders 
[2026-04-21 13:32:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:32:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:32:22] [INFO] Checking activity reminders 
[2026-04-21 13:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:32:42] [INFO] Checking activity reminders 
[2026-04-21 13:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:32:52] [INFO] Checking activity reminders 
[2026-04-21 13:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:33:12] [INFO] Checking activity reminders 
[2026-04-21 13:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:33:22] [INFO] Checking activity reminders 
[2026-04-21 13:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:33:42] [INFO] Checking activity reminders 
[2026-04-21 13:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:33:52] [INFO] Checking activity reminders 
[2026-04-21 13:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:34:13] [INFO] Checking activity reminders 
[2026-04-21 13:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:34:22] [INFO] Checking activity reminders 
[2026-04-21 13:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:34:43] [INFO] Checking activity reminders 
[2026-04-21 13:34:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:34:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:34:52] [INFO] Checking activity reminders 
[2026-04-21 13:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:35:13] [INFO] Checking activity reminders 
[2026-04-21 13:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:35:22] [INFO] Checking activity reminders 
[2026-04-21 13:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:35:43] [INFO] Checking activity reminders 
[2026-04-21 13:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:35:52] [INFO] Checking activity reminders 
[2026-04-21 13:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:36:13] [INFO] Checking activity reminders 
[2026-04-21 13:36:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:36:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:36:23] [INFO] Checking activity reminders 
[2026-04-21 13:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:36:43] [INFO] Checking activity reminders 
[2026-04-21 13:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:36:53] [INFO] Checking activity reminders 
[2026-04-21 13:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:37:13] [INFO] Checking activity reminders 
[2026-04-21 13:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:37:23] [INFO] Checking activity reminders 
[2026-04-21 13:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:37:43] [INFO] Checking activity reminders 
[2026-04-21 13:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:37:53] [INFO] Checking activity reminders 
[2026-04-21 13:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:38:13] [INFO] Checking activity reminders 
[2026-04-21 13:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:38:23] [INFO] Checking activity reminders 
[2026-04-21 13:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:38:43] [INFO] Checking activity reminders 
[2026-04-21 13:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:38:53] [INFO] Checking activity reminders 
[2026-04-21 13:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:39:14] [INFO] Checking activity reminders 
[2026-04-21 13:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:39:23] [INFO] Checking activity reminders 
[2026-04-21 13:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:39:44] [INFO] Checking activity reminders 
[2026-04-21 13:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:39:53] [INFO] Checking activity reminders 
[2026-04-21 13:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:39:54] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:39:54] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:39:54] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:40:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:40:09] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:40:14] [INFO] Checking activity reminders 
[2026-04-21 13:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:40:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:40:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:40:20] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:40:23] [INFO] Checking activity reminders 
[2026-04-21 13:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:40:44] [INFO] Checking activity reminders 
[2026-04-21 13:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:40:53] [INFO] Checking activity reminders 
[2026-04-21 13:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:41:14] [INFO] Checking activity reminders 
[2026-04-21 13:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:41:23] [INFO] Checking activity reminders 
[2026-04-21 13:41:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:41:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:41:25] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:41:25] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:41:25] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:41:44] [INFO] Checking activity reminders 
[2026-04-21 13:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:41:53] [INFO] Checking activity reminders 
[2026-04-21 13:41:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:41:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:42:14] [INFO] Checking activity reminders 
[2026-04-21 13:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:42:23] [INFO] Checking activity reminders 
[2026-04-21 13:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:42:44] [INFO] Checking activity reminders 
[2026-04-21 13:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:42:53] [INFO] Activity save request {"post_data":{"contact_id":"2617","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خانمش به جای خودش در کانال عضو شد ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 13:42:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:42:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 13:42:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 13:42:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:42:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2617","note_was_empty":true}
[2026-04-21 13:42:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"2617","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 13:42:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e74da53cfe41.67494893","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 13:42:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:42:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e74da53cfe41.67494893"}
[2026-04-21 13:42:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:42:53] [INFO] Updating virtual stage {"contact_id":"2617","stage_name":"with_purchase","force":false}
[2026-04-21 13:42:53] [INFO] Virtual stage successfully saved {"contact_id":"2617","stage_name":"with_purchase"}
[2026-04-21 13:42:53] [INFO] Virtual stage updated after activity save {"contact_id":"2617"}
[2026-04-21 13:42:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2617","person_id":"11592"}
[2026-04-21 13:42:54] [INFO] Checking activity reminders 
[2026-04-21 13:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:43:14] [INFO] Checking activity reminders 
[2026-04-21 13:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:43:24] [INFO] Checking activity reminders 
[2026-04-21 13:43:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:43:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:43:29] [INFO] Checking activity reminders 
[2026-04-21 13:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:43:54] [INFO] Checking activity reminders 
[2026-04-21 13:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:43:59] [INFO] Checking activity reminders 
[2026-04-21 13:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:44:24] [INFO] Checking activity reminders 
[2026-04-21 13:44:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:44:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:44:29] [INFO] Checking activity reminders 
[2026-04-21 13:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:44:54] [INFO] Checking activity reminders 
[2026-04-21 13:44:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:44:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:44:59] [INFO] Checking activity reminders 
[2026-04-21 13:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:45:24] [INFO] Checking activity reminders 
[2026-04-21 13:45:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:45:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:45:30] [INFO] Checking activity reminders 
[2026-04-21 13:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:45:54] [INFO] Checking activity reminders 
[2026-04-21 13:45:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:45:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:46:00] [INFO] Checking activity reminders 
[2026-04-21 13:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:46:30] [INFO] Checking activity reminders 
[2026-04-21 13:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:47:00] [INFO] Checking activity reminders 
[2026-04-21 13:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:47:30] [INFO] Checking activity reminders 
[2026-04-21 13:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:48:00] [INFO] Checking activity reminders 
[2026-04-21 13:48:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:48:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:48:31] [INFO] Checking activity reminders 
[2026-04-21 13:48:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:48:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:49:01] [INFO] Checking activity reminders 
[2026-04-21 13:49:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:49:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:49:31] [INFO] Checking activity reminders 
[2026-04-21 13:49:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:49:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:50:01] [INFO] Checking activity reminders 
[2026-04-21 13:50:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:50:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:50:31] [INFO] Checking activity reminders 
[2026-04-21 13:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:50:36] [INFO] Checking activity reminders 
[2026-04-21 13:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:50:38] [INFO] Checking activity reminders 
[2026-04-21 13:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:01] [INFO] Checking activity reminders 
[2026-04-21 13:51:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:09] [INFO] Checking activity reminders 
[2026-04-21 13:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:09] [INFO] Checking activity reminders 
[2026-04-21 13:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:12] [INFO] Checking activity reminders 
[2026-04-21 13:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:19] [INFO] Checking activity reminders 
[2026-04-21 13:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:39] [INFO] Checking activity reminders 
[2026-04-21 13:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:51:49] [INFO] Checking activity reminders 
[2026-04-21 13:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:52:09] [INFO] Checking activity reminders 
[2026-04-21 13:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:52:19] [INFO] Checking activity reminders 
[2026-04-21 13:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:52:39] [INFO] Checking activity reminders 
[2026-04-21 13:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:52:49] [INFO] Checking activity reminders 
[2026-04-21 13:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:53:09] [INFO] Checking activity reminders 
[2026-04-21 13:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:53:19] [INFO] Checking activity reminders 
[2026-04-21 13:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:53:39] [INFO] Checking activity reminders 
[2026-04-21 13:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:53:50] [INFO] Checking activity reminders 
[2026-04-21 13:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:54:20] [INFO] Checking activity reminders 
[2026-04-21 13:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:54:44] [INFO] Checking activity reminders 
[2026-04-21 13:54:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:54:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:54:50] [INFO] Checking activity reminders 
[2026-04-21 13:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:55:14] [INFO] Checking activity reminders 
[2026-04-21 13:55:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:55:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:55:20] [INFO] Checking activity reminders 
[2026-04-21 13:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:55:31] [INFO] Checking activity reminders 
[2026-04-21 13:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:55:50] [INFO] Checking activity reminders 
[2026-04-21 13:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:56:01] [INFO] Checking activity reminders 
[2026-04-21 13:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:56:20] [INFO] Checking activity reminders 
[2026-04-21 13:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"get_products"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"get_leads"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:23] [WARNING] Auth check failed - not authenticated {"session_id":"oaknujl3m5egsepbqvlt5361em","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:56:31] [INFO] Checking activity reminders 
[2026-04-21 13:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:56:40] [INFO] Checking activity reminders 
[2026-04-21 13:56:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:56:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:56:50] [INFO] Checking activity reminders 
[2026-04-21 13:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:57:01] [INFO] Checking activity reminders 
[2026-04-21 13:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:57:11] [INFO] Checking activity reminders 
[2026-04-21 13:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:57:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 13:57:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:57:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 13:57:20] [INFO] Checking activity reminders 
[2026-04-21 13:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:57:31] [INFO] Checking activity reminders 
[2026-04-21 13:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:57:50] [INFO] Checking activity reminders 
[2026-04-21 13:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:58:01] [INFO] Checking activity reminders 
[2026-04-21 13:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:58:20] [INFO] Checking activity reminders 
[2026-04-21 13:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:58:31] [INFO] Checking activity reminders 
[2026-04-21 13:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:58:50] [INFO] Checking activity reminders 
[2026-04-21 13:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:59:01] [INFO] Checking activity reminders 
[2026-04-21 13:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:59:05] [INFO] Checking activity reminders 
[2026-04-21 13:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:59:32] [INFO] Checking activity reminders 
[2026-04-21 13:59:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:59:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 13:59:36] [INFO] Checking activity reminders 
[2026-04-21 13:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 13:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:00:02] [INFO] Checking activity reminders 
[2026-04-21 14:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:00:06] [INFO] Checking activity reminders 
[2026-04-21 14:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:00:12] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:00:12] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:00:12] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:00:32] [INFO] Checking activity reminders 
[2026-04-21 14:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:00:36] [INFO] Checking activity reminders 
[2026-04-21 14:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:02] [INFO] Checking activity reminders 
[2026-04-21 14:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:06] [INFO] Checking activity reminders 
[2026-04-21 14:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:01:32] [INFO] Checking activity reminders 
[2026-04-21 14:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:36] [INFO] Checking activity reminders 
[2026-04-21 14:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:38] [INFO] Checking activity reminders 
[2026-04-21 14:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:02:02] [INFO] Checking activity reminders 
[2026-04-21 14:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:02:09] [INFO] Checking activity reminders 
[2026-04-21 14:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:02:32] [INFO] Checking activity reminders 
[2026-04-21 14:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:02:39] [INFO] Checking activity reminders 
[2026-04-21 14:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:02:49] [INFO] Activity save request {"post_data":{"contact_id":"2756","deal_id":"local_6953b4882e0a78.21976351","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال هست تسویه \/ \r\nخونه 45متری\/ 2تا موتور از سال 400 استاد گفته خریده یکی 150 ت یکی 250 ت الا ارزش \/ ماشین مصرف داره \/ 17 گرم طلا\/ صندوق 150 ت \/ نقد 200 ت ","activity_duration":"15","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:02:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2756","note_was_empty":true}
[2026-04-21 14:02:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"2756","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Updating virtual stage {"contact_id":"2756","stage_name":"with_purchase","force":false}
[2026-04-21 14:02:49] [INFO] Virtual stage successfully saved {"contact_id":"2756","stage_name":"with_purchase"}
[2026-04-21 14:02:49] [INFO] Virtual stage updated after activity save {"contact_id":"2756"}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6953b4882e0a78.21976351","stage":"اتمام","status_change":"Won"}
[2026-04-21 14:02:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e752516888a1.43425981","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e752516888a1.43425981"}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:02:49] [INFO] Updating virtual stage {"contact_id":"2756","stage_name":"with_purchase","force":false}
[2026-04-21 14:02:49] [INFO] Virtual stage successfully saved {"contact_id":"2756","stage_name":"with_purchase"}
[2026-04-21 14:02:49] [INFO] Virtual stage updated after activity save {"contact_id":"2756"}
[2026-04-21 14:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2756","person_id":"3920"}
[2026-04-21 14:03:02] [INFO] Checking activity reminders 
[2026-04-21 14:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:03:09] [INFO] Checking activity reminders 
[2026-04-21 14:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:03:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:03:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:03:14] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:03:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:03:32] [INFO] Checking activity reminders 
[2026-04-21 14:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:03:39] [INFO] Checking activity reminders 
[2026-04-21 14:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:04:02] [INFO] Checking activity reminders 
[2026-04-21 14:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:04:08] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9687","deal_id":"local_69e4ae60eca6c2.63356263","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 14:04:08","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 14:04:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:04:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9687","is_new_deal":false}
[2026-04-21 14:04:08] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 14:04:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:04:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:04:08] [INFO] getContactPrimaryPhone called {"contact_id":"9687"}
[2026-04-21 14:04:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:04:08] [INFO] getContactPrimaryPhone result {"contact_id":"9687","person_found":true,"primary_phone":"9191326643"}
[2026-04-21 14:04:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9191326643"}
[2026-04-21 14:04:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9191326643","contact_id":"9687","deal_id":"local_69e4ae60eca6c2.63356263","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:04:08"}
[2026-04-21 14:04:08] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","existing_deal_found":true,"existing_contact_id":"9687","existing_title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:04:08"}
[2026-04-21 14:04:08] [INFO] DealController.save validated payments {"deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-21 14:04:08] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9687","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 14:04:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e4ae60eca6c2.63356263","contact_didar_id":"9687","title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9191326643","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"عنایت زاده","existing_deal":"YES","existing_deal_id":"local_69e4ae60eca6c2.63356263","existing_deal_status":"Pending","server_time":"2026-04-21 14:04:08","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 14:04:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:04:08] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e4ae60eca6c2.63356263","contact_id":"9687","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9191326643 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":39000000,"server_time":"2026-04-21 14:04:08","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 14:04:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:04:09] [INFO] Checking activity reminders 
[2026-04-21 14:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:04:32] [INFO] Checking activity reminders 
[2026-04-21 14:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:04:39] [INFO] Checking activity reminders 
[2026-04-21 14:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:05:02] [INFO] Checking activity reminders 
[2026-04-21 14:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:05:09] [INFO] Checking activity reminders 
[2026-04-21 14:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:05:33] [INFO] Checking activity reminders 
[2026-04-21 14:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:05:39] [INFO] Checking activity reminders 
[2026-04-21 14:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:05:43] [INFO] Activity save request {"post_data":{"contact_id":"1287","deal_id":"local_695b9016428ce3.84832385","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال هست تسویه \/ \r\nشغل : نصب الکتریکال برق اسانسور \/ \r\nاهواز زندگی میکنه\/ \r\n1واحد اپارتمان قزوین داده مستاجر ارزش 8میلیارد\/ 250 گرم طلا\r\n200 ت عیار و نقران\r\n2میلیارد قطعات مصرفی ماهیی ثابت 100ت سود میده \r\nاستاد گفتن : 50گرم و دلار میتونه تبدیل به خودرو کنه 206\/207","activity_duration":"20","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:05:43] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1287","note_was_empty":true}
[2026-04-21 14:05:43] [INFO] Didar write disabled; saving activity locally {"contact_id":"1287","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Updating virtual stage {"contact_id":"1287","stage_name":"with_purchase","force":false}
[2026-04-21 14:05:43] [INFO] Virtual stage successfully saved {"contact_id":"1287","stage_name":"with_purchase"}
[2026-04-21 14:05:43] [INFO] Virtual stage updated after activity save {"contact_id":"1287"}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695b9016428ce3.84832385","stage":"اتمام","status_change":"Won"}
[2026-04-21 14:05:43] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e752ff625588.61680206","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Activity saved successfully {"activity_id":"local_activity_69e752ff625588.61680206"}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:43] [INFO] Updating virtual stage {"contact_id":"1287","stage_name":"with_purchase","force":false}
[2026-04-21 14:05:43] [INFO] Virtual stage successfully saved {"contact_id":"1287","stage_name":"with_purchase"}
[2026-04-21 14:05:43] [INFO] Virtual stage updated after activity save {"contact_id":"1287"}
[2026-04-21 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:05:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1287","person_id":"2912"}
[2026-04-21 14:06:03] [INFO] Checking activity reminders 
[2026-04-21 14:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:06:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:06:09] [INFO] Checking activity reminders 
[2026-04-21 14:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:06:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-21 14:06:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:06:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:06:17] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:06:33] [INFO] Checking activity reminders 
[2026-04-21 14:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:06:39] [INFO] Checking activity reminders 
[2026-04-21 14:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:07:03] [INFO] Checking activity reminders 
[2026-04-21 14:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:07:05] [INFO] Checking activity reminders 
[2026-04-21 14:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:07:33] [INFO] Checking activity reminders 
[2026-04-21 14:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:07:35] [INFO] Checking activity reminders 
[2026-04-21 14:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:07:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_694cdb4d84c5e3.14540339","deal_id":"local_694ce38308a203.63003113","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 14:07:54","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 14:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-21 14:07:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_694cdb4d84c5e3.14540339","is_new_deal":false}
[2026-04-21 14:07:54] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-21 14:07:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-21 14:07:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-21 14:07:54] [INFO] getContactPrimaryPhone called {"contact_id":"local_694cdb4d84c5e3.14540339"}
[2026-04-21 14:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-21 14:07:54] [INFO] getContactPrimaryPhone result {"contact_id":"local_694cdb4d84c5e3.14540339","person_found":true,"primary_phone":"9168868588"}
[2026-04-21 14:07:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9168868588"}
[2026-04-21 14:07:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9168868588","contact_id":"local_694cdb4d84c5e3.14540339","deal_id":"local_694ce38308a203.63003113","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:07:54"}
[2026-04-21 14:07:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_694ce38308a203.63003113","contact_id":"local_694cdb4d84c5e3.14540339","existing_deal_found":true,"existing_contact_id":"local_694cdb4d84c5e3.14540339","existing_title":"معامله دوم 9168868588 | هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:07:54"}
[2026-04-21 14:07:54] [INFO] DealController.save validated payments {"deal_id":"local_694ce38308a203.63003113","contact_id":"local_694cdb4d84c5e3.14540339","payments_count":0,"status":"lost","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-21 14:07:54] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_694cdb4d84c5e3.14540339","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 14:07:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_694ce38308a203.63003113","contact_didar_id":"local_694cdb4d84c5e3.14540339","title":"معامله دوم 9168868588 | هوش خودرو","base_title_used":"معامله دوم 9168868588","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"lost","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد روستایی","existing_deal":"YES","existing_deal_id":"local_694ce38308a203.63003113","existing_deal_status":"Pending","server_time":"2026-04-21 14:07:54","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 14:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-21 14:07:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_694ce38308a203.63003113","contact_id":"local_694cdb4d84c5e3.14540339","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9168868588 | هوش خودرو","deal_status":"lost","pipeline_stage":"ارسال لینک پرداخت","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-21 14:07:54","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 14:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-21 14:08:00] [INFO] Activity save request {"post_data":{"contact_id":"791","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه کانال \/ \r\nخونه داده اجاره 60متری ارزش 7میلیارد\r\nخونه  100 متری مصرف\r\nمغازه 140 متر 50میلیارد ارزش اجاره داده\r\nسوله اجاره داده 400 متر ارزش 40 میلیارد \r\nصندوق 400ت \/ 20تا سکه ماشین 207","activity_duration":"30","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:08:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:08:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:08:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"791","note_was_empty":true}
[2026-04-21 14:08:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"791","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:08:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7538805cb72.66203719","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:08:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7538805cb72.66203719"}
[2026-04-21 14:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:08:00] [INFO] Updating virtual stage {"contact_id":"791","stage_name":"with_purchase","force":false}
[2026-04-21 14:08:00] [INFO] Virtual stage successfully saved {"contact_id":"791","stage_name":"with_purchase"}
[2026-04-21 14:08:00] [INFO] Virtual stage updated after activity save {"contact_id":"791"}
[2026-04-21 14:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"791","person_id":"6987"}
[2026-04-21 14:08:03] [INFO] Checking activity reminders 
[2026-04-21 14:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:08:05] [INFO] Checking activity reminders 
[2026-04-21 14:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-21 14:08:26] [INFO] Checking activity reminders 
[2026-04-21 14:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:08:33] [INFO] Checking activity reminders 
[2026-04-21 14:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:08:56] [INFO] Checking activity reminders 
[2026-04-21 14:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:09:03] [INFO] Checking activity reminders 
[2026-04-21 14:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:09:17] [INFO] Activity save request {"post_data":{"contact_id":"22","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در مهاجرت به کشور باکو موفق نبوده \r\nبرای المان میخواد اقدام کنه ","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:09:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:09:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:09:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:09:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:09:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"22","note_was_empty":true}
[2026-04-21 14:09:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"22","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:09:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e753d50800b9.61258813","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:09:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:09:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e753d50800b9.61258813"}
[2026-04-21 14:09:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:09:17] [INFO] Updating virtual stage {"contact_id":"22","stage_name":"deal_registered","force":false}
[2026-04-21 14:09:17] [INFO] Virtual stage successfully saved {"contact_id":"22","stage_name":"deal_registered"}
[2026-04-21 14:09:17] [INFO] Virtual stage updated after activity save {"contact_id":"22"}
[2026-04-21 14:09:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"22","person_id":"17207"}
[2026-04-21 14:09:23] [INFO] Activity save request {"post_data":{"contact_id":"2622","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال تسویه هست \/ \r\nپراید وانت \/ 207 \/ ساینا صفر\/ 160 گرم طلا \/ نقد 700 ت \r\nشهر مراغه","activity_duration":"20","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:09:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:09:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:09:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2622","note_was_empty":true}
[2026-04-21 14:09:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"2622","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:09:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e753dbac97c1.92041436","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:09:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e753dbac97c1.92041436"}
[2026-04-21 14:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:09:23] [INFO] Updating virtual stage {"contact_id":"2622","stage_name":"deal_registered","force":false}
[2026-04-21 14:09:23] [INFO] Virtual stage successfully saved {"contact_id":"2622","stage_name":"deal_registered"}
[2026-04-21 14:09:23] [INFO] Virtual stage updated after activity save {"contact_id":"2622"}
[2026-04-21 14:09:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2622","person_id":"17195"}
[2026-04-21 14:09:26] [INFO] Checking activity reminders 
[2026-04-21 14:09:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:09:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:09:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:09:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:09:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:09:33] [INFO] Checking activity reminders 
[2026-04-21 14:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:09:56] [INFO] Checking activity reminders 
[2026-04-21 14:09:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:09:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:10:03] [INFO] Checking activity reminders 
[2026-04-21 14:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:10:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:10:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:26] [INFO] Checking activity reminders 
[2026-04-21 14:10:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:10:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:10:34] [INFO] Checking activity reminders 
[2026-04-21 14:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:10:44] [INFO] Activity save request {"post_data":{"contact_id":"15563","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال تسویه \/ پشتیبانی","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:10:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:10:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:10:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15563","note_was_empty":true}
[2026-04-21 14:10:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"15563","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:10:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7542ca664d8.30858252","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:10:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7542ca664d8.30858252"}
[2026-04-21 14:10:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:44] [INFO] Updating virtual stage {"contact_id":"15563","stage_name":"deal_registered","force":false}
[2026-04-21 14:10:44] [INFO] Virtual stage successfully saved {"contact_id":"15563","stage_name":"deal_registered"}
[2026-04-21 14:10:44] [INFO] Virtual stage updated after activity save {"contact_id":"15563"}
[2026-04-21 14:10:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-21 14:10:56] [INFO] Checking activity reminders 
[2026-04-21 14:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:10:57] [INFO] Activity save request {"post_data":{"contact_id":"2845","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nتماس گرفتم \r\nبیپاسخ ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:10:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:10:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:10:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2845","note_was_empty":true}
[2026-04-21 14:10:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"2845","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:10:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e75439d1c5f0.02432771","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:10:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e75439d1c5f0.02432771"}
[2026-04-21 14:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:10:57] [INFO] Updating virtual stage {"contact_id":"2845","stage_name":"with_purchase","force":false}
[2026-04-21 14:10:57] [INFO] Virtual stage successfully saved {"contact_id":"2845","stage_name":"with_purchase"}
[2026-04-21 14:10:57] [INFO] Virtual stage updated after activity save {"contact_id":"2845"}
[2026-04-21 14:10:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2845","person_id":"13899"}
[2026-04-21 14:11:04] [INFO] Checking activity reminders 
[2026-04-21 14:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:11:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:26] [INFO] Checking activity reminders 
[2026-04-21 14:11:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:11:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:11:27] [INFO] Activity save request {"post_data":{"contact_id":"11392","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه کانال \/ پشتیبانی","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:11:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:11:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:11:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11392","note_was_empty":true}
[2026-04-21 14:11:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"11392","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:11:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e754570f99e3.56407441","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:11:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69e754570f99e3.56407441"}
[2026-04-21 14:11:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:27] [INFO] Updating virtual stage {"contact_id":"11392","stage_name":"deal_registered","force":false}
[2026-04-21 14:11:27] [INFO] Virtual stage successfully saved {"contact_id":"11392","stage_name":"deal_registered"}
[2026-04-21 14:11:27] [INFO] Virtual stage updated after activity save {"contact_id":"11392"}
[2026-04-21 14:11:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11392","person_id":"8655"}
[2026-04-21 14:11:34] [INFO] Checking activity reminders 
[2026-04-21 14:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:11:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:11:57] [INFO] Checking activity reminders 
[2026-04-21 14:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9391","person_id":"14241"}
[2026-04-21 14:12:05] [INFO] Checking activity reminders 
[2026-04-21 14:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:12:19] [INFO] Activity save request {"post_data":{"contact_id":"11874","deal_id":"local_694168ad06efe9.71027450","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه کانال هست\/ پشتیبانی ارسال سوال استاد","activity_duration":"15","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:12:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:12:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:12:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:12:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:12:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11874","note_was_empty":true}
[2026-04-21 14:12:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"11874","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:12:19] [WARNING] Pipeline stage change to success blocked: no payments {"deal_id":"local_694168ad06efe9.71027450","contact_id":"11874"}
[2026-04-21 14:12:19] [ERROR] Error updating deal pipeline stage after activity {"deal_id":"local_694168ad06efe9.71027450","stage":"پرداخت","exception":{"message":"برای ثبت معامله موفق، پرداخت کامل ثبت نشده است","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/ActivityService.php","line":662,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/ActivityController.php(108): App\\Services\\ActivityService->saveActivity()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(870): App\\Controllers\\ActivityController->save()\n#2 {main}"}}
[2026-04-21 14:12:19] [ERROR] Error saving activity {"data":{"didar_activity_id":"","contact_didar_id":"11874","deal_didar_id":"local_694168ad06efe9.71027450","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه کانال هست\/ پشتیبانی ارسال سوال استاد","activity_duration":15,"direction":"incoming","is_done":0,"due_date":"","reminder_enabled":"0","reminder_offset_minutes":1440,"register_date":"2026-04-21 14:12:19","last_sync":"2026-04-21 14:12:19","requested_services":"","financial_level":null,"asset_estimation":null,"income_estimation":null,"failure_reason":"","failure_other_description":"","city":null,"job_title":null,"job_description":null,"acquaintance_duration":null,"extra_info":null},"exception":{"message":"برای ثبت معامله موفق، پرداخت کامل ثبت نشده است","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/ActivityService.php","line":662,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/ActivityController.php(108): App\\Services\\ActivityService->saveActivity()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(870): App\\Controllers\\ActivityController->save()\n#2 {main}"}}
[2026-04-21 14:12:27] [INFO] Checking activity reminders 
[2026-04-21 14:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:12:35] [INFO] Checking activity reminders 
[2026-04-21 14:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:12:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:12:57] [INFO] Checking activity reminders 
[2026-04-21 14:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:13:05] [INFO] Checking activity reminders 
[2026-04-21 14:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:13:27] [INFO] Checking activity reminders 
[2026-04-21 14:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:13:35] [INFO] Checking activity reminders 
[2026-04-21 14:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:13:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:13:57] [INFO] Checking activity reminders 
[2026-04-21 14:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:01] [INFO] Activity save request {"post_data":{"contact_id":"2689","deal_id":"local_69b724b4222536.03516675","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر برای اعتراضات دی ماه \r\nشرایط پشت تلفن صحبت نداشت \r\nگفت خودم تماس میگیرم \r\n","activity_duration":"2","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:14:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2689","note_was_empty":true}
[2026-04-21 14:14:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"2689","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:01] [INFO] Updating virtual stage {"contact_id":"2689","stage_name":"deal_registered","force":false}
[2026-04-21 14:14:01] [INFO] Virtual stage successfully saved {"contact_id":"2689","stage_name":"deal_registered"}
[2026-04-21 14:14:01] [INFO] Virtual stage updated after activity save {"contact_id":"2689"}
[2026-04-21 14:14:01] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b724b4222536.03516675","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 14:14:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e754f12dc112.96479286","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e754f12dc112.96479286"}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:01] [INFO] Updating virtual stage {"contact_id":"2689","stage_name":"deal_registered","force":false}
[2026-04-21 14:14:01] [INFO] Virtual stage successfully saved {"contact_id":"2689","stage_name":"deal_registered"}
[2026-04-21 14:14:01] [INFO] Virtual stage updated after activity save {"contact_id":"2689"}
[2026-04-21 14:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:05] [INFO] Checking activity reminders 
[2026-04-21 14:14:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:08] [INFO] generateDealTitle result {"contact_id":"2689","person_name":"کر","mobile":"9119717884","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9119717884"}
[2026-04-21 14:14:10] [INFO] Checking activity reminders 
[2026-04-21 14:14:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:14:27] [INFO] Checking activity reminders 
[2026-04-21 14:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:34] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2689","deal_id":"local_69b724b4222536.03516675","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 14:14:34","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 14:14:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:34] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2689","is_new_deal":false}
[2026-04-21 14:14:34] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 14:14:34] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:14:34] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:14:34] [INFO] getContactPrimaryPhone called {"contact_id":"2689"}
[2026-04-21 14:14:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:34] [INFO] getContactPrimaryPhone result {"contact_id":"2689","person_found":true,"primary_phone":"9119717884"}
[2026-04-21 14:14:34] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9119717884"}
[2026-04-21 14:14:34] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9119717884","contact_id":"2689","deal_id":"local_69b724b4222536.03516675","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:14:34"}
[2026-04-21 14:14:34] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b724b4222536.03516675","contact_id":"2689","existing_deal_found":true,"existing_contact_id":"2689","existing_title":"معامله دوم 9119717884 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:14:34"}
[2026-04-21 14:14:34] [INFO] DealController.save validated payments {"deal_id":"local_69b724b4222536.03516675","contact_id":"2689","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-21 14:14:34] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2689","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 14:14:34] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b724b4222536.03516675","contact_didar_id":"2689","title":"معامله دوم 9119717884 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9119717884","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"کر","existing_deal":"YES","existing_deal_id":"local_69b724b4222536.03516675","existing_deal_status":"Pending","server_time":"2026-04-21 14:14:34","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 14:14:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:34] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b724b4222536.03516675","contact_id":"2689","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9119717884 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-21 14:14:34","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 14:14:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2689","person_id":"10431"}
[2026-04-21 14:14:35] [INFO] Checking activity reminders 
[2026-04-21 14:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:40] [INFO] Checking activity reminders 
[2026-04-21 14:14:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:14:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:14:57] [INFO] Checking activity reminders 
[2026-04-21 14:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:05] [INFO] Checking activity reminders 
[2026-04-21 14:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:10] [INFO] Checking activity reminders 
[2026-04-21 14:15:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:15:28] [INFO] Checking activity reminders 
[2026-04-21 14:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:35] [INFO] Checking activity reminders 
[2026-04-21 14:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:15:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:15:39] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:15:40] [INFO] Checking activity reminders 
[2026-04-21 14:15:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:15:58] [INFO] Checking activity reminders 
[2026-04-21 14:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:16:05] [INFO] Checking activity reminders 
[2026-04-21 14:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:16:10] [INFO] Checking activity reminders 
[2026-04-21 14:16:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:16:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:16:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:16:28] [INFO] Checking activity reminders 
[2026-04-21 14:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:16:36] [INFO] Checking activity reminders 
[2026-04-21 14:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:16:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 14:16:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:16:58] [INFO] Checking activity reminders 
[2026-04-21 14:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:17:15] [INFO] Checking activity reminders 
[2026-04-21 14:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:17:28] [INFO] Checking activity reminders 
[2026-04-21 14:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:17:45] [INFO] Checking activity reminders 
[2026-04-21 14:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:17:58] [INFO] Checking activity reminders 
[2026-04-21 14:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:18:10] [INFO] Activity save request {"post_data":{"contact_id":"1467","deal_id":"local_69ca9002a9bb98.48384358","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه من نیازی به کانال و نوسان گیری ندارم\r\nملک های مازازد دارم همین طوری دادم برای خیریه \r\nدرامد و سرمایه هام خیلی مازاد هست \r\nبرا ی خرید خودرو میام نمایشگاه ","activity_duration":"5","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:18:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1467","note_was_empty":true}
[2026-04-21 14:18:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"1467","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:10] [INFO] Updating virtual stage {"contact_id":"1467","stage_name":"deal_registered","force":false}
[2026-04-21 14:18:10] [INFO] Virtual stage successfully saved {"contact_id":"1467","stage_name":"deal_registered"}
[2026-04-21 14:18:10] [INFO] Virtual stage updated after activity save {"contact_id":"1467"}
[2026-04-21 14:18:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca9002a9bb98.48384358","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 14:18:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e755eaa9e350.38219040","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e755eaa9e350.38219040"}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:10] [INFO] Updating virtual stage {"contact_id":"1467","stage_name":"deal_registered","force":false}
[2026-04-21 14:18:10] [INFO] Virtual stage successfully saved {"contact_id":"1467","stage_name":"deal_registered"}
[2026-04-21 14:18:10] [INFO] Virtual stage updated after activity save {"contact_id":"1467"}
[2026-04-21 14:18:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:18:16] [INFO] Checking activity reminders 
[2026-04-21 14:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:18:28] [INFO] Checking activity reminders 
[2026-04-21 14:18:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:18:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:18:46] [INFO] Checking activity reminders 
[2026-04-21 14:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:18:58] [INFO] Checking activity reminders 
[2026-04-21 14:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:19:03] [INFO] Checking activity reminders 
[2026-04-21 14:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:19:05] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1467","deal_id":"local_69ca9002a9bb98.48384358","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 14:19:05","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 14:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:19:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1467","is_new_deal":false}
[2026-04-21 14:19:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 14:19:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:19:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 14:19:05] [INFO] getContactPrimaryPhone called {"contact_id":"1467"}
[2026-04-21 14:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:19:05] [INFO] getContactPrimaryPhone result {"contact_id":"1467","person_found":true,"primary_phone":"9121035422"}
[2026-04-21 14:19:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121035422"}
[2026-04-21 14:19:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121035422","contact_id":"1467","deal_id":"local_69ca9002a9bb98.48384358","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:19:05"}
[2026-04-21 14:19:05] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca9002a9bb98.48384358","contact_id":"1467","existing_deal_found":true,"existing_contact_id":"1467","existing_title":"معامله دوم 9121035422 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 14:19:05"}
[2026-04-21 14:19:05] [INFO] DealController.save validated payments {"deal_id":"local_69ca9002a9bb98.48384358","contact_id":"1467","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-21 14:19:05] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1467","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 14:19:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca9002a9bb98.48384358","contact_didar_id":"1467","title":"معامله دوم 9121035422 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9121035422","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ناصرزاده","existing_deal":"YES","existing_deal_id":"local_69ca9002a9bb98.48384358","existing_deal_status":"Pending","server_time":"2026-04-21 14:19:05","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 14:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:19:05] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca9002a9bb98.48384358","contact_id":"1467","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9121035422 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-21 14:19:05","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 14:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1467","person_id":"12706"}
[2026-04-21 14:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-21 14:19:13] [INFO] Activity save request {"post_data":{"contact_id":"11874","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال هست تسویه بهمن \/ \r\nپشتیبانی ارسال سوال ","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:19:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:19:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:19:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11874","note_was_empty":true}
[2026-04-21 14:19:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"11874","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 14:19:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e756297ec711.03783817","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:19:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e756297ec711.03783817"}
[2026-04-21 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:19:13] [INFO] Updating virtual stage {"contact_id":"11874","stage_name":"deal_registered","force":false}
[2026-04-21 14:19:13] [INFO] Virtual stage successfully saved {"contact_id":"11874","stage_name":"deal_registered"}
[2026-04-21 14:19:13] [INFO] Virtual stage updated after activity save {"contact_id":"11874"}
[2026-04-21 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11874","person_id":"16520"}
[2026-04-21 14:19:16] [INFO] Checking activity reminders 
[2026-04-21 14:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:19:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:19:28] [INFO] Checking activity reminders 
[2026-04-21 14:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:19:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1090","person_id":"1787"}
[2026-04-21 14:19:46] [INFO] Checking activity reminders 
[2026-04-21 14:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:19:58] [INFO] Checking activity reminders 
[2026-04-21 14:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:20:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21037","person_id":"591"}
[2026-04-21 14:20:10] [INFO] Activity save request {"post_data":{"contact_id":"16865","deal_id":"local_6995dae9be92c9.33627591","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فعلا با شرایط جنگ کاری انجام نمیدم \r\nشماره دارم خواستم تماس میگیرم ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:20:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"16865","note_was_empty":true}
[2026-04-21 14:20:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"16865","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:10] [INFO] Updating virtual stage {"contact_id":"16865","stage_name":"deal_registered","force":false}
[2026-04-21 14:20:10] [INFO] Virtual stage successfully saved {"contact_id":"16865","stage_name":"deal_registered"}
[2026-04-21 14:20:10] [INFO] Virtual stage updated after activity save {"contact_id":"16865"}
[2026-04-21 14:20:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6995dae9be92c9.33627591","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-21 14:20:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7566215c1c9.34078097","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7566215c1c9.34078097"}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:10] [INFO] Updating virtual stage {"contact_id":"16865","stage_name":"deal_registered","force":false}
[2026-04-21 14:20:10] [INFO] Virtual stage successfully saved {"contact_id":"16865","stage_name":"deal_registered"}
[2026-04-21 14:20:10] [INFO] Virtual stage updated after activity save {"contact_id":"16865"}
[2026-04-21 14:20:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-21 14:20:16] [INFO] Checking activity reminders 
[2026-04-21 14:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:20:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:28] [INFO] Checking activity reminders 
[2026-04-21 14:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:20:44] [INFO] Activity save request {"post_data":{"contact_id":"13665","deal_id":"local_69b72bee5a3a19.06156210","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:20:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13665","note_was_empty":true}
[2026-04-21 14:20:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"13665","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:44] [INFO] Updating virtual stage {"contact_id":"13665","stage_name":"deal_registered","force":false}
[2026-04-21 14:20:44] [INFO] Virtual stage successfully saved {"contact_id":"13665","stage_name":"deal_registered"}
[2026-04-21 14:20:44] [INFO] Virtual stage updated after activity save {"contact_id":"13665"}
[2026-04-21 14:20:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72bee5a3a19.06156210","stage":"تماس پیگیری","status_change":null}
[2026-04-21 14:20:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e75684a67ff2.19124982","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e75684a67ff2.19124982"}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:44] [INFO] Updating virtual stage {"contact_id":"13665","stage_name":"deal_registered","force":false}
[2026-04-21 14:20:44] [INFO] Virtual stage successfully saved {"contact_id":"13665","stage_name":"deal_registered"}
[2026-04-21 14:20:44] [INFO] Virtual stage updated after activity save {"contact_id":"13665"}
[2026-04-21 14:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-21 14:20:46] [INFO] Checking activity reminders 
[2026-04-21 14:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:20:59] [INFO] Checking activity reminders 
[2026-04-21 14:20:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:20:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:21:16] [INFO] Checking activity reminders 
[2026-04-21 14:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:21:29] [INFO] Checking activity reminders 
[2026-04-21 14:21:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:21:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:21:46] [INFO] Checking activity reminders 
[2026-04-21 14:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:21:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:21:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:21:50] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:21:50] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:21:50] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:21:59] [INFO] Checking activity reminders 
[2026-04-21 14:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:22:16] [INFO] Checking activity reminders 
[2026-04-21 14:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:22:28] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-21 14:22:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:22:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:22:28] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-21 14:22:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:22:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:22:29] [INFO] Checking activity reminders 
[2026-04-21 14:22:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:22:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:22:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16117","person_id":"2886"}
[2026-04-21 14:22:47] [INFO] Checking activity reminders 
[2026-04-21 14:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:22:59] [INFO] Checking activity reminders 
[2026-04-21 14:22:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:22:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:23:11] [INFO] Checking activity reminders 
[2026-04-21 14:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:23:17] [INFO] Checking activity reminders 
[2026-04-21 14:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:23:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 14:23:42] [INFO] Checking activity reminders 
[2026-04-21 14:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:23:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:23:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:23:47] [INFO] Checking activity reminders 
[2026-04-21 14:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:24:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:00] [INFO] generateDealTitle result {"contact_id":"local_69e7422670c795.15685097","person_name":"مهدی حسین پور","mobile":"9226069157","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9226069157"}
[2026-04-21 14:24:12] [INFO] Checking activity reminders 
[2026-04-21 14:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:24:17] [INFO] Checking activity reminders 
[2026-04-21 14:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:24:42] [INFO] Checking activity reminders 
[2026-04-21 14:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:24:47] [INFO] Checking activity reminders 
[2026-04-21 14:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:24:56] [INFO] Activity save request {"post_data":{"contact_id":"local_69e7422670c795.15685097","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"معرف امین زاده قم \/ قم هدف کارشناسی خودرو 45 داره کار میکنه مدرک میخواد\r\nارسال ش کارت واریز الان","activity_duration":"25","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 14:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 14:24:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 14:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e7422670c795.15685097","note_was_empty":true}
[2026-04-21 14:24:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e75780688db6.29544121","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 14:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69e75780688db6.29544121"}
[2026-04-21 14:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:56] [INFO] Updating virtual stage {"contact_id":"local_69e7422670c795.15685097","stage_name":"deal_registered","force":false}
[2026-04-21 14:24:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69e7422670c795.15685097","stage_name":"deal_registered"}
[2026-04-21 14:24:56] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e7422670c795.15685097"}
[2026-04-21 14:24:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 14:24:57] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:24:57] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:24:57] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:25:12] [INFO] Checking activity reminders 
[2026-04-21 14:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:25:17] [INFO] Checking activity reminders 
[2026-04-21 14:25:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:25:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:25:42] [INFO] Checking activity reminders 
[2026-04-21 14:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:25:47] [INFO] Checking activity reminders 
[2026-04-21 14:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:26:12] [INFO] Checking activity reminders 
[2026-04-21 14:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:26:17] [INFO] Checking activity reminders 
[2026-04-21 14:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:26:42] [INFO] Checking activity reminders 
[2026-04-21 14:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:26:47] [INFO] Checking activity reminders 
[2026-04-21 14:26:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:26:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:27:12] [INFO] Checking activity reminders 
[2026-04-21 14:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:27:17] [INFO] Checking activity reminders 
[2026-04-21 14:27:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:27:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:27:43] [INFO] Checking activity reminders 
[2026-04-21 14:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:27:47] [INFO] Checking activity reminders 
[2026-04-21 14:27:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:27:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:28:05] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:28:05] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:28:05] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:28:13] [INFO] Checking activity reminders 
[2026-04-21 14:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:28:18] [INFO] Checking activity reminders 
[2026-04-21 14:28:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:28:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:28:43] [INFO] Checking activity reminders 
[2026-04-21 14:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:28:48] [INFO] Checking activity reminders 
[2026-04-21 14:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:29:13] [INFO] Checking activity reminders 
[2026-04-21 14:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:29:18] [INFO] Checking activity reminders 
[2026-04-21 14:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:29:43] [INFO] Checking activity reminders 
[2026-04-21 14:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:29:48] [INFO] Checking activity reminders 
[2026-04-21 14:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:30:13] [INFO] Checking activity reminders 
[2026-04-21 14:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:30:18] [INFO] Checking activity reminders 
[2026-04-21 14:30:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:30:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:30:44] [INFO] Checking activity reminders 
[2026-04-21 14:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:30:48] [INFO] Checking activity reminders 
[2026-04-21 14:30:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:30:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:31:14] [INFO] Checking activity reminders 
[2026-04-21 14:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:31:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:31:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:31:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:31:18] [INFO] Checking activity reminders 
[2026-04-21 14:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:31:44] [INFO] Checking activity reminders 
[2026-04-21 14:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:31:48] [INFO] Checking activity reminders 
[2026-04-21 14:31:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:31:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:32:14] [INFO] Checking activity reminders 
[2026-04-21 14:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:32:18] [INFO] Checking activity reminders 
[2026-04-21 14:32:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:32:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:32:44] [INFO] Checking activity reminders 
[2026-04-21 14:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:32:48] [INFO] Checking activity reminders 
[2026-04-21 14:32:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:32:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:33:14] [INFO] Checking activity reminders 
[2026-04-21 14:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:33:18] [INFO] Checking activity reminders 
[2026-04-21 14:33:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:33:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:33:44] [INFO] Checking activity reminders 
[2026-04-21 14:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:33:48] [INFO] Checking activity reminders 
[2026-04-21 14:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:34:14] [INFO] Checking activity reminders 
[2026-04-21 14:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:34:19] [INFO] Checking activity reminders 
[2026-04-21 14:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:34:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:34:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:34:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:34:44] [INFO] Checking activity reminders 
[2026-04-21 14:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:34:49] [INFO] Checking activity reminders 
[2026-04-21 14:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:35:15] [INFO] Checking activity reminders 
[2026-04-21 14:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:35:45] [INFO] Checking activity reminders 
[2026-04-21 14:35:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:35:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:36:15] [INFO] Checking activity reminders 
[2026-04-21 14:36:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:36:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:36:45] [INFO] Checking activity reminders 
[2026-04-21 14:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:37:15] [INFO] Checking activity reminders 
[2026-04-21 14:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:37:45] [INFO] Checking activity reminders 
[2026-04-21 14:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:38:15] [INFO] Checking activity reminders 
[2026-04-21 14:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:38:45] [INFO] Checking activity reminders 
[2026-04-21 14:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:39:15] [INFO] Checking activity reminders 
[2026-04-21 14:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:39:45] [INFO] Checking activity reminders 
[2026-04-21 14:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:40:15] [INFO] Checking activity reminders 
[2026-04-21 14:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:40:46] [INFO] Checking activity reminders 
[2026-04-21 14:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:41:16] [INFO] Checking activity reminders 
[2026-04-21 14:41:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:41:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:41:46] [INFO] Checking activity reminders 
[2026-04-21 14:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:42:16] [INFO] Checking activity reminders 
[2026-04-21 14:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:42:46] [INFO] Checking activity reminders 
[2026-04-21 14:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:43:16] [INFO] Checking activity reminders 
[2026-04-21 14:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:43:46] [INFO] Checking activity reminders 
[2026-04-21 14:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 14:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 14:58:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 14:58:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 14:58:45] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:00:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:07] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:00:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:00:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:00:46] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:08:36] [INFO] Checking activity reminders 
[2026-04-21 15:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:08:52] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:08:52] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:08:52] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:09:06] [INFO] Checking activity reminders 
[2026-04-21 15:09:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:09:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:09:36] [INFO] Checking activity reminders 
[2026-04-21 15:09:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:09:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:10:06] [INFO] Checking activity reminders 
[2026-04-21 15:10:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:10:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:10:36] [INFO] Checking activity reminders 
[2026-04-21 15:10:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:10:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:11:06] [INFO] Checking activity reminders 
[2026-04-21 15:11:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:11:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:11:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:11:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:11:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:11:37] [INFO] Checking activity reminders 
[2026-04-21 15:11:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:11:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:12:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:12:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:12:00] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:12:07] [INFO] Checking activity reminders 
[2026-04-21 15:12:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:12:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:12:28] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:12:37] [INFO] Checking activity reminders 
[2026-04-21 15:12:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:12:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:12:42] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:13:07] [INFO] Checking activity reminders 
[2026-04-21 15:13:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:13:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:13:23] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:13:23] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-21 15:13:24] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 15:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:13:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:13:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:13:31] [INFO] generateDealTitle result {"contact_id":"local_69e7422670c795.15685097","person_name":"مهدی حسین پور","mobile":"9226069157","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9226069157"}
[2026-04-21 15:13:42] [INFO] Checking activity reminders 
[2026-04-21 15:13:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:13:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:13:54] [INFO] Checking activity reminders 
[2026-04-21 15:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:14:09] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:14:09] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:14:09] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:14:12] [INFO] Checking activity reminders 
[2026-04-21 15:14:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:14:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:14:23] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"local_69e7422670c795.15685097","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 15:14:23","session_id":"cojnke1jhgkct5erqhuspgls57"}
[2026-04-21 15:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"local_69e7422670c795.15685097","is_new_deal":true}
[2026-04-21 15:14:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-21 15:14:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-21 15:14:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-21 15:14:23] [INFO] getContactPrimaryPhone called {"contact_id":"local_69e7422670c795.15685097"}
[2026-04-21 15:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:23] [INFO] getContactPrimaryPhone result {"contact_id":"local_69e7422670c795.15685097","person_found":true,"primary_phone":"9226069157"}
[2026-04-21 15:14:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9226069157"}
[2026-04-21 15:14:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9226069157","contact_id":"local_69e7422670c795.15685097","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-21 15:14:23"}
[2026-04-21 15:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:23] [INFO] generateDealTitle result {"contact_id":"local_69e7422670c795.15685097","person_name":"مهدی حسین پور","mobile":"9226069157","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9226069157"}
[2026-04-21 15:14:23] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69e7422670c795.15685097","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-21 15:14:23] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_69e7422670c795.15685097","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 15:14:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69e7422670c795.15685097","title":"معامله دوم 9226069157 | کارشناسی حضوری","base_title_used":"معامله دوم 9226069157","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی حسین پور","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-21 15:14:23","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-21 15:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:23] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-21 15:14:23] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69e7422670c795.15685097","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9226069157 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-21 15:14:23","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 15:14:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:25] [INFO] Checking activity reminders 
[2026-04-21 15:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:14:43] [INFO] Checking activity reminders 
[2026-04-21 15:14:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:14:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:14:53] [INFO] Activity save request {"post_data":{"contact_id":"local_69e7422670c795.15685097","deal_id":"local_69e76317752d94.63752127","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"واریز شد 10ت \/ سایت فعال کلاس هماهنگی شود","activity_duration":"10","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 15:14:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e7422670c795.15685097","note_was_empty":true}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Updating virtual stage {"contact_id":"local_69e7422670c795.15685097","stage_name":"with_purchase","force":false}
[2026-04-21 15:14:53] [INFO] Virtual stage successfully saved {"contact_id":"local_69e7422670c795.15685097","stage_name":"with_purchase"}
[2026-04-21 15:14:53] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e7422670c795.15685097"}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e76317752d94.63752127","stage":"اتمام","status_change":"Won"}
[2026-04-21 15:14:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e76335a5fb60.95951936","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69e76335a5fb60.95951936"}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:53] [INFO] Updating virtual stage {"contact_id":"local_69e7422670c795.15685097","stage_name":"with_purchase","force":false}
[2026-04-21 15:14:53] [INFO] Virtual stage successfully saved {"contact_id":"local_69e7422670c795.15685097","stage_name":"with_purchase"}
[2026-04-21 15:14:53] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e7422670c795.15685097"}
[2026-04-21 15:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:14:55] [INFO] Checking activity reminders 
[2026-04-21 15:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:15:13] [INFO] Checking activity reminders 
[2026-04-21 15:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:15:25] [INFO] Checking activity reminders 
[2026-04-21 15:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:15:43] [INFO] Checking activity reminders 
[2026-04-21 15:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:15:55] [INFO] Checking activity reminders 
[2026-04-21 15:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:16:13] [INFO] Checking activity reminders 
[2026-04-21 15:16:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:16:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:16:25] [INFO] Checking activity reminders 
[2026-04-21 15:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:16:43] [INFO] Checking activity reminders 
[2026-04-21 15:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:16:55] [INFO] Checking activity reminders 
[2026-04-21 15:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:17:13] [INFO] Checking activity reminders 
[2026-04-21 15:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:17:21] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:17:21] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:17:21] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:17:25] [INFO] Checking activity reminders 
[2026-04-21 15:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:17:43] [INFO] Checking activity reminders 
[2026-04-21 15:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:17:55] [INFO] Checking activity reminders 
[2026-04-21 15:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:18:13] [INFO] Checking activity reminders 
[2026-04-21 15:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:18:25] [INFO] Checking activity reminders 
[2026-04-21 15:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:18:55] [INFO] Checking activity reminders 
[2026-04-21 15:18:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:18:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:19:25] [INFO] Checking activity reminders 
[2026-04-21 15:19:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:19:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:19:55] [INFO] Checking activity reminders 
[2026-04-21 15:19:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:19:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:20:26] [INFO] Checking activity reminders 
[2026-04-21 15:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:20:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:20:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:20:27] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:20:56] [INFO] Checking activity reminders 
[2026-04-21 15:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:21:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:21:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:21:26] [INFO] Checking activity reminders 
[2026-04-21 15:21:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:21:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:21:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 15:21:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:22:21] [INFO] Checking activity reminders 
[2026-04-21 15:22:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:22:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:22:22] [INFO] Checking activity reminders 
[2026-04-21 15:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:22:51] [INFO] Checking activity reminders 
[2026-04-21 15:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:22:52] [INFO] Checking activity reminders 
[2026-04-21 15:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:23:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:23:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:21] [INFO] Checking activity reminders 
[2026-04-21 15:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:23:22] [INFO] Checking activity reminders 
[2026-04-21 15:23:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:23:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:23:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:23:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:23:38] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:23:50] [INFO] Activity save request {"post_data":{"contact_id":"6999","deal_id":"local_69400472cb9212.04477449","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ماشین میخواد 206 کانال هست ارسال ش پارسا","activity_duration":"10","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 15:23:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6999","note_was_empty":true}
[2026-04-21 15:23:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"6999","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Updating virtual stage {"contact_id":"6999","stage_name":"with_purchase","force":false}
[2026-04-21 15:23:50] [INFO] Virtual stage successfully saved {"contact_id":"6999","stage_name":"with_purchase"}
[2026-04-21 15:23:50] [INFO] Virtual stage updated after activity save {"contact_id":"6999"}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69400472cb9212.04477449","stage":"اتمام","status_change":"Won"}
[2026-04-21 15:23:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7654e709b02.26998329","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7654e709b02.26998329"}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:50] [INFO] Updating virtual stage {"contact_id":"6999","stage_name":"with_purchase","force":false}
[2026-04-21 15:23:50] [INFO] Virtual stage successfully saved {"contact_id":"6999","stage_name":"with_purchase"}
[2026-04-21 15:23:50] [INFO] Virtual stage updated after activity save {"contact_id":"6999"}
[2026-04-21 15:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6999","person_id":"726"}
[2026-04-21 15:23:51] [INFO] Checking activity reminders 
[2026-04-21 15:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:23:52] [INFO] Checking activity reminders 
[2026-04-21 15:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21123","person_id":"16687"}
[2026-04-21 15:24:21] [INFO] Checking activity reminders 
[2026-04-21 15:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:24:22] [INFO] Checking activity reminders 
[2026-04-21 15:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:24:52] [INFO] Checking activity reminders 
[2026-04-21 15:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:24:52] [INFO] Checking activity reminders 
[2026-04-21 15:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:25:22] [INFO] Checking activity reminders 
[2026-04-21 15:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:25:22] [INFO] Checking activity reminders 
[2026-04-21 15:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:25:52] [INFO] Checking activity reminders 
[2026-04-21 15:25:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:25:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:26:22] [INFO] Checking activity reminders 
[2026-04-21 15:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:26:49] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:26:49] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:26:49] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:26:52] [INFO] Checking activity reminders 
[2026-04-21 15:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:27:22] [INFO] Checking activity reminders 
[2026-04-21 15:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:27:29] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:27:29] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:27:30] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:27:52] [INFO] Checking activity reminders 
[2026-04-21 15:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:28:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:28:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:28:16] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:28:22] [INFO] Checking activity reminders 
[2026-04-21 15:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:28:52] [INFO] Checking activity reminders 
[2026-04-21 15:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:29:23] [INFO] Checking activity reminders 
[2026-04-21 15:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:29:53] [INFO] Checking activity reminders 
[2026-04-21 15:29:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:29:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:30:23] [INFO] Checking activity reminders 
[2026-04-21 15:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:30:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:30:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:45] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:45] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:45] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-21 15:30:45] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:45] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:54] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:30:54] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 15:30:54] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 15:30:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 15:30:54] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 15:30:54] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 15:30:54] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 15:31:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:31:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 15:34:58] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:34:58] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"check_reminders"}
[2026-04-21 15:34:58] [WARNING] Auth check failed - not authenticated {"session_id":"shi0lh5mdj3qghiep9hc02sj6t","session_keys":[],"action":"log_client_event"}
[2026-04-21 15:35:44] [INFO] Checking activity reminders 
[2026-04-21 15:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:36:14] [INFO] Checking activity reminders 
[2026-04-21 15:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:36:45] [INFO] Checking activity reminders 
[2026-04-21 15:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:37:15] [INFO] Checking activity reminders 
[2026-04-21 15:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:37:45] [INFO] Checking activity reminders 
[2026-04-21 15:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:38:15] [INFO] Checking activity reminders 
[2026-04-21 15:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:38:45] [INFO] Checking activity reminders 
[2026-04-21 15:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:39:15] [INFO] Checking activity reminders 
[2026-04-21 15:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:39:45] [INFO] Checking activity reminders 
[2026-04-21 15:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:40:15] [INFO] Checking activity reminders 
[2026-04-21 15:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:40:45] [INFO] Checking activity reminders 
[2026-04-21 15:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:41:15] [INFO] Checking activity reminders 
[2026-04-21 15:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:41:45] [INFO] Checking activity reminders 
[2026-04-21 15:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:42:16] [INFO] Checking activity reminders 
[2026-04-21 15:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:42:46] [INFO] Checking activity reminders 
[2026-04-21 15:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:43:16] [INFO] Checking activity reminders 
[2026-04-21 15:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:43:46] [INFO] Checking activity reminders 
[2026-04-21 15:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:44:16] [INFO] Checking activity reminders 
[2026-04-21 15:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:44:46] [INFO] Checking activity reminders 
[2026-04-21 15:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:45:16] [INFO] Checking activity reminders 
[2026-04-21 15:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:45:46] [INFO] Checking activity reminders 
[2026-04-21 15:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:46:16] [INFO] Checking activity reminders 
[2026-04-21 15:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:46:40] [INFO] Checking activity reminders 
[2026-04-21 15:46:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:46:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:46:46] [INFO] Checking activity reminders 
[2026-04-21 15:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:47:16] [INFO] Checking activity reminders 
[2026-04-21 15:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:47:47] [INFO] Checking activity reminders 
[2026-04-21 15:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:48:17] [INFO] Checking activity reminders 
[2026-04-21 15:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:48:25] [INFO] Activity save request {"post_data":{"contact_id":"3290","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام در بله ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 15:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 15:48:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 15:48:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 15:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 15:48:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3290","note_was_empty":true}
[2026-04-21 15:48:25] [INFO] Didar write disabled; saving activity locally {"contact_id":"3290","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 15:48:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e76b1154d332.96311818","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 15:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 15:48:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69e76b1154d332.96311818"}
[2026-04-21 15:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 15:48:25] [INFO] Updating virtual stage {"contact_id":"3290","stage_name":"deal_registered","force":false}
[2026-04-21 15:48:25] [INFO] Virtual stage successfully saved {"contact_id":"3290","stage_name":"deal_registered"}
[2026-04-21 15:48:25] [INFO] Virtual stage updated after activity save {"contact_id":"3290"}
[2026-04-21 15:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3290","person_id":"4789"}
[2026-04-21 15:48:39] [INFO] Checking activity reminders 
[2026-04-21 15:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:49:09] [INFO] Checking activity reminders 
[2026-04-21 15:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:49:17] [INFO] Checking activity reminders 
[2026-04-21 15:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:49:39] [INFO] Checking activity reminders 
[2026-04-21 15:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:50:10] [INFO] Checking activity reminders 
[2026-04-21 15:50:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:50:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:50:40] [INFO] Checking activity reminders 
[2026-04-21 15:50:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:50:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:51:10] [INFO] Checking activity reminders 
[2026-04-21 15:51:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:51:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:51:40] [INFO] Checking activity reminders 
[2026-04-21 15:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:51:40] [INFO] Checking activity reminders 
[2026-04-21 15:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:52:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 15:52:10] [INFO] Checking activity reminders 
[2026-04-21 15:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:52:11] [INFO] Checking activity reminders 
[2026-04-21 15:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:52:40] [INFO] Checking activity reminders 
[2026-04-21 15:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:52:41] [INFO] Checking activity reminders 
[2026-04-21 15:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:53:10] [INFO] Checking activity reminders 
[2026-04-21 15:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:53:11] [INFO] Checking activity reminders 
[2026-04-21 15:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:53:41] [INFO] Checking activity reminders 
[2026-04-21 15:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:53:41] [INFO] Checking activity reminders 
[2026-04-21 15:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:54:11] [INFO] Checking activity reminders 
[2026-04-21 15:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:54:11] [INFO] Checking activity reminders 
[2026-04-21 15:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:54:41] [INFO] Checking activity reminders 
[2026-04-21 15:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:54:41] [INFO] Checking activity reminders 
[2026-04-21 15:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:55:11] [INFO] Checking activity reminders 
[2026-04-21 15:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:55:11] [INFO] Checking activity reminders 
[2026-04-21 15:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:55:41] [INFO] Checking activity reminders 
[2026-04-21 15:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:55:41] [INFO] Checking activity reminders 
[2026-04-21 15:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:56:11] [INFO] Checking activity reminders 
[2026-04-21 15:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:56:11] [INFO] Checking activity reminders 
[2026-04-21 15:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:56:41] [INFO] Checking activity reminders 
[2026-04-21 15:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:56:45] [INFO] Checking activity reminders 
[2026-04-21 15:56:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:56:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:57:11] [INFO] Checking activity reminders 
[2026-04-21 15:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:57:15] [INFO] Checking activity reminders 
[2026-04-21 15:57:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:57:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:57:42] [INFO] Checking activity reminders 
[2026-04-21 15:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:57:45] [INFO] Checking activity reminders 
[2026-04-21 15:57:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:57:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:58:12] [INFO] Checking activity reminders 
[2026-04-21 15:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:58:15] [INFO] Checking activity reminders 
[2026-04-21 15:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:58:42] [INFO] Checking activity reminders 
[2026-04-21 15:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:58:45] [INFO] Checking activity reminders 
[2026-04-21 15:58:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:58:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:08] [INFO] Checking activity reminders 
[2026-04-21 15:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:10] [INFO] Checking activity reminders 
[2026-04-21 15:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:12] [INFO] Checking activity reminders 
[2026-04-21 15:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:15] [INFO] Checking activity reminders 
[2026-04-21 15:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 15:59:42] [INFO] Checking activity reminders 
[2026-04-21 15:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 15:59:45] [INFO] Checking activity reminders 
[2026-04-21 15:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 15:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:00:13] [INFO] Checking activity reminders 
[2026-04-21 16:00:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:00:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:00:15] [INFO] Checking activity reminders 
[2026-04-21 16:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:00:31] [INFO] Activity save request {"post_data":{"contact_id":"20071","deal_id":"local_69d4bf11ceb6e7.54321223","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زنگ میزنم الکی میگه الو الو قطع میکنه ارسال پیام ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 16:00:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20071","note_was_empty":true}
[2026-04-21 16:00:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"20071","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:31] [INFO] Updating virtual stage {"contact_id":"20071","stage_name":"deal_registered","force":false}
[2026-04-21 16:00:31] [INFO] Virtual stage successfully saved {"contact_id":"20071","stage_name":"deal_registered"}
[2026-04-21 16:00:31] [INFO] Virtual stage updated after activity save {"contact_id":"20071"}
[2026-04-21 16:00:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4bf11ceb6e7.54321223","stage":"تماس پیگیری","status_change":null}
[2026-04-21 16:00:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e76de7128246.93504901","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e76de7128246.93504901"}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:31] [INFO] Updating virtual stage {"contact_id":"20071","stage_name":"deal_registered","force":false}
[2026-04-21 16:00:31] [INFO] Virtual stage successfully saved {"contact_id":"20071","stage_name":"deal_registered"}
[2026-04-21 16:00:31] [INFO] Virtual stage updated after activity save {"contact_id":"20071"}
[2026-04-21 16:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20071","person_id":"3685"}
[2026-04-21 16:00:43] [INFO] Checking activity reminders 
[2026-04-21 16:00:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:00:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:00:45] [INFO] Checking activity reminders 
[2026-04-21 16:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:00:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d2257aea1c66.58004540","person_id":"21983"}
[2026-04-21 16:01:13] [INFO] Checking activity reminders 
[2026-04-21 16:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:01:15] [INFO] Checking activity reminders 
[2026-04-21 16:01:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:01:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:01:43] [INFO] Checking activity reminders 
[2026-04-21 16:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:01:45] [INFO] Checking activity reminders 
[2026-04-21 16:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:02:01] [INFO] Checking activity reminders 
[2026-04-21 16:02:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:02:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:02:15] [INFO] Checking activity reminders 
[2026-04-21 16:02:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:02:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:02:31] [INFO] Checking activity reminders 
[2026-04-21 16:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:02:45] [INFO] Checking activity reminders 
[2026-04-21 16:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:03:02] [INFO] Checking activity reminders 
[2026-04-21 16:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:03:16] [INFO] Checking activity reminders 
[2026-04-21 16:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:03:32] [INFO] Checking activity reminders 
[2026-04-21 16:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:03:46] [INFO] Checking activity reminders 
[2026-04-21 16:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:04:02] [INFO] Checking activity reminders 
[2026-04-21 16:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:04:16] [INFO] Checking activity reminders 
[2026-04-21 16:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:04:32] [INFO] Checking activity reminders 
[2026-04-21 16:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:04:46] [INFO] Checking activity reminders 
[2026-04-21 16:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:05:02] [INFO] Checking activity reminders 
[2026-04-21 16:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:05:16] [INFO] Checking activity reminders 
[2026-04-21 16:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:05:32] [INFO] Checking activity reminders 
[2026-04-21 16:05:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:05:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:05:46] [INFO] Checking activity reminders 
[2026-04-21 16:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:06:02] [INFO] Checking activity reminders 
[2026-04-21 16:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:06:16] [INFO] Checking activity reminders 
[2026-04-21 16:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:06:32] [INFO] Checking activity reminders 
[2026-04-21 16:06:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:06:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:06:46] [INFO] Checking activity reminders 
[2026-04-21 16:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:07:02] [INFO] Checking activity reminders 
[2026-04-21 16:07:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:07:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:07:16] [INFO] Checking activity reminders 
[2026-04-21 16:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:07:32] [INFO] Checking activity reminders 
[2026-04-21 16:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:07:47] [INFO] Checking activity reminders 
[2026-04-21 16:07:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:07:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:08:03] [INFO] Checking activity reminders 
[2026-04-21 16:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:08:17] [INFO] Checking activity reminders 
[2026-04-21 16:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:08:33] [INFO] Checking activity reminders 
[2026-04-21 16:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:08:47] [INFO] Checking activity reminders 
[2026-04-21 16:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:09:03] [INFO] Checking activity reminders 
[2026-04-21 16:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:09:17] [INFO] Checking activity reminders 
[2026-04-21 16:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:09:33] [INFO] Checking activity reminders 
[2026-04-21 16:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:09:47] [INFO] Checking activity reminders 
[2026-04-21 16:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:10:03] [INFO] Checking activity reminders 
[2026-04-21 16:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:10:17] [INFO] Checking activity reminders 
[2026-04-21 16:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:10:33] [INFO] Checking activity reminders 
[2026-04-21 16:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:10:47] [INFO] Checking activity reminders 
[2026-04-21 16:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:11:03] [INFO] Checking activity reminders 
[2026-04-21 16:11:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:11:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:11:17] [INFO] Checking activity reminders 
[2026-04-21 16:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:11:33] [INFO] Checking activity reminders 
[2026-04-21 16:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:11:47] [INFO] Checking activity reminders 
[2026-04-21 16:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:12:03] [INFO] Checking activity reminders 
[2026-04-21 16:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:12:17] [INFO] Checking activity reminders 
[2026-04-21 16:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:12:34] [INFO] Checking activity reminders 
[2026-04-21 16:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:12:47] [INFO] Checking activity reminders 
[2026-04-21 16:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:13:04] [INFO] Checking activity reminders 
[2026-04-21 16:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:13:17] [INFO] Checking activity reminders 
[2026-04-21 16:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:13:34] [INFO] Checking activity reminders 
[2026-04-21 16:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:13:47] [INFO] Checking activity reminders 
[2026-04-21 16:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:14:04] [INFO] Checking activity reminders 
[2026-04-21 16:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:14:17] [INFO] Checking activity reminders 
[2026-04-21 16:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:14:34] [INFO] Checking activity reminders 
[2026-04-21 16:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:14:47] [INFO] Checking activity reminders 
[2026-04-21 16:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:15:04] [INFO] Checking activity reminders 
[2026-04-21 16:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:15:18] [INFO] Checking activity reminders 
[2026-04-21 16:15:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:15:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:15:34] [INFO] Checking activity reminders 
[2026-04-21 16:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:15:48] [INFO] Checking activity reminders 
[2026-04-21 16:15:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:15:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:16:04] [INFO] Checking activity reminders 
[2026-04-21 16:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:16:18] [INFO] Checking activity reminders 
[2026-04-21 16:16:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:16:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:16:34] [INFO] Checking activity reminders 
[2026-04-21 16:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:16:48] [INFO] Checking activity reminders 
[2026-04-21 16:16:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:16:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:17:18] [INFO] Checking activity reminders 
[2026-04-21 16:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:17:48] [INFO] Checking activity reminders 
[2026-04-21 16:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:18:00] [INFO] Checking activity reminders 
[2026-04-21 16:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:18:18] [INFO] Checking activity reminders 
[2026-04-21 16:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:18:30] [INFO] Checking activity reminders 
[2026-04-21 16:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:18:48] [INFO] Checking activity reminders 
[2026-04-21 16:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:19:00] [INFO] Checking activity reminders 
[2026-04-21 16:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:19:18] [INFO] Checking activity reminders 
[2026-04-21 16:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:19:30] [INFO] Checking activity reminders 
[2026-04-21 16:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:19:48] [INFO] Checking activity reminders 
[2026-04-21 16:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:20:00] [INFO] Checking activity reminders 
[2026-04-21 16:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:20:16] [INFO] Activity save request {"post_data":{"contact_id":"5958","deal_id":"local_69d0a5a5309db7.56895588","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"هدف تمدید کانال \r\nعیار 300ت \/ 206\/207 مصرف \/ متاهل \/ زمین قم به ارزش 3الی 4میلیارد شریک \/\r\nنقدینگی هیچ \/ املاک کار میکنه \r\n6ماهه گفتم تا ساعت 5اطلاع با پشتیبانی یا بدون پشتیبانی","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 16:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 16:20:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 16:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5958","note_was_empty":true}
[2026-04-21 16:20:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"5958","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 16:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:16] [INFO] Updating virtual stage {"contact_id":"5958","stage_name":"deal_registered","force":false}
[2026-04-21 16:20:16] [INFO] Virtual stage successfully saved {"contact_id":"5958","stage_name":"deal_registered"}
[2026-04-21 16:20:16] [INFO] Virtual stage updated after activity save {"contact_id":"5958"}
[2026-04-21 16:20:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a5a5309db7.56895588","stage":"تماس پیگیری","status_change":null}
[2026-04-21 16:20:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77288d78595.69364588","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 16:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77288d78595.69364588"}
[2026-04-21 16:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:16] [INFO] Updating virtual stage {"contact_id":"5958","stage_name":"deal_registered","force":false}
[2026-04-21 16:20:16] [INFO] Virtual stage successfully saved {"contact_id":"5958","stage_name":"deal_registered"}
[2026-04-21 16:20:16] [INFO] Virtual stage updated after activity save {"contact_id":"5958"}
[2026-04-21 16:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5958","person_id":"7265"}
[2026-04-21 16:20:19] [INFO] Checking activity reminders 
[2026-04-21 16:20:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:20:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:20:30] [INFO] Checking activity reminders 
[2026-04-21 16:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:20:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","deal_id":"local_69465754470332.12240596","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:20:40","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:20:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:20:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","is_new_deal":false}
[2026-04-21 16:20:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:40] [INFO] getContactPrimaryPhone called {"contact_id":"849"}
[2026-04-21 16:20:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:20:40] [INFO] getContactPrimaryPhone result {"contact_id":"849","person_found":true,"primary_phone":"9962698112"}
[2026-04-21 16:20:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9962698112"}
[2026-04-21 16:20:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9962698112","contact_id":"849","deal_id":"local_69465754470332.12240596","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:20:40"}
[2026-04-21 16:20:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_69465754470332.12240596","contact_id":"849","existing_deal_found":true,"existing_contact_id":"849","existing_title":"معامله اول 9962698112 | معامله اول 9962698112","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:20:40"}
[2026-04-21 16:20:49] [INFO] Checking activity reminders 
[2026-04-21 16:20:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:20:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:20:56] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","deal_id":"local_69465754470332.12240596","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:20:56","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:20:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:20:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","is_new_deal":false}
[2026-04-21 16:20:56] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:20:56] [INFO] getContactPrimaryPhone called {"contact_id":"849"}
[2026-04-21 16:20:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:20:56] [INFO] getContactPrimaryPhone result {"contact_id":"849","person_found":true,"primary_phone":"9962698112"}
[2026-04-21 16:20:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9962698112"}
[2026-04-21 16:20:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9962698112","contact_id":"849","deal_id":"local_69465754470332.12240596","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:20:56"}
[2026-04-21 16:20:56] [INFO] DealController.save existing deal lookup {"deal_id":"local_69465754470332.12240596","contact_id":"849","existing_deal_found":true,"existing_contact_id":"849","existing_title":"معامله اول 9962698112 | معامله اول 9962698112","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:20:56"}
[2026-04-21 16:21:01] [INFO] Checking activity reminders 
[2026-04-21 16:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4962","person_id":"2829"}
[2026-04-21 16:21:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","deal_id":"local_69465754470332.12240596","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:21:07","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:21:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","is_new_deal":false}
[2026-04-21 16:21:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:07] [INFO] getContactPrimaryPhone called {"contact_id":"849"}
[2026-04-21 16:21:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:07] [INFO] getContactPrimaryPhone result {"contact_id":"849","person_found":true,"primary_phone":"9962698112"}
[2026-04-21 16:21:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9962698112"}
[2026-04-21 16:21:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9962698112","contact_id":"849","deal_id":"local_69465754470332.12240596","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:21:07"}
[2026-04-21 16:21:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_69465754470332.12240596","contact_id":"849","existing_deal_found":true,"existing_contact_id":"849","existing_title":"معامله اول 9962698112 | معامله اول 9962698112","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:21:07"}
[2026-04-21 16:21:07] [INFO] DealController.save validated payments {"deal_id":"local_69465754470332.12240596","contact_id":"849","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-21 16:21:07] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"849","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 16:21:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69465754470332.12240596","contact_didar_id":"849","title":"معامله اول 9962698112 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9962698112","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رحیم زاده","existing_deal":"YES","existing_deal_id":"local_69465754470332.12240596","existing_deal_status":"Pending","server_time":"2026-04-21 16:21:07","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 16:21:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69465754470332.12240596","contact_id":"849","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9962698112 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-21 16:21:07","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 16:21:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:19] [INFO] Checking activity reminders 
[2026-04-21 16:21:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:21:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:21:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","deal_id":"local_69465754470332.12240596","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:21:20","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"849","is_new_deal":false}
[2026-04-21 16:21:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 16:21:20] [INFO] getContactPrimaryPhone called {"contact_id":"849"}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:20] [INFO] getContactPrimaryPhone result {"contact_id":"849","person_found":true,"primary_phone":"9962698112"}
[2026-04-21 16:21:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9962698112"}
[2026-04-21 16:21:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9962698112","contact_id":"849","deal_id":"local_69465754470332.12240596","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:21:20"}
[2026-04-21 16:21:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69465754470332.12240596","contact_id":"849","existing_deal_found":true,"existing_contact_id":"849","existing_title":"معامله اول 9962698112 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:21:20"}
[2026-04-21 16:21:20] [INFO] DealController.save validated payments {"deal_id":"local_69465754470332.12240596","contact_id":"849","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-21 16:21:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"849","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 16:21:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69465754470332.12240596","contact_didar_id":"849","title":"معامله اول 9962698112 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9962698112","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رحیم زاده","existing_deal":"YES","existing_deal_id":"local_69465754470332.12240596","existing_deal_status":"Pending","server_time":"2026-04-21 16:21:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:20] [INFO] Deal success processed {"contact_id":"849","person_name":"رحیم زاده","products_count":1}
[2026-04-21 16:21:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69465754470332.12240596","contact_id":"849","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9962698112 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-21 16:21:20","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:20] [INFO] Updating virtual stage {"contact_id":"849","stage_name":"with_purchase","force":true}
[2026-04-21 16:21:20] [INFO] Virtual stage successfully saved {"contact_id":"849","stage_name":"with_purchase"}
[2026-04-21 16:21:20] [INFO] Moved contact out of kariz after successful deal {"contact_id":"849","deal_id":"local_69465754470332.12240596","target_stage":"with_purchase"}
[2026-04-21 16:21:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:21:31] [INFO] Checking activity reminders 
[2026-04-21 16:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:21:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9593","person_id":"4126"}
[2026-04-21 16:21:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:21:49] [INFO] Checking activity reminders 
[2026-04-21 16:21:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:21:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:22:01] [INFO] Checking activity reminders 
[2026-04-21 16:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:22:05] [INFO] Activity save request {"post_data":{"contact_id":"849","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"29 تومان پرداخت کردند یکساله نمیتونه فعلا تسویه کنه \r\n6 ماهه فعلا تو کاناله \r\nتمدید در 6 ماهه دوم ","activity_duration":"2","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 16:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:22:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 16:22:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 16:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:22:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"849","note_was_empty":true}
[2026-04-21 16:22:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"849","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 16:22:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e772f5712673.07158894","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 16:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:22:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e772f5712673.07158894"}
[2026-04-21 16:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:22:05] [INFO] Updating virtual stage {"contact_id":"849","stage_name":"with_purchase","force":false}
[2026-04-21 16:22:05] [INFO] Virtual stage successfully saved {"contact_id":"849","stage_name":"with_purchase"}
[2026-04-21 16:22:05] [INFO] Virtual stage updated after activity save {"contact_id":"849"}
[2026-04-21 16:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 16:22:19] [INFO] Checking activity reminders 
[2026-04-21 16:22:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:22:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:22:31] [INFO] Checking activity reminders 
[2026-04-21 16:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:22:49] [INFO] Checking activity reminders 
[2026-04-21 16:22:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:22:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:23:01] [INFO] Checking activity reminders 
[2026-04-21 16:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:23:19] [INFO] Checking activity reminders 
[2026-04-21 16:23:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:23:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:23:31] [INFO] Checking activity reminders 
[2026-04-21 16:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:23:49] [INFO] Checking activity reminders 
[2026-04-21 16:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:24:01] [INFO] Checking activity reminders 
[2026-04-21 16:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:24:19] [INFO] Checking activity reminders 
[2026-04-21 16:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:24:31] [INFO] Checking activity reminders 
[2026-04-21 16:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:24:49] [INFO] Checking activity reminders 
[2026-04-21 16:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:25:01] [INFO] Checking activity reminders 
[2026-04-21 16:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:25:19] [INFO] Checking activity reminders 
[2026-04-21 16:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:25:31] [INFO] Checking activity reminders 
[2026-04-21 16:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:25:49] [INFO] Checking activity reminders 
[2026-04-21 16:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:26:01] [INFO] Checking activity reminders 
[2026-04-21 16:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:26:19] [INFO] Checking activity reminders 
[2026-04-21 16:26:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:26:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:26:31] [INFO] Checking activity reminders 
[2026-04-21 16:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:26:49] [INFO] Checking activity reminders 
[2026-04-21 16:26:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:26:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:27:02] [INFO] Checking activity reminders 
[2026-04-21 16:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:27:20] [INFO] Checking activity reminders 
[2026-04-21 16:27:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:27:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:27:32] [INFO] Checking activity reminders 
[2026-04-21 16:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:27:50] [INFO] Checking activity reminders 
[2026-04-21 16:27:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:27:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:28:02] [INFO] Checking activity reminders 
[2026-04-21 16:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:28:20] [INFO] Checking activity reminders 
[2026-04-21 16:28:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:28:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:28:32] [INFO] Checking activity reminders 
[2026-04-21 16:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:28:46] [INFO] Activity save request {"post_data":{"contact_id":"local_69d4b5232a2d13.85694640","deal_id":"local_69d4b5233cc2c","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ملک مصرف داره میسازه \/ طلای ابشده داشته فروخته \/ \r\nشهر گلوگاه \/ شغل: ساخت و ساز \r\nمیگه نیاز نمیبینم باشم تبدیل کردم به ملک \/ بعد سوال میکنه الان طلا چی میشه \/ گفتم همین الان گفتی نیاز نداری جواب رو میتونی کانال دریافت کنی \/ اوسکول ","activity_duration":"15","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 16:28:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69d4b5232a2d13.85694640","note_was_empty":true}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:46] [INFO] Updating virtual stage {"contact_id":"local_69d4b5232a2d13.85694640","stage_name":"deal_registered","force":false}
[2026-04-21 16:28:46] [INFO] Virtual stage successfully saved {"contact_id":"local_69d4b5232a2d13.85694640","stage_name":"deal_registered"}
[2026-04-21 16:28:46] [INFO] Virtual stage updated after activity save {"contact_id":"local_69d4b5232a2d13.85694640"}
[2026-04-21 16:28:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4b5233cc2c","stage":"تماس پیگیری","status_change":null}
[2026-04-21 16:28:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7748686e087.79803047","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7748686e087.79803047"}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:46] [INFO] Updating virtual stage {"contact_id":"local_69d4b5232a2d13.85694640","stage_name":"deal_registered","force":false}
[2026-04-21 16:28:46] [INFO] Virtual stage successfully saved {"contact_id":"local_69d4b5232a2d13.85694640","stage_name":"deal_registered"}
[2026-04-21 16:28:46] [INFO] Virtual stage updated after activity save {"contact_id":"local_69d4b5232a2d13.85694640"}
[2026-04-21 16:28:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b5232a2d13.85694640","person_id":"22003"}
[2026-04-21 16:28:50] [INFO] Checking activity reminders 
[2026-04-21 16:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:29:02] [INFO] Checking activity reminders 
[2026-04-21 16:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:29:20] [INFO] Checking activity reminders 
[2026-04-21 16:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:29:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4225","person_id":"8754"}
[2026-04-21 16:29:32] [INFO] Checking activity reminders 
[2026-04-21 16:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:29:50] [INFO] Checking activity reminders 
[2026-04-21 16:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:30:02] [INFO] Checking activity reminders 
[2026-04-21 16:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:30:20] [INFO] Checking activity reminders 
[2026-04-21 16:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:30:32] [INFO] Checking activity reminders 
[2026-04-21 16:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:30:50] [INFO] Checking activity reminders 
[2026-04-21 16:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:31:02] [INFO] Checking activity reminders 
[2026-04-21 16:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:31:20] [INFO] Checking activity reminders 
[2026-04-21 16:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:31:32] [INFO] Checking activity reminders 
[2026-04-21 16:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:31:51] [INFO] Checking activity reminders 
[2026-04-21 16:31:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:31:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:32:03] [INFO] Checking activity reminders 
[2026-04-21 16:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:32:21] [INFO] Checking activity reminders 
[2026-04-21 16:32:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:32:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:32:33] [INFO] Checking activity reminders 
[2026-04-21 16:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:32:51] [INFO] Checking activity reminders 
[2026-04-21 16:32:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:32:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:33:03] [INFO] Checking activity reminders 
[2026-04-21 16:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:33:21] [INFO] Checking activity reminders 
[2026-04-21 16:33:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:33:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:33:33] [INFO] Checking activity reminders 
[2026-04-21 16:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:33:51] [INFO] Checking activity reminders 
[2026-04-21 16:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:34:03] [INFO] Checking activity reminders 
[2026-04-21 16:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:34:21] [INFO] Checking activity reminders 
[2026-04-21 16:34:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:34:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:34:33] [INFO] Checking activity reminders 
[2026-04-21 16:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:34:51] [INFO] Checking activity reminders 
[2026-04-21 16:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:35:03] [INFO] Checking activity reminders 
[2026-04-21 16:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:35:21] [INFO] Checking activity reminders 
[2026-04-21 16:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:35:33] [INFO] Checking activity reminders 
[2026-04-21 16:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:35:51] [INFO] Checking activity reminders 
[2026-04-21 16:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:36:03] [INFO] Checking activity reminders 
[2026-04-21 16:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:36:21] [INFO] Checking activity reminders 
[2026-04-21 16:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:36:33] [INFO] Checking activity reminders 
[2026-04-21 16:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:36:52] [INFO] Checking activity reminders 
[2026-04-21 16:36:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:36:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:37:03] [INFO] Checking activity reminders 
[2026-04-21 16:37:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:37:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:37:22] [INFO] Checking activity reminders 
[2026-04-21 16:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:37:33] [INFO] Checking activity reminders 
[2026-04-21 16:37:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:37:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:37:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:37:52] [INFO] Checking activity reminders 
[2026-04-21 16:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:38:03] [INFO] Checking activity reminders 
[2026-04-21 16:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:38:22] [INFO] Checking activity reminders 
[2026-04-21 16:38:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:38:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:38:25] [INFO] Activity save request {"post_data":{"contact_id":"17318","deal_id":"local_69cccd5288e328.46403679","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"3","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 16:38:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17318","note_was_empty":true}
[2026-04-21 16:38:25] [INFO] Didar write disabled; saving activity locally {"contact_id":"17318","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:25] [INFO] Updating virtual stage {"contact_id":"17318","stage_name":"deal_registered","force":false}
[2026-04-21 16:38:25] [INFO] Virtual stage successfully saved {"contact_id":"17318","stage_name":"deal_registered"}
[2026-04-21 16:38:25] [INFO] Virtual stage updated after activity save {"contact_id":"17318"}
[2026-04-21 16:38:25] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69cccd5288e328.46403679","stage":"تماس پیگیری","status_change":null}
[2026-04-21 16:38:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e776c9356782.26013696","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69e776c9356782.26013696"}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:25] [INFO] Updating virtual stage {"contact_id":"17318","stage_name":"deal_registered","force":false}
[2026-04-21 16:38:25] [INFO] Virtual stage successfully saved {"contact_id":"17318","stage_name":"deal_registered"}
[2026-04-21 16:38:25] [INFO] Virtual stage updated after activity save {"contact_id":"17318"}
[2026-04-21 16:38:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17318","person_id":"5748"}
[2026-04-21 16:38:34] [INFO] Checking activity reminders 
[2026-04-21 16:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:38:52] [INFO] Checking activity reminders 
[2026-04-21 16:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:39:04] [INFO] Checking activity reminders 
[2026-04-21 16:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:39:22] [INFO] Checking activity reminders 
[2026-04-21 16:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:39:34] [INFO] Checking activity reminders 
[2026-04-21 16:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:39:52] [INFO] Checking activity reminders 
[2026-04-21 16:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:40:04] [INFO] Checking activity reminders 
[2026-04-21 16:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:40:22] [INFO] Checking activity reminders 
[2026-04-21 16:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:40:34] [INFO] Checking activity reminders 
[2026-04-21 16:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:40:52] [INFO] Checking activity reminders 
[2026-04-21 16:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:41:04] [INFO] Checking activity reminders 
[2026-04-21 16:41:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:41:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:41:22] [INFO] Checking activity reminders 
[2026-04-21 16:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:41:34] [INFO] Checking activity reminders 
[2026-04-21 16:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:41:52] [INFO] Checking activity reminders 
[2026-04-21 16:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:42:04] [INFO] Checking activity reminders 
[2026-04-21 16:42:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:42:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:42:23] [INFO] Checking activity reminders 
[2026-04-21 16:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:42:34] [INFO] Checking activity reminders 
[2026-04-21 16:42:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:42:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:42:53] [INFO] Checking activity reminders 
[2026-04-21 16:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:43:04] [INFO] Checking activity reminders 
[2026-04-21 16:43:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:43:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:43:23] [INFO] Checking activity reminders 
[2026-04-21 16:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:43:34] [INFO] Checking activity reminders 
[2026-04-21 16:43:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:43:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:43:53] [INFO] Checking activity reminders 
[2026-04-21 16:43:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:43:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:44:04] [INFO] Checking activity reminders 
[2026-04-21 16:44:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:44:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:44:23] [INFO] Checking activity reminders 
[2026-04-21 16:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:44:34] [INFO] Checking activity reminders 
[2026-04-21 16:44:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:44:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:44:53] [INFO] Checking activity reminders 
[2026-04-21 16:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:45:04] [INFO] Checking activity reminders 
[2026-04-21 16:45:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:45:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:45:23] [INFO] Checking activity reminders 
[2026-04-21 16:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:45:35] [INFO] Checking activity reminders 
[2026-04-21 16:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:45:53] [INFO] Checking activity reminders 
[2026-04-21 16:45:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:45:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:46:05] [INFO] Checking activity reminders 
[2026-04-21 16:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:46:23] [INFO] Checking activity reminders 
[2026-04-21 16:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:46:35] [INFO] Checking activity reminders 
[2026-04-21 16:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:46:53] [INFO] Checking activity reminders 
[2026-04-21 16:46:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:46:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:05] [INFO] Checking activity reminders 
[2026-04-21 16:47:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:23] [INFO] Checking activity reminders 
[2026-04-21 16:47:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:35] [INFO] Checking activity reminders 
[2026-04-21 16:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:45] [INFO] Checking activity reminders 
[2026-04-21 16:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:47] [INFO] Checking activity reminders 
[2026-04-21 16:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:49] [INFO] Checking activity reminders 
[2026-04-21 16:47:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:47:54] [INFO] Checking activity reminders 
[2026-04-21 16:47:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:47:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:48:19] [INFO] Checking activity reminders 
[2026-04-21 16:48:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:48:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:48:24] [INFO] Checking activity reminders 
[2026-04-21 16:48:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:48:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:48:49] [INFO] Checking activity reminders 
[2026-04-21 16:48:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:48:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:48:54] [INFO] Checking activity reminders 
[2026-04-21 16:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:49:19] [INFO] Checking activity reminders 
[2026-04-21 16:49:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:49:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:49:24] [INFO] Checking activity reminders 
[2026-04-21 16:49:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:49:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:49:28] [INFO] Checking activity reminders 
[2026-04-21 16:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:49:54] [INFO] Checking activity reminders 
[2026-04-21 16:49:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:49:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:49:58] [INFO] Checking activity reminders 
[2026-04-21 16:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:50:24] [INFO] Checking activity reminders 
[2026-04-21 16:50:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:50:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:50:28] [INFO] Checking activity reminders 
[2026-04-21 16:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:50:54] [INFO] Checking activity reminders 
[2026-04-21 16:50:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:50:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:50:58] [INFO] Checking activity reminders 
[2026-04-21 16:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:51:24] [INFO] Checking activity reminders 
[2026-04-21 16:51:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:51:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:51:28] [INFO] Checking activity reminders 
[2026-04-21 16:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:51:54] [INFO] Checking activity reminders 
[2026-04-21 16:51:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:51:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:51:58] [INFO] Checking activity reminders 
[2026-04-21 16:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:52:24] [INFO] Checking activity reminders 
[2026-04-21 16:52:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:52:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:52:28] [INFO] Checking activity reminders 
[2026-04-21 16:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:52:54] [INFO] Checking activity reminders 
[2026-04-21 16:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:52:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"987","deal_id":"local_69b316955557b9.12574454","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:52:55","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:52:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:52:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"987","is_new_deal":false}
[2026-04-21 16:52:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 16:52:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 16:52:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 16:52:55] [INFO] getContactPrimaryPhone called {"contact_id":"987"}
[2026-04-21 16:52:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:52:55] [INFO] getContactPrimaryPhone result {"contact_id":"987","person_found":true,"primary_phone":"9168768819"}
[2026-04-21 16:52:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9168768819"}
[2026-04-21 16:52:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9168768819","contact_id":"987","deal_id":"local_69b316955557b9.12574454","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:52:55"}
[2026-04-21 16:52:55] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","existing_deal_found":true,"existing_contact_id":"987","existing_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:52:55"}
[2026-04-21 16:52:55] [INFO] DealController.save validated payments {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","payments_count":4,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-21 16:52:55] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"987","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 16:52:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b316955557b9.12574454","contact_didar_id":"987","title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","base_title_used":"معامله ششم 9168768819","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69b316955557b9.12574454","existing_deal_status":"Pending","server_time":"2026-04-21 16:52:55","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 16:52:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:52:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b316955557b9.12574454","contact_id":"987","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-21 16:52:55","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 16:52:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:52:59] [INFO] Checking activity reminders 
[2026-04-21 16:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:53:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"987","deal_id":"local_69b316955557b9.12574454","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 16:53:04","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 16:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"987","is_new_deal":false}
[2026-04-21 16:53:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-21 16:53:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 16:53:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-21 16:53:04] [INFO] getContactPrimaryPhone called {"contact_id":"987"}
[2026-04-21 16:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:04] [INFO] getContactPrimaryPhone result {"contact_id":"987","person_found":true,"primary_phone":"9168768819"}
[2026-04-21 16:53:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9168768819"}
[2026-04-21 16:53:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9168768819","contact_id":"987","deal_id":"local_69b316955557b9.12574454","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:53:04"}
[2026-04-21 16:53:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","existing_deal_found":true,"existing_contact_id":"987","existing_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 16:53:04"}
[2026-04-21 16:53:04] [INFO] DealController.save validated payments {"deal_id":"local_69b316955557b9.12574454","contact_id":"987","payments_count":4,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-21 16:53:04] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"987","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 16:53:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b316955557b9.12574454","contact_didar_id":"987","title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","base_title_used":"معامله ششم 9168768819","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"فتحی","existing_deal":"YES","existing_deal_id":"local_69b316955557b9.12574454","existing_deal_status":"Pending","server_time":"2026-04-21 16:53:04","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 16:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:04] [INFO] Deal success processed {"contact_id":"987","person_name":"فتحی","products_count":1}
[2026-04-21 16:53:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b316955557b9.12574454","contact_id":"987","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله ششم 9168768819 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-21 16:53:04","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 16:53:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:04] [INFO] Updating virtual stage {"contact_id":"987","stage_name":"with_purchase","force":true}
[2026-04-21 16:53:04] [INFO] Virtual stage successfully saved {"contact_id":"987","stage_name":"with_purchase"}
[2026-04-21 16:53:04] [INFO] Moved contact out of kariz after successful deal {"contact_id":"987","deal_id":"local_69b316955557b9.12574454","target_stage":"with_purchase"}
[2026-04-21 16:53:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-21 16:53:24] [INFO] Checking activity reminders 
[2026-04-21 16:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:53:29] [INFO] Checking activity reminders 
[2026-04-21 16:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:53:55] [INFO] Checking activity reminders 
[2026-04-21 16:53:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:53:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:53:59] [INFO] Checking activity reminders 
[2026-04-21 16:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:54:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-21 16:54:25] [INFO] Checking activity reminders 
[2026-04-21 16:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:54:29] [INFO] Checking activity reminders 
[2026-04-21 16:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:54:55] [INFO] Checking activity reminders 
[2026-04-21 16:54:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:54:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:54:59] [INFO] Checking activity reminders 
[2026-04-21 16:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:55:04] [INFO] Checking activity reminders 
[2026-04-21 16:55:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:55:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:55:07] [INFO] Checking activity reminders 
[2026-04-21 16:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:55:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 16:55:25] [INFO] Checking activity reminders 
[2026-04-21 16:55:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:55:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:55:37] [INFO] Checking activity reminders 
[2026-04-21 16:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:55:55] [INFO] Checking activity reminders 
[2026-04-21 16:55:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:55:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:56:08] [INFO] Checking activity reminders 
[2026-04-21 16:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:56:25] [INFO] Checking activity reminders 
[2026-04-21 16:56:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:56:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:56:38] [INFO] Checking activity reminders 
[2026-04-21 16:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:56:55] [INFO] Checking activity reminders 
[2026-04-21 16:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:57:08] [INFO] Checking activity reminders 
[2026-04-21 16:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:57:25] [INFO] Checking activity reminders 
[2026-04-21 16:57:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:57:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:57:38] [INFO] Checking activity reminders 
[2026-04-21 16:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:57:55] [INFO] Checking activity reminders 
[2026-04-21 16:57:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:57:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:58:08] [INFO] Checking activity reminders 
[2026-04-21 16:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:58:25] [INFO] Checking activity reminders 
[2026-04-21 16:58:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:58:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:58:38] [INFO] Checking activity reminders 
[2026-04-21 16:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 16:58:40] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:41] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:42] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-21 16:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:58:56] [INFO] Checking activity reminders 
[2026-04-21 16:58:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:58:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:59:08] [INFO] Checking activity reminders 
[2026-04-21 16:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_didar_users"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_users_list"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_kpi_products"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-21 16:59:15] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:16] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 16:59:23] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 16:59:23] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 16:59:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 16:59:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 16:59:25] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 16:59:25] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 16:59:25] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 16:59:26] [INFO] Checking activity reminders 
[2026-04-21 16:59:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:59:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:59:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 16:59:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 16:59:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 16:59:38] [INFO] Checking activity reminders 
[2026-04-21 16:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:59:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 16:59:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 16:59:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 16:59:54] [INFO] Checking activity reminders 
[2026-04-21 16:59:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:59:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 16:59:56] [INFO] Checking activity reminders 
[2026-04-21 16:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 16:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:08] [INFO] Checking activity reminders 
[2026-04-21 17:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:24] [INFO] Checking activity reminders 
[2026-04-21 17:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:26] [INFO] Checking activity reminders 
[2026-04-21 17:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:38] [INFO] Checking activity reminders 
[2026-04-21 17:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:54] [INFO] Checking activity reminders 
[2026-04-21 17:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:00:56] [INFO] Checking activity reminders 
[2026-04-21 17:00:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:00:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:08] [INFO] Checking activity reminders 
[2026-04-21 17:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"fb50da7e-779a-46ba-916a-f6655d6004a6","person_id":"21016"}
[2026-04-21 17:01:24] [INFO] Checking activity reminders 
[2026-04-21 17:01:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:26] [INFO] Checking activity reminders 
[2026-04-21 17:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:39] [INFO] Checking activity reminders 
[2026-04-21 17:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 17:01:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 17:01:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 17:01:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 17:01:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 17:01:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 17:01:54] [INFO] Checking activity reminders 
[2026-04-21 17:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:01:56] [INFO] Checking activity reminders 
[2026-04-21 17:01:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:01:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:02:09] [INFO] Checking activity reminders 
[2026-04-21 17:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:02:26] [INFO] Checking activity reminders 
[2026-04-21 17:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:02:39] [INFO] Checking activity reminders 
[2026-04-21 17:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:02:56] [INFO] Checking activity reminders 
[2026-04-21 17:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:03:09] [INFO] Checking activity reminders 
[2026-04-21 17:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:03:26] [INFO] Checking activity reminders 
[2026-04-21 17:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:03:39] [INFO] Checking activity reminders 
[2026-04-21 17:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:03:56] [INFO] Checking activity reminders 
[2026-04-21 17:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:04:09] [INFO] Checking activity reminders 
[2026-04-21 17:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:04:26] [INFO] Checking activity reminders 
[2026-04-21 17:04:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:04:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:04:39] [INFO] Checking activity reminders 
[2026-04-21 17:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:04:56] [INFO] Checking activity reminders 
[2026-04-21 17:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:05:09] [INFO] Checking activity reminders 
[2026-04-21 17:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:05:27] [INFO] Checking activity reminders 
[2026-04-21 17:05:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:05:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:05:39] [INFO] Checking activity reminders 
[2026-04-21 17:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:05:57] [INFO] Checking activity reminders 
[2026-04-21 17:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:06:09] [INFO] Checking activity reminders 
[2026-04-21 17:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:06:27] [INFO] Checking activity reminders 
[2026-04-21 17:06:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:06:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:06:40] [INFO] Checking activity reminders 
[2026-04-21 17:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:06:57] [INFO] Checking activity reminders 
[2026-04-21 17:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:07:10] [INFO] Checking activity reminders 
[2026-04-21 17:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:07:27] [INFO] Checking activity reminders 
[2026-04-21 17:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:07:40] [INFO] Checking activity reminders 
[2026-04-21 17:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:07:57] [INFO] Checking activity reminders 
[2026-04-21 17:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:08:10] [INFO] Checking activity reminders 
[2026-04-21 17:08:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:08:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:08:27] [INFO] Checking activity reminders 
[2026-04-21 17:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:08:40] [INFO] Checking activity reminders 
[2026-04-21 17:08:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:08:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:08:57] [INFO] Checking activity reminders 
[2026-04-21 17:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:09:10] [INFO] Checking activity reminders 
[2026-04-21 17:09:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:09:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:09:14] [INFO] Activity save request {"post_data":{"contact_id":"2989","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"در حین تماس قطع کرد \r\nدر بله کانال عمومی استاد ارسال شد ","activity_duration":"2","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 17:09:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:09:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 17:09:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2989","note_was_empty":true}
[2026-04-21 17:09:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"2989","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 17:09:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77e02cb97b0.90716358","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 17:09:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77e02cb97b0.90716358"}
[2026-04-21 17:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 17:09:14] [INFO] Updating virtual stage {"contact_id":"2989","stage_name":"deal_registered","force":false}
[2026-04-21 17:09:14] [INFO] Virtual stage successfully saved {"contact_id":"2989","stage_name":"deal_registered"}
[2026-04-21 17:09:14] [INFO] Virtual stage updated after activity save {"contact_id":"2989"}
[2026-04-21 17:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2989","person_id":"12615"}
[2026-04-21 17:09:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"363","person_id":"6245"}
[2026-04-21 17:09:27] [INFO] Checking activity reminders 
[2026-04-21 17:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:09:40] [INFO] Checking activity reminders 
[2026-04-21 17:09:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:09:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:09:58] [INFO] Checking activity reminders 
[2026-04-21 17:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:10:03] [INFO] Checking activity reminders 
[2026-04-21 17:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:10:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5710","person_id":"1781"}
[2026-04-21 17:10:28] [INFO] Checking activity reminders 
[2026-04-21 17:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:10:33] [INFO] Checking activity reminders 
[2026-04-21 17:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:10:58] [INFO] Checking activity reminders 
[2026-04-21 17:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:11:03] [INFO] Checking activity reminders 
[2026-04-21 17:11:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:11:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:11:28] [INFO] Checking activity reminders 
[2026-04-21 17:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:11:33] [INFO] Checking activity reminders 
[2026-04-21 17:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:11:58] [INFO] Checking activity reminders 
[2026-04-21 17:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:12:03] [INFO] Checking activity reminders 
[2026-04-21 17:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4165","person_id":"19650"}
[2026-04-21 17:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b719ec78bce8.83422873","person_id":"21872"}
[2026-04-21 17:12:28] [INFO] Checking activity reminders 
[2026-04-21 17:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:12:29] [INFO] Activity save request {"post_data":{"contact_id":"9077","deal_id":"local_69491d31c6f1b2.11883553","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ\r\nپیامک","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:12:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9077","note_was_empty":true}
[2026-04-21 17:12:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"9077","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:29] [INFO] Updating virtual stage {"contact_id":"9077","stage_name":"deal_registered","force":false}
[2026-04-21 17:12:29] [INFO] Virtual stage successfully saved {"contact_id":"9077","stage_name":"deal_registered"}
[2026-04-21 17:12:29] [INFO] Virtual stage updated after activity save {"contact_id":"9077"}
[2026-04-21 17:12:29] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69491d31c6f1b2.11883553","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 17:12:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77ec51b8994.29517801","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77ec51b8994.29517801"}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:29] [INFO] Updating virtual stage {"contact_id":"9077","stage_name":"deal_registered","force":false}
[2026-04-21 17:12:29] [INFO] Virtual stage successfully saved {"contact_id":"9077","stage_name":"deal_registered"}
[2026-04-21 17:12:29] [INFO] Virtual stage updated after activity save {"contact_id":"9077"}
[2026-04-21 17:12:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9077","person_id":"3870"}
[2026-04-21 17:12:33] [INFO] Checking activity reminders 
[2026-04-21 17:12:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:12:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:12:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:12:58] [INFO] Checking activity reminders 
[2026-04-21 17:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:13:03] [INFO] Checking activity reminders 
[2026-04-21 17:13:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:13:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:28] [INFO] Checking activity reminders 
[2026-04-21 17:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:13:33] [INFO] Checking activity reminders 
[2026-04-21 17:13:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:13:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:13:35] [INFO] Activity save request {"post_data":{"contact_id":"2947","deal_id":"local_69ca90762afa17.07440898","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ\r\nپیامک","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:13:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:13:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:13:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2947","note_was_empty":true}
[2026-04-21 17:13:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"2947","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 17:13:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:35] [INFO] Updating virtual stage {"contact_id":"2947","stage_name":"deal_registered","force":false}
[2026-04-21 17:13:35] [INFO] Virtual stage successfully saved {"contact_id":"2947","stage_name":"deal_registered"}
[2026-04-21 17:13:35] [INFO] Virtual stage updated after activity save {"contact_id":"2947"}
[2026-04-21 17:13:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca90762afa17.07440898","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 17:13:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77f07e1b182.73130274","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:13:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77f07e1b182.73130274"}
[2026-04-21 17:13:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:35] [INFO] Updating virtual stage {"contact_id":"2947","stage_name":"deal_registered","force":false}
[2026-04-21 17:13:35] [INFO] Virtual stage successfully saved {"contact_id":"2947","stage_name":"deal_registered"}
[2026-04-21 17:13:35] [INFO] Virtual stage updated after activity save {"contact_id":"2947"}
[2026-04-21 17:13:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-21 17:13:58] [INFO] Checking activity reminders 
[2026-04-21 17:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:14:03] [INFO] Checking activity reminders 
[2026-04-21 17:14:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:14:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:14:17] [INFO] Activity save request {"post_data":{"contact_id":"15757","deal_id":"local_69b5404010ec40.84695605","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال نبوده هیچ وقتم جواب نمیده ","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"other","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:14:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15757","note_was_empty":true}
[2026-04-21 17:14:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"15757","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Updating virtual stage {"contact_id":"15757","stage_name":"deal_registered","force":false}
[2026-04-21 17:14:17] [INFO] Virtual stage successfully saved {"contact_id":"15757","stage_name":"deal_registered"}
[2026-04-21 17:14:17] [INFO] Virtual stage updated after activity save {"contact_id":"15757"}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5404010ec40.84695605","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-21 17:14:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77f31798bb1.28425019","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77f31798bb1.28425019"}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:17] [INFO] Updating virtual stage {"contact_id":"15757","stage_name":"deal_registered","force":false}
[2026-04-21 17:14:17] [INFO] Virtual stage successfully saved {"contact_id":"15757","stage_name":"deal_registered"}
[2026-04-21 17:14:17] [INFO] Virtual stage updated after activity save {"contact_id":"15757"}
[2026-04-21 17:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15757","person_id":"14259"}
[2026-04-21 17:14:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:14:28] [INFO] Checking activity reminders 
[2026-04-21 17:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:14:33] [INFO] Checking activity reminders 
[2026-04-21 17:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:14:58] [INFO] Checking activity reminders 
[2026-04-21 17:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:15:04] [INFO] Checking activity reminders 
[2026-04-21 17:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:15:28] [INFO] Checking activity reminders 
[2026-04-21 17:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:15:32] [INFO] Activity save request {"post_data":{"contact_id":"2957","deal_id":"local_69d0a647822f72.55580630","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خاموش کلا ","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"other","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:15:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2957","note_was_empty":true}
[2026-04-21 17:15:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"2957","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Updating virtual stage {"contact_id":"2957","stage_name":"deal_registered","force":false}
[2026-04-21 17:15:32] [INFO] Virtual stage successfully saved {"contact_id":"2957","stage_name":"deal_registered"}
[2026-04-21 17:15:32] [INFO] Virtual stage updated after activity save {"contact_id":"2957"}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a647822f72.55580630","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-21 17:15:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e77f7c17b237.81669465","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e77f7c17b237.81669465"}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:32] [INFO] Updating virtual stage {"contact_id":"2957","stage_name":"deal_registered","force":false}
[2026-04-21 17:15:32] [INFO] Virtual stage successfully saved {"contact_id":"2957","stage_name":"deal_registered"}
[2026-04-21 17:15:32] [INFO] Virtual stage updated after activity save {"contact_id":"2957"}
[2026-04-21 17:15:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2957","person_id":"5796"}
[2026-04-21 17:15:34] [INFO] Checking activity reminders 
[2026-04-21 17:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:15:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:15:59] [INFO] Checking activity reminders 
[2026-04-21 17:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:16:04] [INFO] Checking activity reminders 
[2026-04-21 17:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:16:29] [INFO] Checking activity reminders 
[2026-04-21 17:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:16:34] [INFO] Checking activity reminders 
[2026-04-21 17:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:16:59] [INFO] Checking activity reminders 
[2026-04-21 17:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:17:04] [INFO] Checking activity reminders 
[2026-04-21 17:17:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:17:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:17:29] [INFO] Checking activity reminders 
[2026-04-21 17:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:17:34] [INFO] Checking activity reminders 
[2026-04-21 17:17:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:17:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:17:59] [INFO] Checking activity reminders 
[2026-04-21 17:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:18:04] [INFO] Checking activity reminders 
[2026-04-21 17:18:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:18:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:18:29] [INFO] Checking activity reminders 
[2026-04-21 17:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:18:34] [INFO] Checking activity reminders 
[2026-04-21 17:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:18:38] [INFO] Activity save request {"post_data":{"contact_id":"21208","deal_id":"local_69d0a5d9022dc6.26179429","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"در دسترسی نبود ارسال پیامک با خط 903","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:18:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21208","note_was_empty":true}
[2026-04-21 17:18:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"21208","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:38] [INFO] Updating virtual stage {"contact_id":"21208","stage_name":"deal_registered","force":false}
[2026-04-21 17:18:38] [INFO] Virtual stage successfully saved {"contact_id":"21208","stage_name":"deal_registered"}
[2026-04-21 17:18:38] [INFO] Virtual stage updated after activity save {"contact_id":"21208"}
[2026-04-21 17:18:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a5d9022dc6.26179429","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 17:18:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e78036ba9ac3.49706164","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e78036ba9ac3.49706164"}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:38] [INFO] Updating virtual stage {"contact_id":"21208","stage_name":"deal_registered","force":false}
[2026-04-21 17:18:38] [INFO] Virtual stage successfully saved {"contact_id":"21208","stage_name":"deal_registered"}
[2026-04-21 17:18:38] [INFO] Virtual stage updated after activity save {"contact_id":"21208"}
[2026-04-21 17:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21208","person_id":"5770"}
[2026-04-21 17:18:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:18:59] [INFO] Checking activity reminders 
[2026-04-21 17:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:19:04] [INFO] Checking activity reminders 
[2026-04-21 17:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:19:29] [INFO] Checking activity reminders 
[2026-04-21 17:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:19:34] [INFO] Checking activity reminders 
[2026-04-21 17:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:19:59] [INFO] Checking activity reminders 
[2026-04-21 17:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:20:05] [INFO] Checking activity reminders 
[2026-04-21 17:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:20:29] [INFO] Checking activity reminders 
[2026-04-21 17:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:20:35] [INFO] Checking activity reminders 
[2026-04-21 17:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:20:44] [INFO] Activity save request {"post_data":{"contact_id":"15853","deal_id":"local_69d4bbfe378cf5.58553468","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک با خط903","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:20:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15853","note_was_empty":true}
[2026-04-21 17:20:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"15853","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:44] [INFO] Updating virtual stage {"contact_id":"15853","stage_name":"deal_registered","force":false}
[2026-04-21 17:20:44] [INFO] Virtual stage successfully saved {"contact_id":"15853","stage_name":"deal_registered"}
[2026-04-21 17:20:44] [INFO] Virtual stage updated after activity save {"contact_id":"15853"}
[2026-04-21 17:20:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4bbfe378cf5.58553468","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 17:20:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e780b49cbd09.36190092","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e780b49cbd09.36190092"}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:44] [INFO] Updating virtual stage {"contact_id":"15853","stage_name":"deal_registered","force":false}
[2026-04-21 17:20:44] [INFO] Virtual stage successfully saved {"contact_id":"15853","stage_name":"deal_registered"}
[2026-04-21 17:20:44] [INFO] Virtual stage updated after activity save {"contact_id":"15853"}
[2026-04-21 17:20:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15853","person_id":"4366"}
[2026-04-21 17:20:59] [INFO] Checking activity reminders 
[2026-04-21 17:20:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:20:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:21:05] [INFO] Checking activity reminders 
[2026-04-21 17:21:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:21:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:21:29] [INFO] Checking activity reminders 
[2026-04-21 17:21:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:21:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:21:35] [INFO] Checking activity reminders 
[2026-04-21 17:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:21:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:21:59] [INFO] Checking activity reminders 
[2026-04-21 17:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:22:05] [INFO] Checking activity reminders 
[2026-04-21 17:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:22:29] [INFO] Checking activity reminders 
[2026-04-21 17:22:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:22:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:22:35] [INFO] Checking activity reminders 
[2026-04-21 17:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:23:00] [INFO] Checking activity reminders 
[2026-04-21 17:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:23:05] [INFO] Checking activity reminders 
[2026-04-21 17:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:23:30] [INFO] Checking activity reminders 
[2026-04-21 17:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:23:35] [INFO] Checking activity reminders 
[2026-04-21 17:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:24:00] [INFO] Checking activity reminders 
[2026-04-21 17:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:24:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:24:05] [INFO] Checking activity reminders 
[2026-04-21 17:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:24:30] [INFO] Checking activity reminders 
[2026-04-21 17:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:24:35] [INFO] Checking activity reminders 
[2026-04-21 17:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:25:00] [INFO] Checking activity reminders 
[2026-04-21 17:25:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:25:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:25:05] [INFO] Checking activity reminders 
[2026-04-21 17:25:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:25:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:25:30] [INFO] Checking activity reminders 
[2026-04-21 17:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:25:35] [INFO] Checking activity reminders 
[2026-04-21 17:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:26:00] [INFO] Checking activity reminders 
[2026-04-21 17:26:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:26:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:26:05] [INFO] Checking activity reminders 
[2026-04-21 17:26:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:26:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:26:30] [INFO] Checking activity reminders 
[2026-04-21 17:26:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:26:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:26:36] [INFO] Checking activity reminders 
[2026-04-21 17:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:27:00] [INFO] Checking activity reminders 
[2026-04-21 17:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:27:06] [INFO] Checking activity reminders 
[2026-04-21 17:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:27:30] [INFO] Checking activity reminders 
[2026-04-21 17:27:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:27:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:27:36] [INFO] Checking activity reminders 
[2026-04-21 17:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:28:01] [INFO] Checking activity reminders 
[2026-04-21 17:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:28:06] [INFO] Checking activity reminders 
[2026-04-21 17:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:28:31] [INFO] Checking activity reminders 
[2026-04-21 17:28:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:28:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:28:36] [INFO] Checking activity reminders 
[2026-04-21 17:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:29:01] [INFO] Checking activity reminders 
[2026-04-21 17:29:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:29:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:29:06] [INFO] Checking activity reminders 
[2026-04-21 17:29:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:29:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:29:31] [INFO] Checking activity reminders 
[2026-04-21 17:29:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:29:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:29:36] [INFO] Checking activity reminders 
[2026-04-21 17:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:30:01] [INFO] Checking activity reminders 
[2026-04-21 17:30:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:30:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:30:06] [INFO] Checking activity reminders 
[2026-04-21 17:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:30:31] [INFO] Checking activity reminders 
[2026-04-21 17:30:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:30:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:30:36] [INFO] Checking activity reminders 
[2026-04-21 17:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:31:01] [INFO] Checking activity reminders 
[2026-04-21 17:31:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:31:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:31:06] [INFO] Checking activity reminders 
[2026-04-21 17:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:31:31] [INFO] Checking activity reminders 
[2026-04-21 17:31:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:31:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:31:36] [INFO] Checking activity reminders 
[2026-04-21 17:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:32:01] [INFO] Checking activity reminders 
[2026-04-21 17:32:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:32:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:32:06] [INFO] Checking activity reminders 
[2026-04-21 17:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:32:32] [INFO] Checking activity reminders 
[2026-04-21 17:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:32:37] [INFO] Checking activity reminders 
[2026-04-21 17:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:33:02] [INFO] Checking activity reminders 
[2026-04-21 17:33:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:33:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:33:07] [INFO] Checking activity reminders 
[2026-04-21 17:33:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:33:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:33:32] [INFO] Checking activity reminders 
[2026-04-21 17:33:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:33:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:33:37] [INFO] Checking activity reminders 
[2026-04-21 17:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:34:02] [INFO] Checking activity reminders 
[2026-04-21 17:34:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:34:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:34:07] [INFO] Checking activity reminders 
[2026-04-21 17:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:34:32] [INFO] Checking activity reminders 
[2026-04-21 17:34:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:34:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:34:37] [INFO] Checking activity reminders 
[2026-04-21 17:34:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:34:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:35:02] [INFO] Checking activity reminders 
[2026-04-21 17:35:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:35:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:35:07] [INFO] Checking activity reminders 
[2026-04-21 17:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:35:32] [INFO] Checking activity reminders 
[2026-04-21 17:35:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:35:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:35:37] [INFO] Checking activity reminders 
[2026-04-21 17:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:36:02] [INFO] Checking activity reminders 
[2026-04-21 17:36:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:36:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:36:07] [INFO] Checking activity reminders 
[2026-04-21 17:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:36:32] [INFO] Checking activity reminders 
[2026-04-21 17:36:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:36:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:36:37] [INFO] Checking activity reminders 
[2026-04-21 17:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:37:02] [INFO] Checking activity reminders 
[2026-04-21 17:37:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:37:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:37:07] [INFO] Checking activity reminders 
[2026-04-21 17:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:37:32] [INFO] Checking activity reminders 
[2026-04-21 17:37:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:37:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:37:38] [INFO] Checking activity reminders 
[2026-04-21 17:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:38:02] [INFO] Checking activity reminders 
[2026-04-21 17:38:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:38:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:38:08] [INFO] Checking activity reminders 
[2026-04-21 17:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:38:32] [INFO] Checking activity reminders 
[2026-04-21 17:38:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:38:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:38:38] [INFO] Checking activity reminders 
[2026-04-21 17:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:39:02] [INFO] Checking activity reminders 
[2026-04-21 17:39:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:39:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:39:08] [INFO] Checking activity reminders 
[2026-04-21 17:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:39:33] [INFO] Checking activity reminders 
[2026-04-21 17:39:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:39:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:40:03] [INFO] Checking activity reminders 
[2026-04-21 17:40:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:40:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:40:33] [INFO] Checking activity reminders 
[2026-04-21 17:40:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:40:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:41:03] [INFO] Checking activity reminders 
[2026-04-21 17:41:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:41:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:41:32] [INFO] Activity save request {"post_data":{"contact_id":"3931","deal_id":"local_69c7ef41a484b8.32439840","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"\/5 گفتم \/ تا فردا فکر کنه اطلاع بده قبل تا کانال باهم داره جمع پداختی همشون کپیتال پروازم هست\/\r\n\r\nمیگه گرونه کانال شما \/دید دادم سودهاشو یادش انداختم\r\n8کیلو نقره \/   تا سکه \/ طلا60 گرم  \r\n درصد سرمایه ماشین بنز اس \/ جنسیس\/ ازرا \/ لندکروز \/ 10 میلیارد نقد \/ \r\n\r\n11\/5 میلیارد نفت محور خریده 2میلیارد 1ماه سود کرده \/ \r\nفردا اطلاع\r\n\r\n","activity_duration":"30","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:41:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"3931","note_was_empty":true}
[2026-04-21 17:41:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"3931","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:32] [INFO] Updating virtual stage {"contact_id":"3931","stage_name":"deal_registered","force":false}
[2026-04-21 17:41:32] [INFO] Virtual stage successfully saved {"contact_id":"3931","stage_name":"deal_registered"}
[2026-04-21 17:41:32] [INFO] Virtual stage updated after activity save {"contact_id":"3931"}
[2026-04-21 17:41:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c7ef41a484b8.32439840","stage":"تماس پیگیری","status_change":null}
[2026-04-21 17:41:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e78594874990.63045659","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e78594874990.63045659"}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:32] [INFO] Updating virtual stage {"contact_id":"3931","stage_name":"deal_registered","force":false}
[2026-04-21 17:41:32] [INFO] Virtual stage successfully saved {"contact_id":"3931","stage_name":"deal_registered"}
[2026-04-21 17:41:32] [INFO] Virtual stage updated after activity save {"contact_id":"3931"}
[2026-04-21 17:41:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3931","person_id":"20844"}
[2026-04-21 17:41:33] [INFO] Checking activity reminders 
[2026-04-21 17:41:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:41:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:42:03] [INFO] Checking activity reminders 
[2026-04-21 17:42:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:42:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:42:33] [INFO] Checking activity reminders 
[2026-04-21 17:42:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:42:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:43:03] [INFO] Checking activity reminders 
[2026-04-21 17:43:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:43:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:43:33] [INFO] Checking activity reminders 
[2026-04-21 17:43:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:43:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:44:03] [INFO] Checking activity reminders 
[2026-04-21 17:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:44:12] [INFO] Checking activity reminders 
[2026-04-21 17:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:44:20] [INFO] Checking activity reminders 
[2026-04-21 17:44:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:44:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:44:33] [INFO] Checking activity reminders 
[2026-04-21 17:44:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:44:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:44:50] [INFO] Checking activity reminders 
[2026-04-21 17:44:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:44:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:45:03] [INFO] Checking activity reminders 
[2026-04-21 17:45:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:45:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:45:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69b5cf1280cb81.11074755","deal_id":"local_69b5cf1284c22","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 17:45:13","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 17:45:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:45:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69b5cf1280cb81.11074755","is_new_deal":false}
[2026-04-21 17:45:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 17:45:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 17:45:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-21 17:45:13] [INFO] getContactPrimaryPhone called {"contact_id":"local_69b5cf1280cb81.11074755"}
[2026-04-21 17:45:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:45:13] [INFO] getContactPrimaryPhone result {"contact_id":"local_69b5cf1280cb81.11074755","person_found":true,"primary_phone":"9194733236"}
[2026-04-21 17:45:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194733236"}
[2026-04-21 17:45:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194733236","contact_id":"local_69b5cf1280cb81.11074755","deal_id":"local_69b5cf1284c22","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 17:45:13"}
[2026-04-21 17:45:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b5cf1284c22","contact_id":"local_69b5cf1280cb81.11074755","existing_deal_found":true,"existing_contact_id":"local_69b5cf1280cb81.11074755","existing_title":"معامله اول 9194733236 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 17:45:13"}
[2026-04-21 17:45:13] [INFO] DealController.save validated payments {"deal_id":"local_69b5cf1284c22","contact_id":"local_69b5cf1280cb81.11074755","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-21 17:45:13] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69b5cf1280cb81.11074755","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 17:45:13] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b5cf1284c22","contact_didar_id":"local_69b5cf1280cb81.11074755","title":"معامله اول 9194733236 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9194733236","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"احسان حسینی","existing_deal":"YES","existing_deal_id":"local_69b5cf1284c22","existing_deal_status":"Pending","server_time":"2026-04-21 17:45:13","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 17:45:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:45:13] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b5cf1284c22","contact_id":"local_69b5cf1280cb81.11074755","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194733236 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-21 17:45:13","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 17:45:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:45:20] [INFO] Checking activity reminders 
[2026-04-21 17:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:45:33] [INFO] Checking activity reminders 
[2026-04-21 17:45:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:45:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:45:51] [INFO] Checking activity reminders 
[2026-04-21 17:45:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:45:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:46:03] [INFO] Checking activity reminders 
[2026-04-21 17:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:46:21] [INFO] Checking activity reminders 
[2026-04-21 17:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:46:34] [INFO] Checking activity reminders 
[2026-04-21 17:46:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:46:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:46:51] [INFO] Checking activity reminders 
[2026-04-21 17:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:47:04] [INFO] Checking activity reminders 
[2026-04-21 17:47:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:47:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:47:21] [INFO] Checking activity reminders 
[2026-04-21 17:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:47:34] [INFO] Checking activity reminders 
[2026-04-21 17:47:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:47:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:47:51] [INFO] Checking activity reminders 
[2026-04-21 17:47:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:47:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:48:04] [INFO] Checking activity reminders 
[2026-04-21 17:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:48:21] [INFO] Checking activity reminders 
[2026-04-21 17:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:48:34] [INFO] Checking activity reminders 
[2026-04-21 17:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:48:51] [INFO] Checking activity reminders 
[2026-04-21 17:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:49:04] [INFO] Checking activity reminders 
[2026-04-21 17:49:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:49:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:49:21] [INFO] Checking activity reminders 
[2026-04-21 17:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:49:34] [INFO] Checking activity reminders 
[2026-04-21 17:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:49:51] [INFO] Checking activity reminders 
[2026-04-21 17:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:50:04] [INFO] Checking activity reminders 
[2026-04-21 17:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:50:21] [INFO] Checking activity reminders 
[2026-04-21 17:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:50:34] [INFO] Checking activity reminders 
[2026-04-21 17:50:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:50:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:50:52] [INFO] Checking activity reminders 
[2026-04-21 17:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:51:04] [INFO] Checking activity reminders 
[2026-04-21 17:51:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:51:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:51:22] [INFO] Checking activity reminders 
[2026-04-21 17:51:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:51:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:51:34] [INFO] Checking activity reminders 
[2026-04-21 17:51:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:51:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:51:52] [INFO] Checking activity reminders 
[2026-04-21 17:51:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:51:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:52:04] [INFO] Checking activity reminders 
[2026-04-21 17:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:52:22] [INFO] Checking activity reminders 
[2026-04-21 17:52:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:52:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:52:34] [INFO] Checking activity reminders 
[2026-04-21 17:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:52:52] [INFO] Checking activity reminders 
[2026-04-21 17:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:04] [INFO] Checking activity reminders 
[2026-04-21 17:53:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:22] [INFO] Checking activity reminders 
[2026-04-21 17:53:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:30] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5cf1280cb81.11074755","deal_id":"local_69b5cf1284c22","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کارمند \r\nاز اطلاعات کانال عمومی استفاده کرده \r\nبرای پرداخت چالش داره \r\nپرزنت 6 ماهه کانال \r\nارسال شماره شبا تجارت در بله ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:53:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b5cf1280cb81.11074755","note_was_empty":true}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:30] [INFO] Updating virtual stage {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered","force":false}
[2026-04-21 17:53:30] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered"}
[2026-04-21 17:53:30] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5cf1280cb81.11074755"}
[2026-04-21 17:53:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5cf1284c22","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-21 17:53:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e788620dce40.36477321","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69e788620dce40.36477321"}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:30] [INFO] Updating virtual stage {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered","force":false}
[2026-04-21 17:53:30] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered"}
[2026-04-21 17:53:30] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5cf1280cb81.11074755"}
[2026-04-21 17:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-21 17:53:32] [INFO] Checking activity reminders 
[2026-04-21 17:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:34] [INFO] Checking activity reminders 
[2026-04-21 17:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:34] [INFO] Checking activity reminders 
[2026-04-21 17:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:36] [INFO] Checking activity reminders 
[2026-04-21 17:53:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:53:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:53:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:54:04] [INFO] Checking activity reminders 
[2026-04-21 17:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:54:06] [INFO] Checking activity reminders 
[2026-04-21 17:54:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:54:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:54:35] [INFO] Checking activity reminders 
[2026-04-21 17:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:54:36] [INFO] Checking activity reminders 
[2026-04-21 17:54:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:54:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:55:06] [INFO] Checking activity reminders 
[2026-04-21 17:55:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:55:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:55:37] [INFO] Checking activity reminders 
[2026-04-21 17:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:55:42] [INFO] Activity save request {"post_data":{"contact_id":"4215","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام در بله ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:55:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:55:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:55:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4215","note_was_empty":true}
[2026-04-21 17:55:42] [INFO] Didar write disabled; saving activity locally {"contact_id":"4215","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 17:55:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e788e6311c00.67120325","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:55:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69e788e6311c00.67120325"}
[2026-04-21 17:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:55:42] [INFO] Updating virtual stage {"contact_id":"4215","stage_name":"deal_registered","force":false}
[2026-04-21 17:55:42] [INFO] Virtual stage successfully saved {"contact_id":"4215","stage_name":"deal_registered"}
[2026-04-21 17:55:42] [INFO] Virtual stage updated after activity save {"contact_id":"4215"}
[2026-04-21 17:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4215","person_id":"10998"}
[2026-04-21 17:55:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:56:07] [INFO] Checking activity reminders 
[2026-04-21 17:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:56:37] [INFO] Checking activity reminders 
[2026-04-21 17:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:57:07] [INFO] Checking activity reminders 
[2026-04-21 17:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:57:37] [INFO] Checking activity reminders 
[2026-04-21 17:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:57:39] [INFO] Activity save request {"post_data":{"contact_id":"1817","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 17:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:57:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 17:57:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 17:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:57:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1817","note_was_empty":true}
[2026-04-21 17:57:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"1817","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 17:57:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e7895b13ae55.89640073","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 17:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:57:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69e7895b13ae55.89640073"}
[2026-04-21 17:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:57:39] [INFO] Updating virtual stage {"contact_id":"1817","stage_name":"deal_registered","force":false}
[2026-04-21 17:57:39] [INFO] Virtual stage successfully saved {"contact_id":"1817","stage_name":"deal_registered"}
[2026-04-21 17:57:39] [INFO] Virtual stage updated after activity save {"contact_id":"1817"}
[2026-04-21 17:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-21 17:57:43] [INFO] Checking activity reminders 
[2026-04-21 17:57:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:57:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:57:49] [INFO] Checking activity reminders 
[2026-04-21 17:57:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:57:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:58:19] [INFO] Checking activity reminders 
[2026-04-21 17:58:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:58:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:58:49] [INFO] Checking activity reminders 
[2026-04-21 17:58:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:58:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:59:19] [INFO] Checking activity reminders 
[2026-04-21 17:59:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:59:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 17:59:54] [INFO] Checking activity reminders 
[2026-04-21 17:59:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 17:59:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:00:24] [INFO] Checking activity reminders 
[2026-04-21 18:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:00:54] [INFO] Checking activity reminders 
[2026-04-21 18:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:01:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:01:24] [INFO] Checking activity reminders 
[2026-04-21 18:01:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:01:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:01:54] [INFO] Checking activity reminders 
[2026-04-21 18:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:02:24] [INFO] Checking activity reminders 
[2026-04-21 18:02:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:02:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:02:55] [INFO] Checking activity reminders 
[2026-04-21 18:02:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:02:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:03:25] [INFO] Checking activity reminders 
[2026-04-21 18:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:03:55] [INFO] Checking activity reminders 
[2026-04-21 18:03:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:03:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 18:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:17] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:19] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:04:25] [INFO] Checking activity reminders 
[2026-04-21 18:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:04:55] [INFO] Checking activity reminders 
[2026-04-21 18:04:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:04:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:05:25] [INFO] Checking activity reminders 
[2026-04-21 18:05:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:05:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:05:55] [INFO] Checking activity reminders 
[2026-04-21 18:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:06:25] [INFO] Checking activity reminders 
[2026-04-21 18:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:06:55] [INFO] Checking activity reminders 
[2026-04-21 18:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:07:22] [INFO] Activity save request {"post_data":{"contact_id":"12098","deal_id":"local_69bbafe4300401.30827081","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دفتر دوستش تو جلسه بود \r\nشرایط صحبت نداشت \r\nخودش تماس ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 18:07:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12098","note_was_empty":true}
[2026-04-21 18:07:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"12098","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:22] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-21 18:07:22] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-21 18:07:22] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-21 18:07:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbafe4300401.30827081","stage":"تماس پیگیری","status_change":null}
[2026-04-21 18:07:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e78ba28fd214.57259650","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e78ba28fd214.57259650"}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:22] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-21 18:07:22] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-21 18:07:22] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-21 18:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-21 18:07:25] [INFO] Checking activity reminders 
[2026-04-21 18:07:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:07:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:07:55] [INFO] Checking activity reminders 
[2026-04-21 18:07:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:07:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:08:26] [INFO] Checking activity reminders 
[2026-04-21 18:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_didar_users"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_products"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_users_list"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_kpi_products"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-21 18:09:01] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:02] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:06] [INFO] Checking activity reminders 
[2026-04-21 18:09:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:09:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:09:07] [INFO] Checking activity reminders 
[2026-04-21 18:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:09:13] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:09:13] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 18:09:13] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 18:09:13] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 18:09:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 18:09:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 18:09:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 18:09:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-21 18:09:37] [INFO] Checking activity reminders 
[2026-04-21 18:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:10:07] [INFO] Checking activity reminders 
[2026-04-21 18:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:10:38] [INFO] Checking activity reminders 
[2026-04-21 18:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:11:08] [INFO] Checking activity reminders 
[2026-04-21 18:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:11:38] [INFO] Checking activity reminders 
[2026-04-21 18:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:12:08] [INFO] Checking activity reminders 
[2026-04-21 18:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:12:38] [INFO] Checking activity reminders 
[2026-04-21 18:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:13:08] [INFO] Checking activity reminders 
[2026-04-21 18:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:13:38] [INFO] Checking activity reminders 
[2026-04-21 18:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:14:08] [INFO] Checking activity reminders 
[2026-04-21 18:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:14:38] [INFO] Checking activity reminders 
[2026-04-21 18:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:15:08] [INFO] Checking activity reminders 
[2026-04-21 18:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:15:15] [INFO] Checking activity reminders 
[2026-04-21 18:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:15:37] [INFO] Checking activity reminders 
[2026-04-21 18:15:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:15:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:15:39] [INFO] Checking activity reminders 
[2026-04-21 18:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:15:40] [INFO] Checking activity reminders 
[2026-04-21 18:15:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:15:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:16:04] [INFO] Checking activity reminders 
[2026-04-21 18:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:16:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:16:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:16:13] [INFO] generateDealTitle result {"contact_id":"12007","person_name":"خضر نژاد","mobile":"9144884467","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9144884467"}
[2026-04-21 18:16:34] [INFO] Checking activity reminders 
[2026-04-21 18:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:17:04] [INFO] Checking activity reminders 
[2026-04-21 18:17:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:17:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:17:35] [INFO] Checking activity reminders 
[2026-04-21 18:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:18:05] [INFO] Checking activity reminders 
[2026-04-21 18:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:18:35] [INFO] Checking activity reminders 
[2026-04-21 18:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:19:01] [INFO] Activity save request {"post_data":{"contact_id":"12007","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:19:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 18:19:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:19:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12007","note_was_empty":true}
[2026-04-21 18:19:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"12007","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 18:19:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e78e5d0f76b3.79411543","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:19:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e78e5d0f76b3.79411543"}
[2026-04-21 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:19:01] [INFO] Updating virtual stage {"contact_id":"12007","stage_name":"deal_registered","force":false}
[2026-04-21 18:19:01] [INFO] Virtual stage successfully saved {"contact_id":"12007","stage_name":"deal_registered"}
[2026-04-21 18:19:01] [INFO] Virtual stage updated after activity save {"contact_id":"12007"}
[2026-04-21 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-21 18:19:05] [INFO] Checking activity reminders 
[2026-04-21 18:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:19:35] [INFO] Checking activity reminders 
[2026-04-21 18:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:20:05] [INFO] Checking activity reminders 
[2026-04-21 18:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:20:35] [INFO] Checking activity reminders 
[2026-04-21 18:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:21:05] [INFO] Checking activity reminders 
[2026-04-21 18:21:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:21:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:21:35] [INFO] Checking activity reminders 
[2026-04-21 18:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:22:05] [INFO] Checking activity reminders 
[2026-04-21 18:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:22:35] [INFO] Checking activity reminders 
[2026-04-21 18:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:23:05] [INFO] Checking activity reminders 
[2026-04-21 18:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:23:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:36] [INFO] Checking activity reminders 
[2026-04-21 18:23:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:23:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:23:56] [INFO] Activity save request {"post_data":{"contact_id":"20867","deal_id":"local_69d20e79c9e8e7.85606887","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پیام داد از کانال منصرف شدم \r\nپارسال برام سودی نداشته ","activity_duration":"1","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 18:23:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20867","note_was_empty":true}
[2026-04-21 18:23:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"20867","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:56] [INFO] Updating virtual stage {"contact_id":"20867","stage_name":"deal_registered","force":false}
[2026-04-21 18:23:56] [INFO] Virtual stage successfully saved {"contact_id":"20867","stage_name":"deal_registered"}
[2026-04-21 18:23:56] [INFO] Virtual stage updated after activity save {"contact_id":"20867"}
[2026-04-21 18:23:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d20e79c9e8e7.85606887","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-21 18:23:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e78f845b0d04.88862863","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69e78f845b0d04.88862863"}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:23:56] [INFO] Updating virtual stage {"contact_id":"20867","stage_name":"deal_registered","force":false}
[2026-04-21 18:23:56] [INFO] Virtual stage successfully saved {"contact_id":"20867","stage_name":"deal_registered"}
[2026-04-21 18:23:56] [INFO] Virtual stage updated after activity save {"contact_id":"20867"}
[2026-04-21 18:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:24:06] [INFO] Checking activity reminders 
[2026-04-21 18:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:24:26] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20867","deal_id":"local_69d20e79c9e8e7.85606887","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 18:24:26","session_id":"m2om8fhs1grsv8afdf68c2apfa"}
[2026-04-21 18:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:24:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20867","is_new_deal":false}
[2026-04-21 18:24:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 18:24:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 18:24:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-21 18:24:26] [INFO] getContactPrimaryPhone called {"contact_id":"20867"}
[2026-04-21 18:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:24:26] [INFO] getContactPrimaryPhone result {"contact_id":"20867","person_found":true,"primary_phone":"9130758155"}
[2026-04-21 18:24:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9130758155"}
[2026-04-21 18:24:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9130758155","contact_id":"20867","deal_id":"local_69d20e79c9e8e7.85606887","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 18:24:26"}
[2026-04-21 18:24:26] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d20e79c9e8e7.85606887","contact_id":"20867","existing_deal_found":true,"existing_contact_id":"20867","existing_title":"معامله دوم 9130758155 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 18:24:26"}
[2026-04-21 18:24:26] [INFO] DealController.save validated payments {"deal_id":"local_69d20e79c9e8e7.85606887","contact_id":"20867","payments_count":0,"status":"lost","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-21 18:24:26] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20867","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 18:24:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d20e79c9e8e7.85606887","contact_didar_id":"20867","title":"معامله دوم 9130758155 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9130758155","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"lost","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"کربلایی","existing_deal":"YES","existing_deal_id":"local_69d20e79c9e8e7.85606887","existing_deal_status":"Pending","server_time":"2026-04-21 18:24:26","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 18:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:24:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d20e79c9e8e7.85606887","contact_id":"20867","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9130758155 | کانال VIP با پشتیبانی شش ماهه","deal_status":"lost","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-21 18:24:26","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-21 18:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20867","person_id":"20061"}
[2026-04-21 18:24:36] [INFO] Checking activity reminders 
[2026-04-21 18:24:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:24:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:25:06] [INFO] Checking activity reminders 
[2026-04-21 18:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:25:36] [INFO] Checking activity reminders 
[2026-04-21 18:25:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:25:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:26:06] [INFO] Checking activity reminders 
[2026-04-21 18:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:26:36] [INFO] Checking activity reminders 
[2026-04-21 18:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:27:06] [INFO] Checking activity reminders 
[2026-04-21 18:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:27:36] [INFO] Checking activity reminders 
[2026-04-21 18:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:28:06] [INFO] Checking activity reminders 
[2026-04-21 18:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:28:36] [INFO] Checking activity reminders 
[2026-04-21 18:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:29:06] [INFO] Checking activity reminders 
[2026-04-21 18:29:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:29:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:29:29] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:29] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"check_reminders"}
[2026-04-21 18:29:29] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:36] [INFO] Checking activity reminders 
[2026-04-21 18:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"check_reminders"}
[2026-04-21 18:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:50] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:52] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_products"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_deals"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_deals"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_products"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_deals"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"get_deals"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:29:57] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:30:01] [WARNING] Auth check failed - not authenticated {"session_id":"cojnke1jhgkct5erqhuspgls57","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:30:01] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-21 18:30:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 18:30:07] [INFO] Checking activity reminders 
[2026-04-21 18:30:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:30:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:30:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 18:30:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 18:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 18:30:32] [INFO] Checking activity reminders 
[2026-04-21 18:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:30:37] [INFO] Checking activity reminders 
[2026-04-21 18:30:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:30:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:31:07] [INFO] Checking activity reminders 
[2026-04-21 18:31:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:31:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:31:37] [INFO] Checking activity reminders 
[2026-04-21 18:31:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:31:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:32:07] [INFO] Checking activity reminders 
[2026-04-21 18:32:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:32:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:32:37] [INFO] Checking activity reminders 
[2026-04-21 18:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:33:07] [INFO] Checking activity reminders 
[2026-04-21 18:33:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:33:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:33:37] [INFO] Checking activity reminders 
[2026-04-21 18:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:34:07] [INFO] Checking activity reminders 
[2026-04-21 18:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:34:37] [INFO] Checking activity reminders 
[2026-04-21 18:34:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:34:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:35:07] [INFO] Checking activity reminders 
[2026-04-21 18:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:35:37] [INFO] Checking activity reminders 
[2026-04-21 18:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:36:08] [INFO] Checking activity reminders 
[2026-04-21 18:36:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:36:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:36:38] [INFO] Checking activity reminders 
[2026-04-21 18:36:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:36:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:37:08] [INFO] Checking activity reminders 
[2026-04-21 18:37:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:37:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:37:38] [INFO] Checking activity reminders 
[2026-04-21 18:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:38:08] [INFO] Checking activity reminders 
[2026-04-21 18:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:38:38] [INFO] Checking activity reminders 
[2026-04-21 18:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:39:08] [INFO] Checking activity reminders 
[2026-04-21 18:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:39:38] [INFO] Checking activity reminders 
[2026-04-21 18:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:40:08] [INFO] Checking activity reminders 
[2026-04-21 18:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:40:38] [INFO] Checking activity reminders 
[2026-04-21 18:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:41:08] [INFO] Checking activity reminders 
[2026-04-21 18:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:41:39] [INFO] Checking activity reminders 
[2026-04-21 18:41:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:41:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:42:09] [INFO] Checking activity reminders 
[2026-04-21 18:42:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:42:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:42:39] [INFO] Checking activity reminders 
[2026-04-21 18:42:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:42:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:43:09] [INFO] Checking activity reminders 
[2026-04-21 18:43:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:43:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:43:39] [INFO] Checking activity reminders 
[2026-04-21 18:43:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:43:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:43:54] [INFO] Checking activity reminders 
[2026-04-21 18:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:43:55] [INFO] Checking activity reminders 
[2026-04-21 18:43:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:43:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:44:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:44:25] [INFO] Checking activity reminders 
[2026-04-21 18:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:44:55] [INFO] Checking activity reminders 
[2026-04-21 18:44:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:44:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:45:26] [INFO] Checking activity reminders 
[2026-04-21 18:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:45:56] [INFO] Checking activity reminders 
[2026-04-21 18:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:46:26] [INFO] Checking activity reminders 
[2026-04-21 18:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:46:56] [INFO] Checking activity reminders 
[2026-04-21 18:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:46:57] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 18:46:57] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:46:57] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 18:47:26] [INFO] Checking activity reminders 
[2026-04-21 18:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:47:56] [INFO] Checking activity reminders 
[2026-04-21 18:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:48:26] [INFO] Checking activity reminders 
[2026-04-21 18:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:48:56] [INFO] Checking activity reminders 
[2026-04-21 18:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:49:26] [INFO] Checking activity reminders 
[2026-04-21 18:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:49:56] [INFO] Checking activity reminders 
[2026-04-21 18:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:50:26] [INFO] Checking activity reminders 
[2026-04-21 18:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:50:57] [INFO] Checking activity reminders 
[2026-04-21 18:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:51:27] [INFO] Checking activity reminders 
[2026-04-21 18:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:51:56] [INFO] Activity save request {"post_data":{"contact_id":"21285","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در بنگاه خودرویی کارمیکنه \r\nهیچی بلد نیست \r\nمجدد 15 دقیقه پرزنت هوش \r\nمشاوره اموزشی \r\nارسال شماره کارت و کد تخفیف ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-21 18:51:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:51:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-21 18:51:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-21 18:51:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:51:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21285","note_was_empty":true}
[2026-04-21 18:51:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"21285","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-21 18:51:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e79614de9c15.03692121","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-21 18:51:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:51:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69e79614de9c15.03692121"}
[2026-04-21 18:51:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:51:56] [INFO] Updating virtual stage {"contact_id":"21285","stage_name":"deal_registered","force":false}
[2026-04-21 18:51:56] [INFO] Virtual stage successfully saved {"contact_id":"21285","stage_name":"deal_registered"}
[2026-04-21 18:51:56] [INFO] Virtual stage updated after activity save {"contact_id":"21285"}
[2026-04-21 18:51:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 18:51:58] [INFO] Checking activity reminders 
[2026-04-21 18:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:52:29] [INFO] Checking activity reminders 
[2026-04-21 18:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:52:59] [INFO] Checking activity reminders 
[2026-04-21 18:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:53:18] [INFO] Checking activity reminders 
[2026-04-21 18:53:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:53:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:53:21] [INFO] Checking activity reminders 
[2026-04-21 18:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:53:23] [INFO] Checking activity reminders 
[2026-04-21 18:53:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:53:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:53:53] [INFO] Checking activity reminders 
[2026-04-21 18:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:54:02] [INFO] Checking activity reminders 
[2026-04-21 18:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:54:05] [INFO] Checking activity reminders 
[2026-04-21 18:54:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:54:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:54:35] [INFO] Checking activity reminders 
[2026-04-21 18:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:57:16] [INFO] Checking activity reminders 
[2026-04-21 18:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:57:25] [INFO] Checking activity reminders 
[2026-04-21 18:57:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:57:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:57:38] [INFO] Checking activity reminders 
[2026-04-21 18:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 18:59:08] [INFO] Checking activity reminders 
[2026-04-21 18:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 18:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:00:05] [INFO] Checking activity reminders 
[2026-04-21 19:00:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:00:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:00:07] [INFO] Checking activity reminders 
[2026-04-21 19:00:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:00:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:00:37] [INFO] Checking activity reminders 
[2026-04-21 19:00:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:00:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:01:07] [INFO] Checking activity reminders 
[2026-04-21 19:01:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:01:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:01:37] [INFO] Checking activity reminders 
[2026-04-21 19:01:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:01:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:02:07] [INFO] Checking activity reminders 
[2026-04-21 19:02:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:02:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:02:38] [INFO] Checking activity reminders 
[2026-04-21 19:02:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:02:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:03:08] [INFO] Checking activity reminders 
[2026-04-21 19:03:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:03:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:03:38] [INFO] Checking activity reminders 
[2026-04-21 19:03:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:03:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:05:58] [INFO] Checking activity reminders 
[2026-04-21 19:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:07:07] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:07] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-21 19:07:07] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:08] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:08] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:08] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:08] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_person_profile"}
[2026-04-21 19:07:08] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:10] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:10] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:14] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:14] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:14] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-21 19:07:14] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:14] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:07:23] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 19:07:23] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 19:07:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 19:07:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:07:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:07:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 19:07:44] [INFO] Checking activity reminders 
[2026-04-21 19:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:07:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-21 19:11:32] [INFO] Checking activity reminders 
[2026-04-21 19:11:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:11:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:12:02] [INFO] Checking activity reminders 
[2026-04-21 19:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:12:09] [INFO] Checking activity reminders 
[2026-04-21 19:12:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:12:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:22:00] [WARNING] Auth check failed - not authenticated {"session_id":"gf9esesgi6l2unau6m56vfhj0e","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:22:00] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-21 19:22:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 19:22:31] [INFO] Checking activity reminders 
[2026-04-21 19:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:22:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:23:01] [INFO] Checking activity reminders 
[2026-04-21 19:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:23:31] [INFO] Checking activity reminders 
[2026-04-21 19:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:24:02] [INFO] Checking activity reminders 
[2026-04-21 19:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:24:54] [INFO] Checking activity reminders 
[2026-04-21 19:24:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:24:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:25:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 19:25:11] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:25:11] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:25:11] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:25:13] [INFO] Checking activity reminders 
[2026-04-21 19:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:25:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"21285","deal_id":"18367","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 19:25:23","session_id":"gf9esesgi6l2unau6m56vfhj0e"}
[2026-04-21 19:25:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21285","is_new_deal":false}
[2026-04-21 19:25:23] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-21 19:25:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-21 19:25:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-21 19:25:23] [INFO] getContactPrimaryPhone called {"contact_id":"21285"}
[2026-04-21 19:25:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:23] [INFO] getContactPrimaryPhone result {"contact_id":"21285","person_found":true,"primary_phone":"9392766741"}
[2026-04-21 19:25:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9392766741"}
[2026-04-21 19:25:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9392766741","contact_id":"21285","deal_id":"18367","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 19:25:23"}
[2026-04-21 19:25:23] [INFO] DealController.save existing deal lookup {"deal_id":"18367","contact_id":"21285","existing_deal_found":true,"existing_contact_id":"21285","existing_title":"معامله پوریا حق بین | هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 19:25:23"}
[2026-04-21 19:25:23] [INFO] DealController.save validated payments {"deal_id":"18367","contact_id":"21285","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-21 19:25:23] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21285","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 19:25:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"18367","contact_didar_id":"21285","title":"معامله پوریا حق بین | هوش خودرو","base_title_used":"معامله پوریا حق بین","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"پوریا حق بین","existing_deal":"YES","existing_deal_id":"18367","existing_deal_status":"Pending","server_time":"2026-04-21 19:25:23","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 19:25:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:23] [INFO] ensureDealProductsFromText: products synced {"deal_id":"18367","product_ids":[2]}
[2026-04-21 19:25:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"18367","contact_id":"21285","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پوریا حق بین | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-04-21 19:25:23","ip_address":"5.112.64.159","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-21 19:25:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:43] [INFO] Checking activity reminders 
[2026-04-21 19:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:25:47] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"21285","deal_id":"18367","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-21 19:25:47","session_id":"gf9esesgi6l2unau6m56vfhj0e"}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:47] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21285","is_new_deal":false}
[2026-04-21 19:25:47] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-21 19:25:47] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-21 19:25:47] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-21 19:25:47] [INFO] getContactPrimaryPhone called {"contact_id":"21285"}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:47] [INFO] getContactPrimaryPhone result {"contact_id":"21285","person_found":true,"primary_phone":"9392766741"}
[2026-04-21 19:25:47] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9392766741"}
[2026-04-21 19:25:47] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9392766741","contact_id":"21285","deal_id":"18367","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 19:25:47"}
[2026-04-21 19:25:47] [INFO] DealController.save existing deal lookup {"deal_id":"18367","contact_id":"21285","existing_deal_found":true,"existing_contact_id":"21285","existing_title":"معامله پوریا حق بین | هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-21 19:25:47"}
[2026-04-21 19:25:47] [INFO] DealController.save validated payments {"deal_id":"18367","contact_id":"21285","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-21 19:25:47] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21285","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-21 19:25:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"18367","contact_didar_id":"21285","title":"معامله پوریا حق بین | هوش خودرو","base_title_used":"معامله پوریا حق بین","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"پوریا حق بین","existing_deal":"YES","existing_deal_id":"18367","existing_deal_status":"Pending","server_time":"2026-04-21 19:25:47","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:47] [INFO] Deal success processed {"contact_id":"21285","person_name":"پوریا حق بین","products_count":1}
[2026-04-21 19:25:47] [INFO] ensureDealProductsFromText: products synced {"deal_id":"18367","product_ids":[2]}
[2026-04-21 19:25:47] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"18367","contact_id":"21285","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پوریا حق بین | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-04-21 19:25:47","ip_address":"5.112.64.159","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:47] [INFO] Updating virtual stage {"contact_id":"21285","stage_name":"with_purchase","force":true}
[2026-04-21 19:25:47] [INFO] Virtual stage successfully saved {"contact_id":"21285","stage_name":"with_purchase"}
[2026-04-21 19:25:47] [INFO] Moved contact out of kariz after successful deal {"contact_id":"21285","deal_id":"18367","target_stage":"with_purchase"}
[2026-04-21 19:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:25:54] [INFO] Checking activity reminders 
[2026-04-21 19:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:26:09] [INFO] Checking activity reminders 
[2026-04-21 19:26:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:26:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:26:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-21 19:26:32] [INFO] Checking activity reminders 
[2026-04-21 19:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:27:02] [INFO] Checking activity reminders 
[2026-04-21 19:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:27:32] [INFO] Checking activity reminders 
[2026-04-21 19:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:28:03] [INFO] Checking activity reminders 
[2026-04-21 19:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:28:33] [INFO] Checking activity reminders 
[2026-04-21 19:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:29:03] [INFO] Checking activity reminders 
[2026-04-21 19:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:29:33] [INFO] Checking activity reminders 
[2026-04-21 19:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:30:03] [INFO] Checking activity reminders 
[2026-04-21 19:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:30:33] [INFO] Checking activity reminders 
[2026-04-21 19:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:31:04] [INFO] Checking activity reminders 
[2026-04-21 19:31:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:31:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:31:34] [INFO] Checking activity reminders 
[2026-04-21 19:31:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:31:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:32:04] [INFO] Checking activity reminders 
[2026-04-21 19:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:32:34] [INFO] Checking activity reminders 
[2026-04-21 19:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:33:04] [INFO] Checking activity reminders 
[2026-04-21 19:33:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:33:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:33:34] [INFO] Checking activity reminders 
[2026-04-21 19:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:34:05] [INFO] Checking activity reminders 
[2026-04-21 19:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:34:35] [INFO] Checking activity reminders 
[2026-04-21 19:34:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:34:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:35:05] [INFO] Checking activity reminders 
[2026-04-21 19:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:35:35] [INFO] Checking activity reminders 
[2026-04-21 19:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:36:05] [INFO] Checking activity reminders 
[2026-04-21 19:36:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:36:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:36:35] [INFO] Checking activity reminders 
[2026-04-21 19:36:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:36:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:37:05] [INFO] Checking activity reminders 
[2026-04-21 19:37:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:37:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:37:36] [INFO] Checking activity reminders 
[2026-04-21 19:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:38:06] [INFO] Checking activity reminders 
[2026-04-21 19:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:38:36] [INFO] Checking activity reminders 
[2026-04-21 19:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:39:06] [INFO] Checking activity reminders 
[2026-04-21 19:39:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:39:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:39:36] [INFO] Checking activity reminders 
[2026-04-21 19:39:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:39:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:40:06] [INFO] Checking activity reminders 
[2026-04-21 19:40:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:40:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:40:37] [INFO] Checking activity reminders 
[2026-04-21 19:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:52:47] [WARNING] Auth check failed - not authenticated {"session_id":"af64i5eeejm3mjenb3omepotdp","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:52:47] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-21 19:53:05] [WARNING] Auth check failed - not authenticated {"session_id":"af64i5eeejm3mjenb3omepotdp","session_keys":[],"action":"log_client_event"}
[2026-04-21 19:53:05] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-21 19:53:05] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-21 19:53:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-21 19:53:05] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:53:05] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:53:05] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:53:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:53:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:53:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:53:35] [INFO] Checking activity reminders 
[2026-04-21 19:53:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:53:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:53:45] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:53:45] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:53:45] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:54:06] [INFO] Checking activity reminders 
[2026-04-21 19:54:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:54:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:54:36] [INFO] Checking activity reminders 
[2026-04-21 19:54:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:54:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:55:06] [INFO] Checking activity reminders 
[2026-04-21 19:55:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:55:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:55:36] [INFO] Checking activity reminders 
[2026-04-21 19:55:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:55:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:55:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-21 19:55:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-21 19:55:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-21 19:56:07] [INFO] Checking activity reminders 
[2026-04-21 19:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:56:37] [INFO] Checking activity reminders 
[2026-04-21 19:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:57:07] [INFO] Checking activity reminders 
[2026-04-21 19:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:57:37] [INFO] Checking activity reminders 
[2026-04-21 19:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:58:07] [INFO] Checking activity reminders 
[2026-04-21 19:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:58:37] [INFO] Checking activity reminders 
[2026-04-21 19:58:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:58:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:59:07] [INFO] Checking activity reminders 
[2026-04-21 19:59:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:59:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-21 19:59:37] [INFO] Checking activity reminders 
[2026-04-21 19:59:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-21 19:59:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 08:32:37] [WARNING] Auth check failed - not authenticated {"session_id":"pjk5rqlrs2egua9k3ktba6i2nm","session_keys":[],"action":"log_client_event"}
[2026-04-22 08:32:38] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-22 08:32:44] [WARNING] Auth check failed - not authenticated {"session_id":"pjk5rqlrs2egua9k3ktba6i2nm","session_keys":[],"action":"log_client_event"}
[2026-04-22 08:32:44] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-22 08:32:48] [WARNING] Auth check failed - not authenticated {"session_id":"pjk5rqlrs2egua9k3ktba6i2nm","session_keys":[],"action":"log_client_event"}
[2026-04-22 08:32:48] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-22 08:34:04] [WARNING] Auth check failed - not authenticated {"session_id":"ak21t3p77refneg8v3go3d3t9j","session_keys":[],"action":"log_client_event"}
[2026-04-22 08:34:04] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-22 09:09:00] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-04-22 09:09:00] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:09:12] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:09:12] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-22 09:09:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 09:09:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 09:09:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 09:09:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 09:09:42] [INFO] Checking activity reminders 
[2026-04-22 09:09:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:09:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:09:51] [INFO] Checking activity reminders 
[2026-04-22 09:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 09:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:14:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:15:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:15:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 09:15:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:18:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:18:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 09:18:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:19:29] [INFO] Checking activity reminders 
[2026-04-22 09:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:51:24] [INFO] Checking activity reminders 
[2026-04-22 09:51:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:51:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:58:04] [WARNING] Auth check failed - not authenticated {"session_id":"l6q6ev0inpi6auna50igm11qeq","session_keys":[],"action":"log_client_event"}
[2026-04-22 09:58:04] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-22 09:58:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 09:58:34] [INFO] Checking activity reminders 
[2026-04-22 09:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:59:05] [INFO] Checking activity reminders 
[2026-04-22 09:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 09:59:35] [INFO] Checking activity reminders 
[2026-04-22 09:59:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 09:59:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:00:05] [INFO] Checking activity reminders 
[2026-04-22 10:00:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:00:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:00:35] [INFO] Checking activity reminders 
[2026-04-22 10:00:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:00:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:01:05] [INFO] Checking activity reminders 
[2026-04-22 10:01:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:01:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:01:35] [INFO] Checking activity reminders 
[2026-04-22 10:01:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:01:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:02:05] [INFO] Checking activity reminders 
[2026-04-22 10:02:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:02:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:02:35] [INFO] Checking activity reminders 
[2026-04-22 10:02:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:02:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:03:05] [INFO] Checking activity reminders 
[2026-04-22 10:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:03:35] [INFO] Checking activity reminders 
[2026-04-22 10:03:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:03:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:04:05] [INFO] Checking activity reminders 
[2026-04-22 10:04:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:04:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:04:35] [INFO] Checking activity reminders 
[2026-04-22 10:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:04:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:05:06] [INFO] Checking activity reminders 
[2026-04-22 10:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:05:36] [INFO] Checking activity reminders 
[2026-04-22 10:05:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:05:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:06:06] [INFO] Checking activity reminders 
[2026-04-22 10:06:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:06:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:06:36] [INFO] Checking activity reminders 
[2026-04-22 10:06:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:06:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:07:06] [INFO] Checking activity reminders 
[2026-04-22 10:07:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:07:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:07:36] [INFO] Checking activity reminders 
[2026-04-22 10:07:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:07:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:08:06] [INFO] Checking activity reminders 
[2026-04-22 10:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:08:36] [INFO] Checking activity reminders 
[2026-04-22 10:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:08:43] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 10:08:43] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-22 10:08:43] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-22 10:08:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 10:08:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 10:08:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 10:08:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 10:09:06] [INFO] Checking activity reminders 
[2026-04-22 10:09:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:09:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:09:35] [INFO] Checking activity reminders 
[2026-04-22 10:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:10:05] [INFO] Checking activity reminders 
[2026-04-22 10:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:11:57] [INFO] Checking activity reminders 
[2026-04-22 10:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:12:28] [INFO] Checking activity reminders 
[2026-04-22 10:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:12:58] [INFO] Checking activity reminders 
[2026-04-22 10:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:13:28] [INFO] Checking activity reminders 
[2026-04-22 10:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:13:58] [INFO] Checking activity reminders 
[2026-04-22 10:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:14:28] [INFO] Checking activity reminders 
[2026-04-22 10:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:14:58] [INFO] Checking activity reminders 
[2026-04-22 10:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:15:28] [INFO] Checking activity reminders 
[2026-04-22 10:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:15:51] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-22 10:15:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 10:16:22] [INFO] Checking activity reminders 
[2026-04-22 10:16:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:16:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:16:52] [INFO] Checking activity reminders 
[2026-04-22 10:16:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:16:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:17:58] [INFO] Checking activity reminders 
[2026-04-22 10:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:18:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:18:28] [INFO] Checking activity reminders 
[2026-04-22 10:18:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:18:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:18:58] [INFO] Checking activity reminders 
[2026-04-22 10:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:19:08] [INFO] Checking activity reminders 
[2026-04-22 10:19:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:19:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:19:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"21132","deal_id":"local_699aa47375fef5.95825999","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 10:19:27","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-22 10:19:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:19:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"21132","is_new_deal":false}
[2026-04-22 10:19:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 10:19:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 10:19:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 10:19:27] [INFO] getContactPrimaryPhone called {"contact_id":"21132"}
[2026-04-22 10:19:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:19:27] [INFO] getContactPrimaryPhone result {"contact_id":"21132","person_found":true,"primary_phone":"9124776966"}
[2026-04-22 10:19:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9124776966"}
[2026-04-22 10:19:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9124776966","contact_id":"21132","deal_id":"local_699aa47375fef5.95825999","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 10:19:27"}
[2026-04-22 10:19:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","existing_deal_found":true,"existing_contact_id":"21132","existing_title":"معامله دوم 9124776966 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 10:19:27"}
[2026-04-22 10:19:27] [INFO] DealController.save validated payments {"deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 10:19:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21132","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-22 10:19:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aa47375fef5.95825999","contact_didar_id":"21132","title":"معامله دوم 9124776966 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9124776966","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":45000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سعید سلیمانی","existing_deal":"YES","existing_deal_id":"local_699aa47375fef5.95825999","existing_deal_status":"Pending","server_time":"2026-04-22 10:19:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-22 10:19:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:19:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9124776966 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":45000000,"server_time":"2026-04-22 10:19:27","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 10:19:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:19:31] [INFO] Checking activity reminders 
[2026-04-22 10:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:19:38] [INFO] Checking activity reminders 
[2026-04-22 10:19:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:19:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:19:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 10:20:02] [INFO] Checking activity reminders 
[2026-04-22 10:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:20:08] [INFO] Checking activity reminders 
[2026-04-22 10:20:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:20:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:20:32] [INFO] Checking activity reminders 
[2026-04-22 10:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:20:39] [INFO] Checking activity reminders 
[2026-04-22 10:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:21:02] [INFO] Checking activity reminders 
[2026-04-22 10:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:21:12] [INFO] Checking activity reminders 
[2026-04-22 10:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:21:32] [INFO] Checking activity reminders 
[2026-04-22 10:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:21:43] [INFO] Checking activity reminders 
[2026-04-22 10:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:22:02] [INFO] Checking activity reminders 
[2026-04-22 10:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:22:13] [INFO] Checking activity reminders 
[2026-04-22 10:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:22:32] [INFO] Checking activity reminders 
[2026-04-22 10:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:22:43] [INFO] Checking activity reminders 
[2026-04-22 10:22:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:22:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:23:02] [INFO] Checking activity reminders 
[2026-04-22 10:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:23:13] [INFO] Checking activity reminders 
[2026-04-22 10:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:23:32] [INFO] Checking activity reminders 
[2026-04-22 10:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:23:43] [INFO] Checking activity reminders 
[2026-04-22 10:23:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:23:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:24:02] [INFO] Checking activity reminders 
[2026-04-22 10:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:24:13] [INFO] Checking activity reminders 
[2026-04-22 10:24:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:24:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:24:32] [INFO] Checking activity reminders 
[2026-04-22 10:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:24:43] [INFO] Checking activity reminders 
[2026-04-22 10:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:25:02] [INFO] Checking activity reminders 
[2026-04-22 10:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:25:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 10:25:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 10:25:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 10:25:13] [INFO] Checking activity reminders 
[2026-04-22 10:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:25:43] [INFO] Checking activity reminders 
[2026-04-22 10:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:26:13] [INFO] Checking activity reminders 
[2026-04-22 10:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:26:44] [INFO] Checking activity reminders 
[2026-04-22 10:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:27:14] [INFO] Checking activity reminders 
[2026-04-22 10:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:27:44] [INFO] Checking activity reminders 
[2026-04-22 10:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:28:14] [INFO] Checking activity reminders 
[2026-04-22 10:28:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:28:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:28:44] [INFO] Checking activity reminders 
[2026-04-22 10:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:29:14] [INFO] Checking activity reminders 
[2026-04-22 10:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:29:44] [INFO] Checking activity reminders 
[2026-04-22 10:29:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:29:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:30:14] [INFO] Checking activity reminders 
[2026-04-22 10:30:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:30:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:30:44] [INFO] Checking activity reminders 
[2026-04-22 10:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:31:14] [INFO] Checking activity reminders 
[2026-04-22 10:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:31:45] [INFO] Checking activity reminders 
[2026-04-22 10:31:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:31:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:32:15] [INFO] Checking activity reminders 
[2026-04-22 10:32:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:32:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:32:45] [INFO] Checking activity reminders 
[2026-04-22 10:32:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:32:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:33:15] [INFO] Checking activity reminders 
[2026-04-22 10:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:33:45] [INFO] Checking activity reminders 
[2026-04-22 10:33:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:33:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:34:15] [INFO] Checking activity reminders 
[2026-04-22 10:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:34:45] [INFO] Checking activity reminders 
[2026-04-22 10:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:35:15] [INFO] Checking activity reminders 
[2026-04-22 10:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:35:45] [INFO] Checking activity reminders 
[2026-04-22 10:35:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:35:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:36:15] [INFO] Checking activity reminders 
[2026-04-22 10:36:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:36:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:36:45] [INFO] Checking activity reminders 
[2026-04-22 10:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:37:16] [INFO] Checking activity reminders 
[2026-04-22 10:37:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:37:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:37:46] [INFO] Checking activity reminders 
[2026-04-22 10:37:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:37:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:38:16] [INFO] Checking activity reminders 
[2026-04-22 10:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:38:46] [INFO] Checking activity reminders 
[2026-04-22 10:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:39:16] [INFO] Checking activity reminders 
[2026-04-22 10:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:39:46] [INFO] Checking activity reminders 
[2026-04-22 10:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:40:16] [INFO] Checking activity reminders 
[2026-04-22 10:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:40:27] [INFO] Checking activity reminders 
[2026-04-22 10:40:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:40:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:40:57] [INFO] Checking activity reminders 
[2026-04-22 10:40:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:40:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:41:27] [INFO] Checking activity reminders 
[2026-04-22 10:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:41:57] [INFO] Checking activity reminders 
[2026-04-22 10:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:42:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16865","person_id":"8693"}
[2026-04-22 10:42:27] [INFO] Checking activity reminders 
[2026-04-22 10:42:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:42:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:42:58] [INFO] Checking activity reminders 
[2026-04-22 10:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:43:28] [INFO] Checking activity reminders 
[2026-04-22 10:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:43:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 10:43:58] [INFO] Checking activity reminders 
[2026-04-22 10:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:44:28] [INFO] Checking activity reminders 
[2026-04-22 10:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:44:58] [INFO] Checking activity reminders 
[2026-04-22 10:44:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:44:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:45:28] [INFO] Checking activity reminders 
[2026-04-22 10:45:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:45:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:45:39] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-22 10:45:40] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 10:45:44] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 10:45:46] [INFO] Checking activity reminders 
[2026-04-22 10:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:45:49] [INFO] Checking activity reminders 
[2026-04-22 10:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:46:20] [INFO] Checking activity reminders 
[2026-04-22 10:46:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:46:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:46:50] [INFO] Checking activity reminders 
[2026-04-22 10:46:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:46:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:47:20] [INFO] Checking activity reminders 
[2026-04-22 10:47:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:47:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:47:50] [INFO] Checking activity reminders 
[2026-04-22 10:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:48:20] [INFO] Checking activity reminders 
[2026-04-22 10:48:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:48:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:48:50] [INFO] Checking activity reminders 
[2026-04-22 10:48:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:48:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:49:21] [INFO] Checking activity reminders 
[2026-04-22 10:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:49:51] [INFO] Checking activity reminders 
[2026-04-22 10:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:50:21] [INFO] Checking activity reminders 
[2026-04-22 10:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:50:51] [INFO] Checking activity reminders 
[2026-04-22 10:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:51:21] [INFO] Checking activity reminders 
[2026-04-22 10:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:51:51] [INFO] Checking activity reminders 
[2026-04-22 10:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:52:05] [INFO] Checking activity reminders 
[2026-04-22 10:52:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:52:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:52:07] [INFO] Checking activity reminders 
[2026-04-22 10:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:52:37] [INFO] Checking activity reminders 
[2026-04-22 10:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:53:07] [INFO] Checking activity reminders 
[2026-04-22 10:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:53:37] [INFO] Checking activity reminders 
[2026-04-22 10:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:54:07] [INFO] Checking activity reminders 
[2026-04-22 10:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:54:37] [INFO] Checking activity reminders 
[2026-04-22 10:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:55:08] [INFO] Checking activity reminders 
[2026-04-22 10:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:55:38] [INFO] Checking activity reminders 
[2026-04-22 10:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:56:08] [INFO] Checking activity reminders 
[2026-04-22 10:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:56:38] [INFO] Checking activity reminders 
[2026-04-22 10:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:57:08] [INFO] Checking activity reminders 
[2026-04-22 10:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:57:38] [INFO] Checking activity reminders 
[2026-04-22 10:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:58:08] [INFO] Checking activity reminders 
[2026-04-22 10:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:58:38] [INFO] Checking activity reminders 
[2026-04-22 10:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:59:08] [INFO] Checking activity reminders 
[2026-04-22 10:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 10:59:38] [INFO] Checking activity reminders 
[2026-04-22 10:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 10:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:00:08] [INFO] Checking activity reminders 
[2026-04-22 11:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:00:38] [INFO] Checking activity reminders 
[2026-04-22 11:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:01:09] [INFO] Checking activity reminders 
[2026-04-22 11:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:01:39] [INFO] Checking activity reminders 
[2026-04-22 11:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:02:12] [INFO] Checking activity reminders 
[2026-04-22 11:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:02:43] [INFO] Checking activity reminders 
[2026-04-22 11:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:03:13] [INFO] Checking activity reminders 
[2026-04-22 11:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:03:43] [INFO] Checking activity reminders 
[2026-04-22 11:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:04:13] [INFO] Checking activity reminders 
[2026-04-22 11:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:04:43] [INFO] Checking activity reminders 
[2026-04-22 11:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:05:13] [INFO] Checking activity reminders 
[2026-04-22 11:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:05:43] [INFO] Checking activity reminders 
[2026-04-22 11:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:06:13] [INFO] Checking activity reminders 
[2026-04-22 11:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:06:43] [INFO] Checking activity reminders 
[2026-04-22 11:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:07:13] [INFO] Checking activity reminders 
[2026-04-22 11:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:07:43] [INFO] Checking activity reminders 
[2026-04-22 11:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:08:13] [INFO] Checking activity reminders 
[2026-04-22 11:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:08:43] [INFO] Checking activity reminders 
[2026-04-22 11:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:09:13] [INFO] Checking activity reminders 
[2026-04-22 11:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:09:44] [INFO] Checking activity reminders 
[2026-04-22 11:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:10:14] [INFO] Checking activity reminders 
[2026-04-22 11:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:10:44] [INFO] Checking activity reminders 
[2026-04-22 11:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:11:14] [INFO] Checking activity reminders 
[2026-04-22 11:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:11:44] [INFO] Checking activity reminders 
[2026-04-22 11:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:12:14] [INFO] Checking activity reminders 
[2026-04-22 11:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:12:44] [INFO] Checking activity reminders 
[2026-04-22 11:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:13:14] [INFO] Checking activity reminders 
[2026-04-22 11:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:13:24] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 11:13:24] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 11:13:25] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 11:13:25] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 11:13:25] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 11:13:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 11:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 11:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 11:13:44] [INFO] Checking activity reminders 
[2026-04-22 11:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:13:56] [INFO] Checking activity reminders 
[2026-04-22 11:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:14:26] [INFO] Checking activity reminders 
[2026-04-22 11:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:14:56] [INFO] Checking activity reminders 
[2026-04-22 11:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:14:57] [INFO] Checking activity reminders 
[2026-04-22 11:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:15:26] [INFO] Checking activity reminders 
[2026-04-22 11:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:15:27] [INFO] Checking activity reminders 
[2026-04-22 11:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:15:56] [INFO] Checking activity reminders 
[2026-04-22 11:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:15:57] [INFO] Checking activity reminders 
[2026-04-22 11:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:16:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 11:16:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 11:16:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 11:16:26] [INFO] Checking activity reminders 
[2026-04-22 11:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:16:27] [INFO] Checking activity reminders 
[2026-04-22 11:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:16:56] [INFO] Checking activity reminders 
[2026-04-22 11:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:16:57] [INFO] Checking activity reminders 
[2026-04-22 11:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:17:26] [INFO] Checking activity reminders 
[2026-04-22 11:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:17:27] [INFO] Checking activity reminders 
[2026-04-22 11:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:17:56] [INFO] Checking activity reminders 
[2026-04-22 11:17:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:17:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:17:58] [INFO] Checking activity reminders 
[2026-04-22 11:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:18:27] [INFO] Checking activity reminders 
[2026-04-22 11:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:18:28] [INFO] Checking activity reminders 
[2026-04-22 11:18:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:18:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:18:57] [INFO] Checking activity reminders 
[2026-04-22 11:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:18:58] [INFO] Checking activity reminders 
[2026-04-22 11:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:19:27] [INFO] Checking activity reminders 
[2026-04-22 11:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:19:28] [INFO] Checking activity reminders 
[2026-04-22 11:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:19:57] [INFO] Checking activity reminders 
[2026-04-22 11:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:19:58] [INFO] Checking activity reminders 
[2026-04-22 11:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:20:27] [INFO] Checking activity reminders 
[2026-04-22 11:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:20:28] [INFO] Checking activity reminders 
[2026-04-22 11:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:20:57] [INFO] Checking activity reminders 
[2026-04-22 11:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:20:58] [INFO] Checking activity reminders 
[2026-04-22 11:20:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:20:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:21:27] [INFO] Checking activity reminders 
[2026-04-22 11:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:21:28] [INFO] Checking activity reminders 
[2026-04-22 11:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:21:57] [INFO] Checking activity reminders 
[2026-04-22 11:21:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:21:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:21:58] [INFO] Checking activity reminders 
[2026-04-22 11:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:22:27] [INFO] Checking activity reminders 
[2026-04-22 11:22:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:22:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:22:28] [INFO] Checking activity reminders 
[2026-04-22 11:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:22:57] [INFO] Checking activity reminders 
[2026-04-22 11:22:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:22:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:22:58] [INFO] Checking activity reminders 
[2026-04-22 11:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:23:27] [INFO] Checking activity reminders 
[2026-04-22 11:23:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:23:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:23:28] [INFO] Checking activity reminders 
[2026-04-22 11:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:23:58] [INFO] Checking activity reminders 
[2026-04-22 11:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:23:58] [INFO] Checking activity reminders 
[2026-04-22 11:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:24:28] [INFO] Checking activity reminders 
[2026-04-22 11:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:24:28] [INFO] Checking activity reminders 
[2026-04-22 11:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:24:58] [INFO] Checking activity reminders 
[2026-04-22 11:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:25:28] [INFO] Checking activity reminders 
[2026-04-22 11:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:25:58] [INFO] Checking activity reminders 
[2026-04-22 11:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:26:28] [INFO] Checking activity reminders 
[2026-04-22 11:26:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:26:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:26:58] [INFO] Checking activity reminders 
[2026-04-22 11:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:27:28] [INFO] Checking activity reminders 
[2026-04-22 11:27:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:27:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:27:58] [INFO] Checking activity reminders 
[2026-04-22 11:27:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:27:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:28:28] [INFO] Checking activity reminders 
[2026-04-22 11:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:28:58] [INFO] Checking activity reminders 
[2026-04-22 11:28:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:28:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:29:28] [INFO] Checking activity reminders 
[2026-04-22 11:29:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:29:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:29:58] [INFO] Checking activity reminders 
[2026-04-22 11:29:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:29:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:30:29] [INFO] Checking activity reminders 
[2026-04-22 11:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:30:59] [INFO] Checking activity reminders 
[2026-04-22 11:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:31:29] [INFO] Checking activity reminders 
[2026-04-22 11:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:31:59] [INFO] Checking activity reminders 
[2026-04-22 11:31:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:31:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:32:29] [INFO] Checking activity reminders 
[2026-04-22 11:32:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:32:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:32:59] [INFO] Checking activity reminders 
[2026-04-22 11:32:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:32:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:33:29] [INFO] Checking activity reminders 
[2026-04-22 11:33:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:33:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:33:59] [INFO] Checking activity reminders 
[2026-04-22 11:33:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:33:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:34:29] [INFO] Checking activity reminders 
[2026-04-22 11:34:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:34:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:34:59] [INFO] Checking activity reminders 
[2026-04-22 11:34:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:34:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:35:29] [INFO] Checking activity reminders 
[2026-04-22 11:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:35:59] [INFO] Checking activity reminders 
[2026-04-22 11:35:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:35:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:36:29] [INFO] Checking activity reminders 
[2026-04-22 11:36:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:36:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:37:00] [INFO] Checking activity reminders 
[2026-04-22 11:37:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:37:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:37:30] [INFO] Checking activity reminders 
[2026-04-22 11:37:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:37:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:38:00] [INFO] Checking activity reminders 
[2026-04-22 11:38:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:38:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:38:30] [INFO] Checking activity reminders 
[2026-04-22 11:38:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:38:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:39:00] [INFO] Checking activity reminders 
[2026-04-22 11:39:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:39:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:39:30] [INFO] Checking activity reminders 
[2026-04-22 11:39:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:39:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:40:00] [INFO] Checking activity reminders 
[2026-04-22 11:40:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:40:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:40:30] [INFO] Checking activity reminders 
[2026-04-22 11:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:41:00] [INFO] Checking activity reminders 
[2026-04-22 11:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:41:30] [INFO] Checking activity reminders 
[2026-04-22 11:41:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:41:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:42:00] [INFO] Checking activity reminders 
[2026-04-22 11:42:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:42:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:42:30] [INFO] Checking activity reminders 
[2026-04-22 11:42:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:42:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:43:00] [INFO] Checking activity reminders 
[2026-04-22 11:43:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:43:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:45:36] [INFO] Checking activity reminders 
[2026-04-22 11:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:46:05] [INFO] Checking activity reminders 
[2026-04-22 11:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:46:06] [INFO] Checking activity reminders 
[2026-04-22 11:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:46:35] [INFO] Checking activity reminders 
[2026-04-22 11:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:46:36] [INFO] Checking activity reminders 
[2026-04-22 11:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:47:05] [INFO] Checking activity reminders 
[2026-04-22 11:47:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:47:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:47:06] [INFO] Checking activity reminders 
[2026-04-22 11:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:47:35] [INFO] Checking activity reminders 
[2026-04-22 11:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:47:36] [INFO] Checking activity reminders 
[2026-04-22 11:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:48:05] [INFO] Checking activity reminders 
[2026-04-22 11:48:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:48:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:48:06] [INFO] Checking activity reminders 
[2026-04-22 11:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:48:35] [INFO] Checking activity reminders 
[2026-04-22 11:48:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:48:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:48:36] [INFO] Checking activity reminders 
[2026-04-22 11:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:49:05] [INFO] Checking activity reminders 
[2026-04-22 11:49:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:49:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:49:06] [INFO] Checking activity reminders 
[2026-04-22 11:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:49:35] [INFO] Checking activity reminders 
[2026-04-22 11:49:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:49:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:49:36] [INFO] Checking activity reminders 
[2026-04-22 11:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:50:05] [INFO] Checking activity reminders 
[2026-04-22 11:50:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:50:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:50:06] [INFO] Checking activity reminders 
[2026-04-22 11:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:50:35] [INFO] Checking activity reminders 
[2026-04-22 11:50:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:50:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:50:36] [INFO] Checking activity reminders 
[2026-04-22 11:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:50:42] [INFO] Checking activity reminders 
[2026-04-22 11:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:51:06] [INFO] Checking activity reminders 
[2026-04-22 11:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:51:12] [INFO] Checking activity reminders 
[2026-04-22 11:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:51:36] [INFO] Checking activity reminders 
[2026-04-22 11:51:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:51:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:51:42] [INFO] Checking activity reminders 
[2026-04-22 11:51:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:51:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:52:06] [INFO] Checking activity reminders 
[2026-04-22 11:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:52:13] [INFO] Checking activity reminders 
[2026-04-22 11:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:52:37] [INFO] Checking activity reminders 
[2026-04-22 11:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:52:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:52:43] [INFO] Checking activity reminders 
[2026-04-22 11:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:53:07] [INFO] Checking activity reminders 
[2026-04-22 11:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:53:13] [INFO] Checking activity reminders 
[2026-04-22 11:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:53:16] [INFO] Activity save request {"post_data":{"contact_id":"795","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"چک ها در تاریخ 2\/2 تحویل \r\n2 فقره چک در میزیتو و ثبت ارسال \r\nتحویل صندوق\r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 11:53:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"795","note_was_empty":true}
[2026-04-22 11:53:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"795","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 11:53:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8857482dfa8.66468993","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8857482dfa8.66468993"}
[2026-04-22 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:16] [INFO] Updating virtual stage {"contact_id":"795","stage_name":"with_purchase","force":false}
[2026-04-22 11:53:16] [INFO] Virtual stage successfully saved {"contact_id":"795","stage_name":"with_purchase"}
[2026-04-22 11:53:16] [INFO] Virtual stage updated after activity save {"contact_id":"795"}
[2026-04-22 11:53:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:37] [INFO] Checking activity reminders 
[2026-04-22 11:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:53:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 11:53:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:43] [INFO] Checking activity reminders 
[2026-04-22 11:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:53:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9815","person_id":"17364"}
[2026-04-22 11:53:51] [INFO] Lead update received {"contact_id":"795","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 11:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:51] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"795"}
[2026-04-22 11:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 11:53:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:54:07] [INFO] Checking activity reminders 
[2026-04-22 11:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:54:13] [INFO] Checking activity reminders 
[2026-04-22 11:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:54:37] [INFO] Checking activity reminders 
[2026-04-22 11:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:54:43] [INFO] Checking activity reminders 
[2026-04-22 11:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:55:07] [INFO] Checking activity reminders 
[2026-04-22 11:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:55:13] [INFO] Checking activity reminders 
[2026-04-22 11:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:55:37] [INFO] Checking activity reminders 
[2026-04-22 11:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:55:43] [INFO] Checking activity reminders 
[2026-04-22 11:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:56:07] [INFO] Checking activity reminders 
[2026-04-22 11:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:56:13] [INFO] Checking activity reminders 
[2026-04-22 11:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:56:18] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 11:56:18] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"check_reminders"}
[2026-04-22 11:56:18] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 11:56:37] [INFO] Checking activity reminders 
[2026-04-22 11:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:56:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 11:56:38","session_id":"k6ua2skbqft7f6p5uje5vuhcru"}
[2026-04-22 11:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15975","is_new_deal":false}
[2026-04-22 11:56:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 11:56:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 11:56:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 11:56:38] [INFO] getContactPrimaryPhone called {"contact_id":"15975"}
[2026-04-22 11:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:38] [INFO] getContactPrimaryPhone result {"contact_id":"15975","person_found":true,"primary_phone":"9152158004"}
[2026-04-22 11:56:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152158004"}
[2026-04-22 11:56:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152158004","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 11:56:38"}
[2026-04-22 11:56:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","existing_deal_found":true,"existing_contact_id":"15975","existing_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 11:56:38"}
[2026-04-22 11:56:38] [INFO] DealController.save validated payments {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-22 11:56:38] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15975","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 11:56:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c871c870d9e8.36262570","contact_didar_id":"15975","title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9152158004","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"وحید حداد","existing_deal":"YES","existing_deal_id":"local_69c871c870d9e8.36262570","existing_deal_status":"Pending","server_time":"2026-04-22 11:56:38","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-22 11:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-22 11:56:38","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 11:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:43] [INFO] Checking activity reminders 
[2026-04-22 11:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:56:59] [INFO] Activity save request {"post_data":{"contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه کانال انجام شد","activity_duration":"10","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 11:56:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15975","note_was_empty":true}
[2026-04-22 11:56:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"15975","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Updating virtual stage {"contact_id":"15975","stage_name":"with_purchase","force":false}
[2026-04-22 11:56:59] [INFO] Virtual stage successfully saved {"contact_id":"15975","stage_name":"with_purchase"}
[2026-04-22 11:56:59] [INFO] Virtual stage updated after activity save {"contact_id":"15975"}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c871c870d9e8.36262570","stage":"اتمام","status_change":"Won"}
[2026-04-22 11:56:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88653e3bde5.11462740","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88653e3bde5.11462740"}
[2026-04-22 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:56:59] [INFO] Updating virtual stage {"contact_id":"15975","stage_name":"with_purchase","force":false}
[2026-04-22 11:56:59] [INFO] Virtual stage successfully saved {"contact_id":"15975","stage_name":"with_purchase"}
[2026-04-22 11:56:59] [INFO] Virtual stage updated after activity save {"contact_id":"15975"}
[2026-04-22 11:57:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-22 11:57:07] [INFO] Checking activity reminders 
[2026-04-22 11:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:57:13] [INFO] Checking activity reminders 
[2026-04-22 11:57:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:57:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:57:37] [INFO] Checking activity reminders 
[2026-04-22 11:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:57:43] [INFO] Checking activity reminders 
[2026-04-22 11:57:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:57:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:58:07] [INFO] Checking activity reminders 
[2026-04-22 11:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:58:14] [INFO] Checking activity reminders 
[2026-04-22 11:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:58:37] [INFO] Checking activity reminders 
[2026-04-22 11:58:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:58:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:58:44] [INFO] Checking activity reminders 
[2026-04-22 11:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:59:03] [INFO] Checking activity reminders 
[2026-04-22 11:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:59:14] [INFO] Checking activity reminders 
[2026-04-22 11:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 11:59:44] [INFO] Checking activity reminders 
[2026-04-22 11:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 11:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:00:14] [INFO] Checking activity reminders 
[2026-04-22 12:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:00:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:00:44] [INFO] Checking activity reminders 
[2026-04-22 12:00:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:00:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:00:47] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:47] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"check_reminders"}
[2026-04-22 12:00:47] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:47] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:47] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:48] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:48] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:48] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"get_leads"}
[2026-04-22 12:00:48] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:00:48] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:01:14] [INFO] Checking activity reminders 
[2026-04-22 12:01:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:01:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:01:22] [WARNING] Auth check failed - not authenticated {"session_id":"8m7gu3vt41lj6v0lihnor87f0l","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:01:22] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-22 12:01:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 12:01:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 12:01:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 12:01:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 12:01:44] [INFO] Checking activity reminders 
[2026-04-22 12:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:01:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 12:01:54","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 12:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:01:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","is_new_deal":false}
[2026-04-22 12:01:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-22 12:01:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-22 12:01:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-22 12:01:54] [INFO] getContactPrimaryPhone called {"contact_id":"14954"}
[2026-04-22 12:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:01:54] [INFO] getContactPrimaryPhone result {"contact_id":"14954","person_found":true,"primary_phone":"9184915906"}
[2026-04-22 12:01:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184915906"}
[2026-04-22 12:01:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184915906","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 12:01:54"}
[2026-04-22 12:01:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","existing_deal_found":true,"existing_contact_id":"14954","existing_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 12:01:54"}
[2026-04-22 12:01:54] [INFO] DealController.save validated payments {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 12:01:54] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"14954","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 12:01:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6208c590c62.46842710","contact_didar_id":"14954","title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9184915906","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":17000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مجتبی جولاهی","existing_deal":"YES","existing_deal_id":"local_69d6208c590c62.46842710","existing_deal_status":"Pending","server_time":"2026-04-22 12:01:54","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 12:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:01:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":17000000,"server_time":"2026-04-22 12:01:54","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 12:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:02:12] [INFO] Checking activity reminders 
[2026-04-22 12:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:02:15] [INFO] Checking activity reminders 
[2026-04-22 12:02:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:02:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:02:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-22 12:02:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-22 12:02:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-22 12:02:42] [INFO] Checking activity reminders 
[2026-04-22 12:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:02:45] [INFO] Checking activity reminders 
[2026-04-22 12:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:02:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-22 12:03:15] [INFO] Checking activity reminders 
[2026-04-22 12:03:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:03:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:03:19] [INFO] Checking activity reminders 
[2026-04-22 12:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:03:35] [INFO] Checking activity reminders 
[2026-04-22 12:03:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:03:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:03:46] [INFO] Checking activity reminders 
[2026-04-22 12:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:04:05] [INFO] Checking activity reminders 
[2026-04-22 12:04:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:04:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:04:16] [INFO] Checking activity reminders 
[2026-04-22 12:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:04:46] [INFO] Checking activity reminders 
[2026-04-22 12:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:05:16] [INFO] Checking activity reminders 
[2026-04-22 12:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:05:46] [INFO] Checking activity reminders 
[2026-04-22 12:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:06:05] [INFO] Checking activity reminders 
[2026-04-22 12:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:06:16] [INFO] Checking activity reminders 
[2026-04-22 12:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:06:47] [INFO] Checking activity reminders 
[2026-04-22 12:06:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:06:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:07:04] [INFO] Activity save request {"post_data":{"contact_id":"14954","deal_id":"local_6950fdbcdb6c65.08789237","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خواب بود \r\nودش تماس میگیره","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:07:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14954","note_was_empty":true}
[2026-04-22 12:07:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"14954","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:04] [INFO] Updating virtual stage {"contact_id":"14954","stage_name":"deal_registered","force":false}
[2026-04-22 12:07:04] [INFO] Virtual stage successfully saved {"contact_id":"14954","stage_name":"deal_registered"}
[2026-04-22 12:07:04] [INFO] Virtual stage updated after activity save {"contact_id":"14954"}
[2026-04-22 12:07:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950fdbcdb6c65.08789237","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 12:07:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e888b01b0901.10052874","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e888b01b0901.10052874"}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:04] [INFO] Updating virtual stage {"contact_id":"14954","stage_name":"deal_registered","force":false}
[2026-04-22 12:07:04] [INFO] Virtual stage successfully saved {"contact_id":"14954","stage_name":"deal_registered"}
[2026-04-22 12:07:04] [INFO] Virtual stage updated after activity save {"contact_id":"14954"}
[2026-04-22 12:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:07:17] [INFO] Checking activity reminders 
[2026-04-22 12:07:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:07:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:07:47] [INFO] Checking activity reminders 
[2026-04-22 12:07:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:07:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:07:59] [INFO] Checking activity reminders 
[2026-04-22 12:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:08:17] [INFO] Checking activity reminders 
[2026-04-22 12:08:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:08:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:08:29] [INFO] Checking activity reminders 
[2026-04-22 12:08:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:08:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:08:47] [INFO] Checking activity reminders 
[2026-04-22 12:08:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:08:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:08:48] [INFO] Checking activity reminders 
[2026-04-22 12:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:09:17] [INFO] Checking activity reminders 
[2026-04-22 12:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:09:27] [INFO] Checking activity reminders 
[2026-04-22 12:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-22 12:09:47] [INFO] Checking activity reminders 
[2026-04-22 12:09:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:09:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:09:53] [INFO] Checking activity reminders 
[2026-04-22 12:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:10:09] [INFO] Checking activity reminders 
[2026-04-22 12:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:10:17] [INFO] Checking activity reminders 
[2026-04-22 12:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:10:47] [INFO] Checking activity reminders 
[2026-04-22 12:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:10:51] [INFO] Checking activity reminders 
[2026-04-22 12:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:11:17] [INFO] Checking activity reminders 
[2026-04-22 12:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:11:20] [INFO] Checking activity reminders 
[2026-04-22 12:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:11:42] [INFO] Checking activity reminders 
[2026-04-22 12:11:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:11:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:11:47] [INFO] Checking activity reminders 
[2026-04-22 12:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:12:14] [INFO] Checking activity reminders 
[2026-04-22 12:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:12:17] [INFO] Checking activity reminders 
[2026-04-22 12:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:12:34] [INFO] Checking activity reminders 
[2026-04-22 12:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:12:36] [INFO] Checking activity reminders 
[2026-04-22 12:12:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:12:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:12:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 12:13:12] [INFO] Checking activity reminders 
[2026-04-22 12:13:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:13:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:13:14] [INFO] Checking activity reminders 
[2026-04-22 12:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:13:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 12:13:38] [INFO] Checking activity reminders 
[2026-04-22 12:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:13:42] [INFO] Checking activity reminders 
[2026-04-22 12:13:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:13:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:13:57] [INFO] Checking activity reminders 
[2026-04-22 12:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:14:08] [INFO] Checking activity reminders 
[2026-04-22 12:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:14:13] [INFO] Checking activity reminders 
[2026-04-22 12:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:14:35] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"21132","deal_id":"local_699aa47375fef5.95825999","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 12:14:35","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 12:14:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 12:14:35] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"21132","is_new_deal":false}
[2026-04-22 12:14:35] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 12:14:35] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 12:14:35] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 12:14:35] [INFO] getContactPrimaryPhone called {"contact_id":"21132"}
[2026-04-22 12:14:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 12:14:35] [INFO] getContactPrimaryPhone result {"contact_id":"21132","person_found":true,"primary_phone":"9124776966"}
[2026-04-22 12:14:35] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9124776966"}
[2026-04-22 12:14:35] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9124776966","contact_id":"21132","deal_id":"local_699aa47375fef5.95825999","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 12:14:35"}
[2026-04-22 12:14:35] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","existing_deal_found":true,"existing_contact_id":"21132","existing_title":"معامله دوم 9124776966 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 12:14:35"}
[2026-04-22 12:14:35] [INFO] DealController.save validated payments {"deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","payments_count":4,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 12:14:35] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21132","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 12:14:35] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aa47375fef5.95825999","contact_didar_id":"21132","title":"معامله دوم 9124776966 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9124776966","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":59000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سعید سلیمانی","existing_deal":"YES","existing_deal_id":"local_699aa47375fef5.95825999","existing_deal_status":"Pending","server_time":"2026-04-22 12:14:35","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 12:14:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 12:14:35] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aa47375fef5.95825999","contact_id":"21132","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9124776966 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":59000000,"server_time":"2026-04-22 12:14:35","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 12:14:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-22 12:14:43] [INFO] Checking activity reminders 
[2026-04-22 12:14:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:14:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:14:45] [INFO] Checking activity reminders 
[2026-04-22 12:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:14:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-22 12:15:13] [INFO] Checking activity reminders 
[2026-04-22 12:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:15:15] [INFO] Checking activity reminders 
[2026-04-22 12:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:15:30] [INFO] Checking activity reminders 
[2026-04-22 12:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:15:38] [INFO] Checking activity reminders 
[2026-04-22 12:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:15:43] [INFO] Checking activity reminders 
[2026-04-22 12:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:16:13] [INFO] Checking activity reminders 
[2026-04-22 12:16:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:16:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:16:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:16:43] [INFO] Checking activity reminders 
[2026-04-22 12:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:17:08] [INFO] Checking activity reminders 
[2026-04-22 12:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:17:13] [INFO] Checking activity reminders 
[2026-04-22 12:17:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:17:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:17:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-22 12:17:38] [INFO] Checking activity reminders 
[2026-04-22 12:17:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:17:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:17:43] [INFO] Checking activity reminders 
[2026-04-22 12:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:18:08] [INFO] Checking activity reminders 
[2026-04-22 12:18:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:18:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:18:13] [INFO] Checking activity reminders 
[2026-04-22 12:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:18:38] [INFO] Checking activity reminders 
[2026-04-22 12:18:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:18:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:18:43] [INFO] Checking activity reminders 
[2026-04-22 12:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:18:46] [INFO] Checking activity reminders 
[2026-04-22 12:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:08] [INFO] Checking activity reminders 
[2026-04-22 12:19:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:13] [INFO] Checking activity reminders 
[2026-04-22 12:19:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:16] [INFO] Checking activity reminders 
[2026-04-22 12:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:39] [INFO] Checking activity reminders 
[2026-04-22 12:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:43] [INFO] Checking activity reminders 
[2026-04-22 12:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:19:43] [INFO] Checking activity reminders 
[2026-04-22 12:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:09] [INFO] Checking activity reminders 
[2026-04-22 12:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:13] [INFO] Checking activity reminders 
[2026-04-22 12:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:14] [INFO] Checking activity reminders 
[2026-04-22 12:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:17] [INFO] Activity save request {"post_data":{"contact_id":"21300","deal_id":"local_69d69231864421.76342045","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:20:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21300","note_was_empty":true}
[2026-04-22 12:20:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"21300","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:17] [INFO] Updating virtual stage {"contact_id":"21300","stage_name":"deal_registered","force":false}
[2026-04-22 12:20:17] [INFO] Virtual stage successfully saved {"contact_id":"21300","stage_name":"deal_registered"}
[2026-04-22 12:20:17] [INFO] Virtual stage updated after activity save {"contact_id":"21300"}
[2026-04-22 12:20:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d69231864421.76342045","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 12:20:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88bc9dcf5d1.81735518","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88bc9dcf5d1.81735518"}
[2026-04-22 12:20:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:17] [INFO] Updating virtual stage {"contact_id":"21300","stage_name":"deal_registered","force":false}
[2026-04-22 12:20:17] [INFO] Virtual stage successfully saved {"contact_id":"21300","stage_name":"deal_registered"}
[2026-04-22 12:20:17] [INFO] Virtual stage updated after activity save {"contact_id":"21300"}
[2026-04-22 12:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-22 12:20:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:20:39] [INFO] Checking activity reminders 
[2026-04-22 12:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:39] [INFO] Checking activity reminders 
[2026-04-22 12:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:20:44] [INFO] Checking activity reminders 
[2026-04-22 12:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:21:09] [INFO] Checking activity reminders 
[2026-04-22 12:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:21:14] [INFO] Checking activity reminders 
[2026-04-22 12:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:21:22] [INFO] Checking activity reminders 
[2026-04-22 12:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:21:39] [INFO] Checking activity reminders 
[2026-04-22 12:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:21:44] [INFO] Checking activity reminders 
[2026-04-22 12:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:09] [INFO] Checking activity reminders 
[2026-04-22 12:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:14] [INFO] Checking activity reminders 
[2026-04-22 12:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:39] [INFO] Checking activity reminders 
[2026-04-22 12:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:44] [INFO] Checking activity reminders 
[2026-04-22 12:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:48] [INFO] Checking activity reminders 
[2026-04-22 12:22:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:22:55] [INFO] Checking activity reminders 
[2026-04-22 12:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-22 12:23:09] [INFO] Checking activity reminders 
[2026-04-22 12:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:23:14] [INFO] Checking activity reminders 
[2026-04-22 12:23:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:23:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:23:17] [INFO] Checking activity reminders 
[2026-04-22 12:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:23:39] [INFO] Checking activity reminders 
[2026-04-22 12:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:23:44] [INFO] Checking activity reminders 
[2026-04-22 12:23:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:23:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:24:09] [INFO] Activity save request {"post_data":{"contact_id":"793","deal_id":"local_69d6952e13e1b5.58385565","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"20 کیلو نقره دست شریکش \/ متواری شده \r\nدنبال کارهای شکایت و دادگاه و قانونی \r\nاز سال 98 با استاد \/سرمایه از دست داده ","activity_duration":"2","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:24:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"793","note_was_empty":true}
[2026-04-22 12:24:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"793","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Updating virtual stage {"contact_id":"793","stage_name":"deal_registered","force":false}
[2026-04-22 12:24:09] [INFO] Virtual stage successfully saved {"contact_id":"793","stage_name":"deal_registered"}
[2026-04-22 12:24:09] [INFO] Virtual stage updated after activity save {"contact_id":"793"}
[2026-04-22 12:24:09] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6952e13e1b5.58385565","stage":"تماس پیگیری","status_change":null}
[2026-04-22 12:24:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88cb16a7535.35071350","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88cb16a7535.35071350"}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Updating virtual stage {"contact_id":"793","stage_name":"deal_registered","force":false}
[2026-04-22 12:24:09] [INFO] Virtual stage successfully saved {"contact_id":"793","stage_name":"deal_registered"}
[2026-04-22 12:24:09] [INFO] Virtual stage updated after activity save {"contact_id":"793"}
[2026-04-22 12:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"793","person_id":"8657"}
[2026-04-22 12:24:09] [INFO] Checking activity reminders 
[2026-04-22 12:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:24:14] [INFO] Checking activity reminders 
[2026-04-22 12:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:24:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:24:39] [INFO] Checking activity reminders 
[2026-04-22 12:24:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:24:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:24:44] [INFO] Checking activity reminders 
[2026-04-22 12:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:25:15] [INFO] Checking activity reminders 
[2026-04-22 12:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:25:45] [INFO] Checking activity reminders 
[2026-04-22 12:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:25:58] [INFO] Activity save request {"post_data":{"contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"از کانال عمومی استاد سود کرده \r\nاسفند استاد گفت ماشین گرون میشه \/ کل سرمایه در خودرو \r\n6 ماهه کانال پرزنت شد \r\nکل سرمایه در خودرو \r\n6 ساله کار خودرو \r\n","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:25:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:25:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:25:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21608","note_was_empty":true}
[2026-04-22 12:25:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"21608","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:25:58] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-22 12:25:58] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-22 12:25:58] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-22 12:25:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533bc5cb524.07389212","stage":"تماس پیگیری","status_change":null}
[2026-04-22 12:25:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88d1e122561.53039749","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:25:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88d1e122561.53039749"}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:25:58] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-22 12:25:58] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-22 12:25:58] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-22 12:25:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-22 12:26:15] [INFO] Checking activity reminders 
[2026-04-22 12:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:26:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-22 12:26:28] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_102","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"خاموش \r\nپیامک ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:26:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_102","note_was_empty":true}
[2026-04-22 12:26:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88d3c6e5932.82059242","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88d3c6e5932.82059242"}
[2026-04-22 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:28] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_102","stage_name":"contact_followup","force":false}
[2026-04-22 12:26:28] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_102","stage_name":"contact_followup"}
[2026-04-22 12:26:28] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_102"}
[2026-04-22 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_102","person_id":"21179"}
[2026-04-22 12:26:45] [INFO] Checking activity reminders 
[2026-04-22 12:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:27:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:04] [INFO] Checking activity reminders 
[2026-04-22 12:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:27:15] [INFO] Checking activity reminders 
[2026-04-22 12:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:27:15] [INFO] Checking activity reminders 
[2026-04-22 12:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:27:35] [INFO] Activity save request {"post_data":{"contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:27:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9112","note_was_empty":true}
[2026-04-22 12:27:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"9112","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:35] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-22 12:27:35] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-22 12:27:35] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-22 12:27:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d224b65a5116.94553415","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 12:27:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88d7fcb88b6.34999572","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88d7fcb88b6.34999572"}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:35] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-22 12:27:35] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-22 12:27:35] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-22 12:27:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-22 12:27:45] [INFO] Checking activity reminders 
[2026-04-22 12:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:28:30] [INFO] Checking activity reminders 
[2026-04-22 12:28:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:28:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:29:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:29:24] [INFO] Checking activity reminders 
[2026-04-22 12:29:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:29:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:29:54] [INFO] Checking activity reminders 
[2026-04-22 12:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:30:02] [INFO] Checking activity reminders 
[2026-04-22 12:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:30:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-22 12:30:24] [INFO] Checking activity reminders 
[2026-04-22 12:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:30:32] [INFO] Checking activity reminders 
[2026-04-22 12:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:30:33] [INFO] Activity save request {"post_data":{"contact_id":"15529","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:30:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:30:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:30:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:30:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:30:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15529","note_was_empty":true}
[2026-04-22 12:30:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"15529","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:30:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88e31349039.09000681","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:30:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:30:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88e31349039.09000681"}
[2026-04-22 12:30:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:30:33] [INFO] Updating virtual stage {"contact_id":"15529","stage_name":"deal_registered","force":false}
[2026-04-22 12:30:33] [INFO] Virtual stage successfully saved {"contact_id":"15529","stage_name":"deal_registered"}
[2026-04-22 12:30:33] [INFO] Virtual stage updated after activity save {"contact_id":"15529"}
[2026-04-22 12:30:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15529","person_id":"14884"}
[2026-04-22 12:30:46] [INFO] Checking activity reminders 
[2026-04-22 12:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:30:54] [INFO] Checking activity reminders 
[2026-04-22 12:30:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:30:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:31:11] [INFO] Checking activity reminders 
[2026-04-22 12:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:31:24] [INFO] Checking activity reminders 
[2026-04-22 12:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:31:26] [INFO] Checking activity reminders 
[2026-04-22 12:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:31:54] [INFO] Checking activity reminders 
[2026-04-22 12:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:32:24] [INFO] Checking activity reminders 
[2026-04-22 12:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:32:26] [INFO] Checking activity reminders 
[2026-04-22 12:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:32:46] [INFO] Checking activity reminders 
[2026-04-22 12:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:32:54] [INFO] Checking activity reminders 
[2026-04-22 12:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:33:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 12:33:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:18] [INFO] Checking activity reminders 
[2026-04-22 12:33:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:33:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:33:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 12:33:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_products"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:21] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-22 12:33:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:24] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:25] [INFO] Checking activity reminders 
[2026-04-22 12:33:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:33:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:33:31] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 12:33:31] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-22 12:33:31] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-22 12:33:31] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 12:33:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 12:33:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 12:33:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 12:33:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 12:33:37] [INFO] Checking activity reminders 
[2026-04-22 12:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:33:47] [INFO] Checking activity reminders 
[2026-04-22 12:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:33:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-22 12:33:55] [INFO] Checking activity reminders 
[2026-04-22 12:33:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:33:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:01] [INFO] Checking activity reminders 
[2026-04-22 12:34:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13157","person_id":"16406"}
[2026-04-22 12:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-22 12:34:07] [INFO] Checking activity reminders 
[2026-04-22 12:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:12] [INFO] Checking activity reminders 
[2026-04-22 12:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:17] [INFO] Checking activity reminders 
[2026-04-22 12:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:34:25] [INFO] Checking activity reminders 
[2026-04-22 12:34:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:28] [INFO] Checking activity reminders 
[2026-04-22 12:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:33] [INFO] Checking activity reminders 
[2026-04-22 12:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:42] [INFO] Checking activity reminders 
[2026-04-22 12:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:44] [INFO] Checking activity reminders 
[2026-04-22 12:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:47] [INFO] Checking activity reminders 
[2026-04-22 12:34:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:34:55] [INFO] Checking activity reminders 
[2026-04-22 12:34:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:34:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:17] [INFO] Checking activity reminders 
[2026-04-22 12:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:18] [INFO] Checking activity reminders 
[2026-04-22 12:35:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 12:35:25] [INFO] Checking activity reminders 
[2026-04-22 12:35:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:32] [INFO] Checking activity reminders 
[2026-04-22 12:35:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:41] [INFO] Checking activity reminders 
[2026-04-22 12:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-22 12:35:47] [INFO] Checking activity reminders 
[2026-04-22 12:35:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:35:55] [INFO] Checking activity reminders 
[2026-04-22 12:35:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:35:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:08] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1008","deal_id":"local_69b82286ead6c9.24459219","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 12:36:08","session_id":"k6ua2skbqft7f6p5uje5vuhcru"}
[2026-04-22 12:36:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1008","is_new_deal":false}
[2026-04-22 12:36:08] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 12:36:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 12:36:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 12:36:08] [INFO] getContactPrimaryPhone called {"contact_id":"1008"}
[2026-04-22 12:36:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:08] [INFO] getContactPrimaryPhone result {"contact_id":"1008","person_found":true,"primary_phone":"9138578190"}
[2026-04-22 12:36:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9138578190"}
[2026-04-22 12:36:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9138578190","contact_id":"1008","deal_id":"local_69b82286ead6c9.24459219","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 12:36:08"}
[2026-04-22 12:36:08] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b82286ead6c9.24459219","contact_id":"1008","existing_deal_found":true,"existing_contact_id":"1008","existing_title":"معامله دوم 9138578190 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 12:36:08"}
[2026-04-22 12:36:08] [INFO] DealController.save validated payments {"deal_id":"local_69b82286ead6c9.24459219","contact_id":"1008","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 12:36:08] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1008","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 12:36:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b82286ead6c9.24459219","contact_didar_id":"1008","title":"معامله دوم 9138578190 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9138578190","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":50000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"شریفی شریفی","existing_deal":"YES","existing_deal_id":"local_69b82286ead6c9.24459219","existing_deal_status":"Pending","server_time":"2026-04-22 12:36:08","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-22 12:36:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:08] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b82286ead6c9.24459219","contact_id":"1008","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9138578190 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":50000000,"server_time":"2026-04-22 12:36:08","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 12:36:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:18] [INFO] Checking activity reminders 
[2026-04-22 12:36:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:20] [INFO] Checking activity reminders 
[2026-04-22 12:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:22] [INFO] Checking activity reminders 
[2026-04-22 12:36:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:25] [INFO] Checking activity reminders 
[2026-04-22 12:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:28] [INFO] Activity save request {"post_data":{"contact_id":"1008","deal_id":"local_69b82286ead6c9.24459219","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه 20 اردیبهشت","activity_duration":"15","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:36:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1008","note_was_empty":true}
[2026-04-22 12:36:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"1008","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [INFO] Updating virtual stage {"contact_id":"1008","stage_name":"deal_registered","force":false}
[2026-04-22 12:36:28] [INFO] Virtual stage successfully saved {"contact_id":"1008","stage_name":"deal_registered"}
[2026-04-22 12:36:28] [INFO] Virtual stage updated after activity save {"contact_id":"1008"}
[2026-04-22 12:36:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b82286ead6c9.24459219","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 12:36:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e88f941dae46.96822317","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e88f941dae46.96822317"}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [INFO] Updating virtual stage {"contact_id":"1008","stage_name":"deal_registered","force":false}
[2026-04-22 12:36:28] [INFO] Virtual stage successfully saved {"contact_id":"1008","stage_name":"deal_registered"}
[2026-04-22 12:36:28] [INFO] Virtual stage updated after activity save {"contact_id":"1008"}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-22 12:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 12:36:30] [INFO] Checking activity reminders 
[2026-04-22 12:36:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 12:36:38] [INFO] Checking activity reminders 
[2026-04-22 12:36:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-22 12:36:48] [INFO] Checking activity reminders 
[2026-04-22 12:36:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:53] [INFO] Checking activity reminders 
[2026-04-22 12:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:55] [INFO] Checking activity reminders 
[2026-04-22 12:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:36:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 12:37:18] [INFO] Checking activity reminders 
[2026-04-22 12:37:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:37:23] [INFO] Checking activity reminders 
[2026-04-22 12:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:37:25] [INFO] Checking activity reminders 
[2026-04-22 12:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:37:32] [INFO] Lead update received {"contact_id":"5059","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 12:37:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5059"}
[2026-04-22 12:37:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 12:37:48] [INFO] Checking activity reminders 
[2026-04-22 12:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:37:54] [INFO] Checking activity reminders 
[2026-04-22 12:37:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:37:55] [INFO] Checking activity reminders 
[2026-04-22 12:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:14] [INFO] Checking activity reminders 
[2026-04-22 12:38:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:16] [INFO] Checking activity reminders 
[2026-04-22 12:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:18] [INFO] Checking activity reminders 
[2026-04-22 12:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:25] [INFO] Checking activity reminders 
[2026-04-22 12:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:42] [INFO] Checking activity reminders 
[2026-04-22 12:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:48] [INFO] Checking activity reminders 
[2026-04-22 12:38:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:56] [INFO] Checking activity reminders 
[2026-04-22 12:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:38:56] [INFO] Checking activity reminders 
[2026-04-22 12:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:04] [INFO] Checking activity reminders 
[2026-04-22 12:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:18] [INFO] Checking activity reminders 
[2026-04-22 12:39:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:26] [INFO] Checking activity reminders 
[2026-04-22 12:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:35] [INFO] Checking activity reminders 
[2026-04-22 12:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:48] [INFO] Checking activity reminders 
[2026-04-22 12:39:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:39:56] [INFO] Checking activity reminders 
[2026-04-22 12:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:40:18] [INFO] Checking activity reminders 
[2026-04-22 12:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:40:26] [INFO] Checking activity reminders 
[2026-04-22 12:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:40:48] [INFO] Checking activity reminders 
[2026-04-22 12:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:40:55] [INFO] Checking activity reminders 
[2026-04-22 12:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:40:56] [INFO] Checking activity reminders 
[2026-04-22 12:40:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:40:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:41:18] [INFO] Checking activity reminders 
[2026-04-22 12:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:41:26] [INFO] Checking activity reminders 
[2026-04-22 12:41:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:41:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:41:39] [INFO] Checking activity reminders 
[2026-04-22 12:41:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:41:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-22 12:41:48] [INFO] Checking activity reminders 
[2026-04-22 12:41:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:41:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:41:56] [INFO] Checking activity reminders 
[2026-04-22 12:41:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:41:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:42:13] [INFO] Checking activity reminders 
[2026-04-22 12:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:42:18] [INFO] Checking activity reminders 
[2026-04-22 12:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:42:26] [INFO] Checking activity reminders 
[2026-04-22 12:42:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:42:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:42:48] [INFO] Checking activity reminders 
[2026-04-22 12:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:42:56] [INFO] Checking activity reminders 
[2026-04-22 12:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:11] [INFO] Checking activity reminders 
[2026-04-22 12:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:18] [INFO] Checking activity reminders 
[2026-04-22 12:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:26] [INFO] Checking activity reminders 
[2026-04-22 12:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:46] [INFO] Checking activity reminders 
[2026-04-22 12:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:48] [INFO] Checking activity reminders 
[2026-04-22 12:43:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:43:56] [INFO] Checking activity reminders 
[2026-04-22 12:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:44:19] [INFO] Checking activity reminders 
[2026-04-22 12:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:44:26] [INFO] Checking activity reminders 
[2026-04-22 12:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:44:35] [INFO] Checking activity reminders 
[2026-04-22 12:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:44:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7769031eb00.28419193","person_id":"22100"}
[2026-04-22 12:44:49] [INFO] Checking activity reminders 
[2026-04-22 12:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:44:56] [INFO] Checking activity reminders 
[2026-04-22 12:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:45:05] [INFO] Checking activity reminders 
[2026-04-22 12:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:45:19] [INFO] Checking activity reminders 
[2026-04-22 12:45:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:45:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:45:26] [INFO] Checking activity reminders 
[2026-04-22 12:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:45:49] [INFO] Checking activity reminders 
[2026-04-22 12:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:45:56] [INFO] Checking activity reminders 
[2026-04-22 12:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:46:19] [INFO] Checking activity reminders 
[2026-04-22 12:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:46:27] [INFO] Checking activity reminders 
[2026-04-22 12:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:46:49] [INFO] Checking activity reminders 
[2026-04-22 12:46:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:46:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:46:57] [INFO] Checking activity reminders 
[2026-04-22 12:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:47:07] [INFO] Checking activity reminders 
[2026-04-22 12:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:09] [INFO] Checking activity reminders 
[2026-04-22 12:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:11] [INFO] Checking activity reminders 
[2026-04-22 12:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:27] [INFO] Checking activity reminders 
[2026-04-22 12:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:32] [INFO] Checking activity reminders 
[2026-04-22 12:47:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:37] [INFO] Checking activity reminders 
[2026-04-22 12:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:52] [INFO] Checking activity reminders 
[2026-04-22 12:47:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:47:57] [INFO] Checking activity reminders 
[2026-04-22 12:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:48:07] [INFO] Checking activity reminders 
[2026-04-22 12:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:48:14] [INFO] Checking activity reminders 
[2026-04-22 12:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:48:27] [INFO] Checking activity reminders 
[2026-04-22 12:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:48:37] [INFO] Checking activity reminders 
[2026-04-22 12:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:48:57] [INFO] Checking activity reminders 
[2026-04-22 12:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:49:07] [INFO] Checking activity reminders 
[2026-04-22 12:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:49:27] [INFO] Checking activity reminders 
[2026-04-22 12:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:49:37] [INFO] Checking activity reminders 
[2026-04-22 12:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:49:41] [INFO] Checking activity reminders 
[2026-04-22 12:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:49:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-22 12:49:57] [INFO] Checking activity reminders 
[2026-04-22 12:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:01] [INFO] Activity save request {"post_data":{"contact_id":"6393","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ\r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:50:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:50:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:50:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6393","note_was_empty":true}
[2026-04-22 12:50:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"6393","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:50:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e892c122e342.25168700","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:50:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e892c122e342.25168700"}
[2026-04-22 12:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:50:01] [INFO] Updating virtual stage {"contact_id":"6393","stage_name":"deal_registered","force":false}
[2026-04-22 12:50:01] [INFO] Virtual stage successfully saved {"contact_id":"6393","stage_name":"deal_registered"}
[2026-04-22 12:50:01] [INFO] Virtual stage updated after activity save {"contact_id":"6393"}
[2026-04-22 12:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6393","person_id":"11191"}
[2026-04-22 12:50:07] [INFO] Checking activity reminders 
[2026-04-22 12:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:27] [INFO] Checking activity reminders 
[2026-04-22 12:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:37] [INFO] Checking activity reminders 
[2026-04-22 12:50:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:40] [INFO] Checking activity reminders 
[2026-04-22 12:50:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:57] [INFO] Checking activity reminders 
[2026-04-22 12:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:50:59] [INFO] Checking activity reminders 
[2026-04-22 12:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:51:08] [INFO] Checking activity reminders 
[2026-04-22 12:51:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:13] [INFO] Checking activity reminders 
[2026-04-22 12:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:29] [INFO] Checking activity reminders 
[2026-04-22 12:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:35] [INFO] Checking activity reminders 
[2026-04-22 12:51:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:38] [INFO] Checking activity reminders 
[2026-04-22 12:51:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:54] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 12:51:54] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 12:51:54] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 12:51:54] [INFO] Checking activity reminders 
[2026-04-22 12:51:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:51:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-22 12:52:05] [INFO] Checking activity reminders 
[2026-04-22 12:52:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:08] [INFO] Checking activity reminders 
[2026-04-22 12:52:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:19] [INFO] Checking activity reminders 
[2026-04-22 12:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:24] [INFO] Checking activity reminders 
[2026-04-22 12:52:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:29] [INFO] Checking activity reminders 
[2026-04-22 12:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:38] [INFO] Checking activity reminders 
[2026-04-22 12:52:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:52:54] [INFO] Checking activity reminders 
[2026-04-22 12:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:53:08] [INFO] Checking activity reminders 
[2026-04-22 12:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:53:24] [INFO] Checking activity reminders 
[2026-04-22 12:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:53:38] [INFO] Checking activity reminders 
[2026-04-22 12:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:53:54] [INFO] Checking activity reminders 
[2026-04-22 12:53:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:53:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:01] [INFO] Checking activity reminders 
[2026-04-22 12:54:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:08] [INFO] Checking activity reminders 
[2026-04-22 12:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:14] [INFO] Checking activity reminders 
[2026-04-22 12:54:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-22 12:54:24] [INFO] Checking activity reminders 
[2026-04-22 12:54:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d61edc531e17.81711181","person_id":"22030"}
[2026-04-22 12:54:38] [INFO] Checking activity reminders 
[2026-04-22 12:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:38] [INFO] Checking activity reminders 
[2026-04-22 12:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:40] [INFO] Checking activity reminders 
[2026-04-22 12:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:54] [INFO] Checking activity reminders 
[2026-04-22 12:54:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:55] [INFO] Checking activity reminders 
[2026-04-22 12:54:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:54:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:54:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53b38944027.01024355","person_id":"21831"}
[2026-04-22 12:55:08] [INFO] Checking activity reminders 
[2026-04-22 12:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:55:18] [INFO] Checking activity reminders 
[2026-04-22 12:55:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:55:22] [INFO] Checking activity reminders 
[2026-04-22 12:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:55:38] [INFO] Checking activity reminders 
[2026-04-22 12:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:55:48] [INFO] Checking activity reminders 
[2026-04-22 12:55:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:55:53] [INFO] Checking activity reminders 
[2026-04-22 12:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:08] [INFO] Checking activity reminders 
[2026-04-22 12:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:18] [INFO] Checking activity reminders 
[2026-04-22 12:56:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:23] [INFO] Checking activity reminders 
[2026-04-22 12:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:38] [INFO] Checking activity reminders 
[2026-04-22 12:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:38] [INFO] Checking activity reminders 
[2026-04-22 12:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:56:53] [INFO] Checking activity reminders 
[2026-04-22 12:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:57:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:09] [INFO] Checking activity reminders 
[2026-04-22 12:57:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:57:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:57:17] [INFO] Activity save request {"post_data":{"contact_id":"1509","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\n\r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 12:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 12:57:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 12:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1509","note_was_empty":true}
[2026-04-22 12:57:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"1509","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 12:57:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e89475cfd220.95803167","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 12:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e89475cfd220.95803167"}
[2026-04-22 12:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:17] [INFO] Updating virtual stage {"contact_id":"1509","stage_name":"deal_registered","force":false}
[2026-04-22 12:57:17] [INFO] Virtual stage successfully saved {"contact_id":"1509","stage_name":"deal_registered"}
[2026-04-22 12:57:17] [INFO] Virtual stage updated after activity save {"contact_id":"1509"}
[2026-04-22 12:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1509","person_id":"13632"}
[2026-04-22 12:57:23] [INFO] Checking activity reminders 
[2026-04-22 12:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:57:30] [INFO] Checking activity reminders 
[2026-04-22 12:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:57:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-22 12:57:39] [INFO] Checking activity reminders 
[2026-04-22 12:57:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:57:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:57:53] [INFO] Checking activity reminders 
[2026-04-22 12:57:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:57:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:06] [INFO] Checking activity reminders 
[2026-04-22 12:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:09] [INFO] Checking activity reminders 
[2026-04-22 12:58:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:23] [INFO] Checking activity reminders 
[2026-04-22 12:58:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:30] [INFO] Checking activity reminders 
[2026-04-22 12:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:39] [INFO] Checking activity reminders 
[2026-04-22 12:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:58:53] [INFO] Checking activity reminders 
[2026-04-22 12:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:59:09] [INFO] Checking activity reminders 
[2026-04-22 12:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:59:23] [INFO] Checking activity reminders 
[2026-04-22 12:59:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:59:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:59:39] [INFO] Checking activity reminders 
[2026-04-22 12:59:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:59:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:59:53] [INFO] Checking activity reminders 
[2026-04-22 12:59:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:59:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 12:59:59] [INFO] Checking activity reminders 
[2026-04-22 12:59:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 12:59:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:00:09] [INFO] Checking activity reminders 
[2026-04-22 13:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:00:23] [INFO] Checking activity reminders 
[2026-04-22 13:00:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:00:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:00:33] [INFO] Checking activity reminders 
[2026-04-22 13:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:00:39] [INFO] Checking activity reminders 
[2026-04-22 13:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-22 13:00:53] [INFO] Checking activity reminders 
[2026-04-22 13:00:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:00:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:06] [INFO] Checking activity reminders 
[2026-04-22 13:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:08] [INFO] Checking activity reminders 
[2026-04-22 13:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:09] [INFO] Checking activity reminders 
[2026-04-22 13:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:32] [INFO] Checking activity reminders 
[2026-04-22 13:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:36] [INFO] Checking activity reminders 
[2026-04-22 13:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:01:39] [INFO] Checking activity reminders 
[2026-04-22 13:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:06] [INFO] Checking activity reminders 
[2026-04-22 13:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:09] [INFO] Checking activity reminders 
[2026-04-22 13:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:10] [INFO] Checking activity reminders 
[2026-04-22 13:02:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:22] [INFO] Checking activity reminders 
[2026-04-22 13:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:02:31] [INFO] Checking activity reminders 
[2026-04-22 13:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:32] [INFO] Checking activity reminders 
[2026-04-22 13:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:36] [INFO] Checking activity reminders 
[2026-04-22 13:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:02:39] [INFO] Checking activity reminders 
[2026-04-22 13:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:03:06] [INFO] Checking activity reminders 
[2026-04-22 13:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:03:10] [INFO] Checking activity reminders 
[2026-04-22 13:03:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:03:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:03:36] [INFO] Checking activity reminders 
[2026-04-22 13:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:03:40] [INFO] Checking activity reminders 
[2026-04-22 13:03:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:03:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:00] [INFO] Checking activity reminders 
[2026-04-22 13:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:06] [INFO] Checking activity reminders 
[2026-04-22 13:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:10] [INFO] Checking activity reminders 
[2026-04-22 13:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:24] [INFO] Activity save request {"post_data":{"contact_id":"6662","deal_id":"local_69e0a7ef632e25.73471656","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:04:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6662","note_was_empty":true}
[2026-04-22 13:04:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"6662","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:24] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-22 13:04:24] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-22 13:04:24] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-22 13:04:24] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a7ef632e25.73471656","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 13:04:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e89620beebf7.09819644","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69e89620beebf7.09819644"}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:24] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-22 13:04:24] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-22 13:04:24] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-22 13:04:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-22 13:04:35] [INFO] Checking activity reminders 
[2026-04-22 13:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:36] [INFO] Checking activity reminders 
[2026-04-22 13:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:39] [INFO] Checking activity reminders 
[2026-04-22 13:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:40] [INFO] Checking activity reminders 
[2026-04-22 13:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:43] [INFO] Checking activity reminders 
[2026-04-22 13:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:45] [INFO] Checking activity reminders 
[2026-04-22 13:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:46] [INFO] Checking activity reminders 
[2026-04-22 13:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:04:50] [INFO] Checking activity reminders 
[2026-04-22 13:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-22 13:05:10] [INFO] Checking activity reminders 
[2026-04-22 13:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:16] [INFO] Checking activity reminders 
[2026-04-22 13:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:30] [INFO] Checking activity reminders 
[2026-04-22 13:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:31] [INFO] Checking activity reminders 
[2026-04-22 13:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:34] [INFO] Checking activity reminders 
[2026-04-22 13:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:35] [INFO] Checking activity reminders 
[2026-04-22 13:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:05:40] [INFO] Checking activity reminders 
[2026-04-22 13:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:05] [INFO] Checking activity reminders 
[2026-04-22 13:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14108","person_id":"6968"}
[2026-04-22 13:06:10] [INFO] Checking activity reminders 
[2026-04-22 13:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:21] [INFO] Checking activity reminders 
[2026-04-22 13:06:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:35] [INFO] Checking activity reminders 
[2026-04-22 13:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:40] [INFO] Checking activity reminders 
[2026-04-22 13:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:06:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:06:58] [INFO] Checking activity reminders 
[2026-04-22 13:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:05] [INFO] Checking activity reminders 
[2026-04-22 13:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-04-22 13:07:10] [INFO] Checking activity reminders 
[2026-04-22 13:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:29] [INFO] Checking activity reminders 
[2026-04-22 13:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:35] [INFO] Checking activity reminders 
[2026-04-22 13:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:40] [INFO] Checking activity reminders 
[2026-04-22 13:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:07:51] [INFO] Checking activity reminders 
[2026-04-22 13:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:05] [INFO] Checking activity reminders 
[2026-04-22 13:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:10] [INFO] Checking activity reminders 
[2026-04-22 13:08:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:21] [INFO] Checking activity reminders 
[2026-04-22 13:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:35] [INFO] Checking activity reminders 
[2026-04-22 13:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:36] [INFO] Checking activity reminders 
[2026-04-22 13:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:40] [INFO] Checking activity reminders 
[2026-04-22 13:08:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:08:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:08:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-04-22 13:09:01] [INFO] Checking activity reminders 
[2026-04-22 13:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:09:06] [INFO] Checking activity reminders 
[2026-04-22 13:09:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:09:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21217","person_id":"19924"}
[2026-04-22 13:09:10] [INFO] Checking activity reminders 
[2026-04-22 13:09:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:09:36] [INFO] Checking activity reminders 
[2026-04-22 13:09:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:09:41] [INFO] Checking activity reminders 
[2026-04-22 13:09:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:09:50] [INFO] Checking activity reminders 
[2026-04-22 13:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:06] [INFO] Checking activity reminders 
[2026-04-22 13:10:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:11] [INFO] Checking activity reminders 
[2026-04-22 13:10:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:12] [INFO] Checking activity reminders 
[2026-04-22 13:10:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:36] [INFO] Checking activity reminders 
[2026-04-22 13:10:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:41] [INFO] Checking activity reminders 
[2026-04-22 13:10:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:10:47] [INFO] Checking activity reminders 
[2026-04-22 13:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:11:06] [INFO] Checking activity reminders 
[2026-04-22 13:11:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:11:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:11:11] [INFO] Checking activity reminders 
[2026-04-22 13:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:11:13] [INFO] Checking activity reminders 
[2026-04-22 13:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:11:36] [INFO] Checking activity reminders 
[2026-04-22 13:11:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:11:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:11:41] [INFO] Checking activity reminders 
[2026-04-22 13:11:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:11:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:12:06] [INFO] Checking activity reminders 
[2026-04-22 13:12:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:12:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:12:36] [INFO] Checking activity reminders 
[2026-04-22 13:12:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:12:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:13:06] [INFO] Checking activity reminders 
[2026-04-22 13:13:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:13:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:13:37] [INFO] Checking activity reminders 
[2026-04-22 13:13:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:13:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:14:07] [INFO] Checking activity reminders 
[2026-04-22 13:14:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:14:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:14:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 13:14:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 13:14:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 13:14:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 13:14:37] [INFO] Checking activity reminders 
[2026-04-22 13:14:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:14:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:14:47] [INFO] Checking activity reminders 
[2026-04-22 13:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13039","person_id":"4370"}
[2026-04-22 13:15:07] [INFO] Checking activity reminders 
[2026-04-22 13:15:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-22 13:15:23] [INFO] Checking activity reminders 
[2026-04-22 13:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:37] [INFO] Checking activity reminders 
[2026-04-22 13:15:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:39] [INFO] Checking activity reminders 
[2026-04-22 13:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:52] [INFO] Checking activity reminders 
[2026-04-22 13:15:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:15:57] [INFO] Checking activity reminders 
[2026-04-22 13:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:16:07] [INFO] Checking activity reminders 
[2026-04-22 13:16:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:16:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:16:23] [INFO] Checking activity reminders 
[2026-04-22 13:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-22 13:16:37] [INFO] Checking activity reminders 
[2026-04-22 13:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:16:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13039","person_id":"4370"}
[2026-04-22 13:16:53] [INFO] Checking activity reminders 
[2026-04-22 13:16:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:16:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:17:07] [INFO] Checking activity reminders 
[2026-04-22 13:17:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:17:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:17:31] [INFO] Checking activity reminders 
[2026-04-22 13:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:17:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-22 13:17:37] [INFO] Checking activity reminders 
[2026-04-22 13:17:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:17:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:17:44] [INFO] Checking activity reminders 
[2026-04-22 13:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:17:52] [INFO] Checking activity reminders 
[2026-04-22 13:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:00] [INFO] Checking activity reminders 
[2026-04-22 13:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:07] [INFO] Checking activity reminders 
[2026-04-22 13:18:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:08] [INFO] Checking activity reminders 
[2026-04-22 13:18:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:14] [INFO] Checking activity reminders 
[2026-04-22 13:18:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:37] [INFO] Checking activity reminders 
[2026-04-22 13:18:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:42] [INFO] Checking activity reminders 
[2026-04-22 13:18:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:18:44] [INFO] Checking activity reminders 
[2026-04-22 13:18:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:18:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:19:06] [INFO] Checking activity reminders 
[2026-04-22 13:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:19:08] [INFO] Checking activity reminders 
[2026-04-22 13:19:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:19:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:19:14] [INFO] Checking activity reminders 
[2026-04-22 13:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:19:38] [INFO] Checking activity reminders 
[2026-04-22 13:19:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:19:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:19:44] [INFO] Checking activity reminders 
[2026-04-22 13:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:20:08] [INFO] Checking activity reminders 
[2026-04-22 13:20:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:20:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:20:14] [INFO] Checking activity reminders 
[2026-04-22 13:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:20:38] [INFO] Checking activity reminders 
[2026-04-22 13:20:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:20:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:20:44] [INFO] Checking activity reminders 
[2026-04-22 13:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:21:08] [INFO] Checking activity reminders 
[2026-04-22 13:21:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:21:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:21:14] [INFO] Checking activity reminders 
[2026-04-22 13:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:21:36] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 13:21:36] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 13:21:36] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 13:21:36] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 13:21:38] [INFO] Checking activity reminders 
[2026-04-22 13:21:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:21:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:21:44] [INFO] Checking activity reminders 
[2026-04-22 13:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:22:06] [INFO] Checking activity reminders 
[2026-04-22 13:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:22:08] [INFO] Checking activity reminders 
[2026-04-22 13:22:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:22:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:22:14] [INFO] Checking activity reminders 
[2026-04-22 13:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:22:36] [INFO] Checking activity reminders 
[2026-04-22 13:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:22:38] [INFO] Checking activity reminders 
[2026-04-22 13:22:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:22:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:06] [INFO] Checking activity reminders 
[2026-04-22 13:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:08] [INFO] Checking activity reminders 
[2026-04-22 13:23:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:27] [INFO] Checking activity reminders 
[2026-04-22 13:23:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:34] [INFO] Checking activity reminders 
[2026-04-22 13:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:38] [INFO] Checking activity reminders 
[2026-04-22 13:23:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:39] [INFO] Checking activity reminders 
[2026-04-22 13:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:48] [INFO] Checking activity reminders 
[2026-04-22 13:23:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:55] [INFO] Checking activity reminders 
[2026-04-22 13:23:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:23:59] [INFO] Checking activity reminders 
[2026-04-22 13:23:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:23:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:24:09] [INFO] Checking activity reminders 
[2026-04-22 13:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:24:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16717","person_id":"5375"}
[2026-04-22 13:24:29] [INFO] Checking activity reminders 
[2026-04-22 13:24:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:24:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:24:32] [INFO] Checking activity reminders 
[2026-04-22 13:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:24:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-22 13:24:39] [INFO] Checking activity reminders 
[2026-04-22 13:24:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:24:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:24:51] [INFO] Checking activity reminders 
[2026-04-22 13:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:03] [INFO] Checking activity reminders 
[2026-04-22 13:25:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:09] [INFO] Checking activity reminders 
[2026-04-22 13:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:30] [INFO] Checking activity reminders 
[2026-04-22 13:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:39] [INFO] Checking activity reminders 
[2026-04-22 13:25:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:41] [INFO] Checking activity reminders 
[2026-04-22 13:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:46] [INFO] Checking activity reminders 
[2026-04-22 13:25:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:52] [INFO] Checking activity reminders 
[2026-04-22 13:25:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:25:56] [INFO] Checking activity reminders 
[2026-04-22 13:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:26:02] [INFO] Checking activity reminders 
[2026-04-22 13:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:26:09] [INFO] Checking activity reminders 
[2026-04-22 13:26:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:26:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:26:39] [INFO] Checking activity reminders 
[2026-04-22 13:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:27:00] [INFO] Checking activity reminders 
[2026-04-22 13:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:27:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-22 13:27:09] [INFO] Checking activity reminders 
[2026-04-22 13:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:27:30] [INFO] Checking activity reminders 
[2026-04-22 13:27:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:27:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:27:39] [INFO] Checking activity reminders 
[2026-04-22 13:27:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:27:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:28:04] [INFO] Checking activity reminders 
[2026-04-22 13:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:28:09] [INFO] Checking activity reminders 
[2026-04-22 13:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:28:09] [INFO] Checking activity reminders 
[2026-04-22 13:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:28:39] [INFO] Checking activity reminders 
[2026-04-22 13:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:09] [INFO] Checking activity reminders 
[2026-04-22 13:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:13] [INFO] Checking activity reminders 
[2026-04-22 13:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:20] [INFO] Checking activity reminders 
[2026-04-22 13:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-22 13:29:39] [INFO] Checking activity reminders 
[2026-04-22 13:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:49] [INFO] Checking activity reminders 
[2026-04-22 13:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:29:55] [INFO] Checking activity reminders 
[2026-04-22 13:29:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:29:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:30:04] [INFO] Checking activity reminders 
[2026-04-22 13:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:30:10] [INFO] Checking activity reminders 
[2026-04-22 13:30:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:30:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:30:40] [INFO] Checking activity reminders 
[2026-04-22 13:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:31:10] [INFO] Checking activity reminders 
[2026-04-22 13:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:31:10] [INFO] Lead update received {"contact_id":"1950","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:31:10] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1950"}
[2026-04-22 13:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:31:13] [INFO] Checking activity reminders 
[2026-04-22 13:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:31:40] [INFO] Checking activity reminders 
[2026-04-22 13:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:32:10] [INFO] Checking activity reminders 
[2026-04-22 13:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:32:40] [INFO] Checking activity reminders 
[2026-04-22 13:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:00] [INFO] Checking activity reminders 
[2026-04-22 13:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:10] [INFO] Checking activity reminders 
[2026-04-22 13:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:37] [INFO] Checking activity reminders 
[2026-04-22 13:33:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:40] [INFO] Checking activity reminders 
[2026-04-22 13:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:40] [INFO] Checking activity reminders 
[2026-04-22 13:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:50] [INFO] Checking activity reminders 
[2026-04-22 13:33:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:33:56] [INFO] Checking activity reminders 
[2026-04-22 13:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:34:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12626","person_id":"1483"}
[2026-04-22 13:34:10] [INFO] Checking activity reminders 
[2026-04-22 13:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:34:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2996","person_id":"2853"}
[2026-04-22 13:34:26] [INFO] Checking activity reminders 
[2026-04-22 13:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:34:40] [INFO] Checking activity reminders 
[2026-04-22 13:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4659","person_id":"16796"}
[2026-04-22 13:34:56] [INFO] Checking activity reminders 
[2026-04-22 13:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14598","person_id":"1468"}
[2026-04-22 13:35:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-22 13:35:11] [INFO] Checking activity reminders 
[2026-04-22 13:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:17] [INFO] Checking activity reminders 
[2026-04-22 13:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:24] [INFO] Checking activity reminders 
[2026-04-22 13:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:35] [INFO] Checking activity reminders 
[2026-04-22 13:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:41] [INFO] Checking activity reminders 
[2026-04-22 13:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:35:47] [INFO] Checking activity reminders 
[2026-04-22 13:35:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:35:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:36:11] [INFO] Checking activity reminders 
[2026-04-22 13:36:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:36:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:36:41] [INFO] Checking activity reminders 
[2026-04-22 13:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:37:11] [INFO] Checking activity reminders 
[2026-04-22 13:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:37:36] [INFO] Checking activity reminders 
[2026-04-22 13:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:37:41] [INFO] Checking activity reminders 
[2026-04-22 13:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:37:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:38:06] [INFO] Checking activity reminders 
[2026-04-22 13:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:11] [INFO] Checking activity reminders 
[2026-04-22 13:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:17] [INFO] Checking activity reminders 
[2026-04-22 13:38:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:24] [INFO] Checking activity reminders 
[2026-04-22 13:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 13:38:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 13:38:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 13:38:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-22 13:38:26] [INFO] Checking activity reminders 
[2026-04-22 13:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:36] [INFO] Checking activity reminders 
[2026-04-22 13:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:41] [INFO] Checking activity reminders 
[2026-04-22 13:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:38:54] [INFO] Checking activity reminders 
[2026-04-22 13:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:56] [INFO] Checking activity reminders 
[2026-04-22 13:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:38:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:39:04] [INFO] Checking activity reminders 
[2026-04-22 13:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:06] [INFO] Checking activity reminders 
[2026-04-22 13:39:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:10] [INFO] Checking activity reminders 
[2026-04-22 13:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:11] [INFO] Checking activity reminders 
[2026-04-22 13:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:39:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:39:19] [INFO] Checking activity reminders 
[2026-04-22 13:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:27] [INFO] Checking activity reminders 
[2026-04-22 13:39:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:37] [INFO] Checking activity reminders 
[2026-04-22 13:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:41] [INFO] Checking activity reminders 
[2026-04-22 13:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:39:43] [INFO] Checking activity reminders 
[2026-04-22 13:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:07] [INFO] Checking activity reminders 
[2026-04-22 13:40:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:11] [INFO] Checking activity reminders 
[2026-04-22 13:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 13:40:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:40:24] [INFO] Checking activity reminders 
[2026-04-22 13:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:37] [INFO] Checking activity reminders 
[2026-04-22 13:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:38] [INFO] Activity save request {"post_data":{"contact_id":"1950","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کار ملک و خودرو و زمین و ویلا \r\nگنا اباد \r\nدر طلا متضرر \/ 19.200 با زمین معاضه کرده \r\n2 تا خودرو حواله ایرانی متضرر \r\nپرزنت 405\/ دوره پیش بینی کل بازار های مالی \r\nنقد و چک 79 با پشتیبانی استاد \r\nارسال در بله ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:40:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:40:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:40:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1950","note_was_empty":true}
[2026-04-22 13:40:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"1950","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 13:40:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e89e9ecfb314.99490160","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:40:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69e89e9ecfb314.99490160"}
[2026-04-22 13:40:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:38] [INFO] Updating virtual stage {"contact_id":"1950","stage_name":"deal_registered","force":false}
[2026-04-22 13:40:38] [INFO] Virtual stage successfully saved {"contact_id":"1950","stage_name":"deal_registered"}
[2026-04-22 13:40:38] [INFO] Virtual stage updated after activity save {"contact_id":"1950"}
[2026-04-22 13:40:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:42] [INFO] Checking activity reminders 
[2026-04-22 13:40:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:47] [INFO] Checking activity reminders 
[2026-04-22 13:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:40:53] [INFO] Lead update received {"contact_id":"1950","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 13:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:53] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1950"}
[2026-04-22 13:40:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-22 13:40:53] [INFO] Checking activity reminders 
[2026-04-22 13:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:03] [INFO] Checking activity reminders 
[2026-04-22 13:41:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:41:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:12] [INFO] Checking activity reminders 
[2026-04-22 13:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:42] [INFO] Checking activity reminders 
[2026-04-22 13:41:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:41:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:44] [INFO] Checking activity reminders 
[2026-04-22 13:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:54] [INFO] Checking activity reminders 
[2026-04-22 13:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:41:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:42:11] [INFO] Checking activity reminders 
[2026-04-22 13:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:12] [INFO] Checking activity reminders 
[2026-04-22 13:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:14] [INFO] Checking activity reminders 
[2026-04-22 13:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5059","deal_id":"local_69b0a80a0e58e4.82794644","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 13:42:14","session_id":"k6ua2skbqft7f6p5uje5vuhcru"}
[2026-04-22 13:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5059","is_new_deal":false}
[2026-04-22 13:42:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 13:42:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:42:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:42:14] [INFO] getContactPrimaryPhone called {"contact_id":"5059"}
[2026-04-22 13:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:14] [INFO] getContactPrimaryPhone result {"contact_id":"5059","person_found":true,"primary_phone":"9393020727"}
[2026-04-22 13:42:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9393020727"}
[2026-04-22 13:42:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9393020727","contact_id":"5059","deal_id":"local_69b0a80a0e58e4.82794644","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 13:42:14"}
[2026-04-22 13:42:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b0a80a0e58e4.82794644","contact_id":"5059","existing_deal_found":true,"existing_contact_id":"5059","existing_title":"معامله سوم 9393020727 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 13:42:14"}
[2026-04-22 13:42:14] [INFO] DealController.save validated payments {"deal_id":"local_69b0a80a0e58e4.82794644","contact_id":"5059","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-22 13:42:14] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5059","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 13:42:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b0a80a0e58e4.82794644","contact_didar_id":"5059","title":"معامله سوم 9393020727 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9393020727","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"رجبی رجبی","existing_deal":"YES","existing_deal_id":"local_69b0a80a0e58e4.82794644","existing_deal_status":"Pending","server_time":"2026-04-22 13:42:14","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-22 13:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b0a80a0e58e4.82794644","contact_id":"5059","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9393020727 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-22 13:42:14","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 13:42:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:16] [INFO] Lead update received {"contact_id":"13827","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 13:42:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:42:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:42:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:42:16] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13827"}
[2026-04-22 13:42:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:42:28] [INFO] Checking activity reminders 
[2026-04-22 13:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:31] [INFO] Activity save request {"post_data":{"contact_id":"5059","deal_id":"local_69b0a80a0e58e4.82794644","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"29 فروردین تسویه گرفتم ","activity_duration":"15","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:42:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5059","note_was_empty":true}
[2026-04-22 13:42:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"5059","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Updating virtual stage {"contact_id":"5059","stage_name":"with_purchase","force":false}
[2026-04-22 13:42:31] [INFO] Virtual stage successfully saved {"contact_id":"5059","stage_name":"with_purchase"}
[2026-04-22 13:42:31] [INFO] Virtual stage updated after activity save {"contact_id":"5059"}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b0a80a0e58e4.82794644","stage":"اتمام","status_change":"Won"}
[2026-04-22 13:42:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e89f0fb06ec6.32255049","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e89f0fb06ec6.32255049"}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:31] [INFO] Updating virtual stage {"contact_id":"5059","stage_name":"with_purchase","force":false}
[2026-04-22 13:42:31] [INFO] Virtual stage successfully saved {"contact_id":"5059","stage_name":"with_purchase"}
[2026-04-22 13:42:31] [INFO] Virtual stage updated after activity save {"contact_id":"5059"}
[2026-04-22 13:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-22 13:42:42] [INFO] Checking activity reminders 
[2026-04-22 13:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:43] [INFO] Checking activity reminders 
[2026-04-22 13:42:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:42:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:43:12] [INFO] Checking activity reminders 
[2026-04-22 13:43:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:43:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:43:13] [INFO] Checking activity reminders 
[2026-04-22 13:43:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:43:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:43:42] [INFO] Checking activity reminders 
[2026-04-22 13:43:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:43:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:43:43] [INFO] Checking activity reminders 
[2026-04-22 13:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:43:45] [INFO] Checking activity reminders 
[2026-04-22 13:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:44:12] [INFO] Checking activity reminders 
[2026-04-22 13:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:44:13] [INFO] Checking activity reminders 
[2026-04-22 13:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:44:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"13827","deal_id":"local_69b52f9a686c29.73319543","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 13:44:21","session_id":"k6ua2skbqft7f6p5uje5vuhcru"}
[2026-04-22 13:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"13827","is_new_deal":false}
[2026-04-22 13:44:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 13:44:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:44:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:44:21] [INFO] getContactPrimaryPhone called {"contact_id":"13827"}
[2026-04-22 13:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:21] [INFO] getContactPrimaryPhone result {"contact_id":"13827","person_found":true,"primary_phone":"9393427403"}
[2026-04-22 13:44:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9393427403"}
[2026-04-22 13:44:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9393427403","contact_id":"13827","deal_id":"local_69b52f9a686c29.73319543","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 13:44:21"}
[2026-04-22 13:44:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b52f9a686c29.73319543","contact_id":"13827","existing_deal_found":true,"existing_contact_id":"13827","existing_title":"معامله دوم 9393427403 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 13:44:21"}
[2026-04-22 13:44:21] [INFO] DealController.save validated payments {"deal_id":"local_69b52f9a686c29.73319543","contact_id":"13827","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 13:44:21] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"13827","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 13:44:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b52f9a686c29.73319543","contact_didar_id":"13827","title":"معامله دوم 9393427403 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9393427403","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":43000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای حسین زاده","existing_deal":"YES","existing_deal_id":"local_69b52f9a686c29.73319543","existing_deal_status":"Pending","server_time":"2026-04-22 13:44:21","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-22 13:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:21] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b52f9a686c29.73319543","contact_id":"13827","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9393427403 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":43000000,"server_time":"2026-04-22 13:44:21","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 13:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:31] [INFO] Activity save request {"post_data":{"contact_id":"13827","deal_id":"local_69b52f9a686c29.73319543","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 تا 18 دیگه باید بزنه گفتم تسویه هفته اخر خرداد باشه میگشف شایسته گفته تیر گفتم نداریم","activity_duration":"20","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:44:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"13827","note_was_empty":true}
[2026-04-22 13:44:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"13827","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 13:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:31] [INFO] Updating virtual stage {"contact_id":"13827","stage_name":"deal_registered","force":false}
[2026-04-22 13:44:32] [INFO] Virtual stage successfully saved {"contact_id":"13827","stage_name":"deal_registered"}
[2026-04-22 13:44:32] [INFO] Virtual stage updated after activity save {"contact_id":"13827"}
[2026-04-22 13:44:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b52f9a686c29.73319543","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 13:44:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e89f87f25d83.49362076","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:44:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69e89f87f25d83.49362076"}
[2026-04-22 13:44:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:32] [INFO] Updating virtual stage {"contact_id":"13827","stage_name":"deal_registered","force":false}
[2026-04-22 13:44:32] [INFO] Virtual stage successfully saved {"contact_id":"13827","stage_name":"deal_registered"}
[2026-04-22 13:44:32] [INFO] Virtual stage updated after activity save {"contact_id":"13827"}
[2026-04-22 13:44:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-22 13:44:42] [INFO] Checking activity reminders 
[2026-04-22 13:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:44:43] [INFO] Checking activity reminders 
[2026-04-22 13:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:45:12] [INFO] Checking activity reminders 
[2026-04-22 13:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:45:42] [INFO] Checking activity reminders 
[2026-04-22 13:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:46:12] [INFO] Checking activity reminders 
[2026-04-22 13:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:46:42] [INFO] Checking activity reminders 
[2026-04-22 13:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:47:13] [INFO] Checking activity reminders 
[2026-04-22 13:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:47:43] [INFO] Checking activity reminders 
[2026-04-22 13:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:48:13] [INFO] Checking activity reminders 
[2026-04-22 13:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:48:43] [INFO] Checking activity reminders 
[2026-04-22 13:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:49:13] [INFO] Checking activity reminders 
[2026-04-22 13:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:49:43] [INFO] Checking activity reminders 
[2026-04-22 13:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:50:13] [INFO] Checking activity reminders 
[2026-04-22 13:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:50:17] [INFO] Checking activity reminders 
[2026-04-22 13:50:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:50:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:50:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 13:50:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 13:50:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 13:50:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 13:50:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 13:50:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 13:50:43] [INFO] Checking activity reminders 
[2026-04-22 13:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:50:50] [INFO] Checking activity reminders 
[2026-04-22 13:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:51:20] [INFO] Checking activity reminders 
[2026-04-22 13:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:51:24] [INFO] Checking activity reminders 
[2026-04-22 13:51:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:51:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:51:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:51:50] [INFO] Checking activity reminders 
[2026-04-22 13:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:51:54] [INFO] Checking activity reminders 
[2026-04-22 13:51:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:51:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:52:20] [INFO] Checking activity reminders 
[2026-04-22 13:52:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:52:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:52:24] [INFO] Checking activity reminders 
[2026-04-22 13:52:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:52:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:52:50] [INFO] Checking activity reminders 
[2026-04-22 13:52:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:52:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:53:20] [INFO] Checking activity reminders 
[2026-04-22 13:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:53:23] [INFO] Checking activity reminders 
[2026-04-22 13:53:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:53:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:53:50] [INFO] Checking activity reminders 
[2026-04-22 13:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:53:53] [INFO] Checking activity reminders 
[2026-04-22 13:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:20] [INFO] Checking activity reminders 
[2026-04-22 13:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:23] [INFO] Checking activity reminders 
[2026-04-22 13:54:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:28] [INFO] Checking activity reminders 
[2026-04-22 13:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:34] [INFO] Activity save request {"post_data":{"contact_id":"60","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:54:34] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:54:34] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:54:34] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"60","note_was_empty":true}
[2026-04-22 13:54:34] [INFO] Didar write disabled; saving activity locally {"contact_id":"60","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 13:54:34] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a1e28bd362.04161989","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:54:34] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a1e28bd362.04161989"}
[2026-04-22 13:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:54:34] [INFO] Updating virtual stage {"contact_id":"60","stage_name":"deal_registered","force":false}
[2026-04-22 13:54:34] [INFO] Virtual stage successfully saved {"contact_id":"60","stage_name":"deal_registered"}
[2026-04-22 13:54:34] [INFO] Virtual stage updated after activity save {"contact_id":"60"}
[2026-04-22 13:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"60","person_id":"1175"}
[2026-04-22 13:54:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:54:50] [INFO] Checking activity reminders 
[2026-04-22 13:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:52] [INFO] Checking activity reminders 
[2026-04-22 13:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:54:53] [INFO] Checking activity reminders 
[2026-04-22 13:54:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:54:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:20] [INFO] Checking activity reminders 
[2026-04-22 13:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:22] [INFO] Checking activity reminders 
[2026-04-22 13:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:23] [INFO] Checking activity reminders 
[2026-04-22 13:55:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:36] [INFO] Activity save request {"post_data":{"contact_id":"12098","deal_id":"local_69bbafe4300401.30827081","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:55:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12098","note_was_empty":true}
[2026-04-22 13:55:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"12098","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:36] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-22 13:55:36] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-22 13:55:36] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-22 13:55:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbafe4300401.30827081","stage":"تماس پیگیری","status_change":null}
[2026-04-22 13:55:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a22088f432.74536044","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a22088f432.74536044"}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:36] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-22 13:55:36] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-22 13:55:36] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-22 13:55:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-22 13:55:50] [INFO] Checking activity reminders 
[2026-04-22 13:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:52] [INFO] Checking activity reminders 
[2026-04-22 13:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:55:53] [INFO] Checking activity reminders 
[2026-04-22 13:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:20] [INFO] Checking activity reminders 
[2026-04-22 13:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:22] [INFO] Checking activity reminders 
[2026-04-22 13:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:23] [INFO] Checking activity reminders 
[2026-04-22 13:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"12752","deal_id":"local_69b72471ccce07.54227037","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 13:56:30","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 13:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"12752","is_new_deal":false}
[2026-04-22 13:56:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 13:56:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:56:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 13:56:30] [INFO] getContactPrimaryPhone called {"contact_id":"12752"}
[2026-04-22 13:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:30] [INFO] getContactPrimaryPhone result {"contact_id":"12752","person_found":true,"primary_phone":"9117964006"}
[2026-04-22 13:56:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9117964006"}
[2026-04-22 13:56:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9117964006","contact_id":"12752","deal_id":"local_69b72471ccce07.54227037","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 13:56:30"}
[2026-04-22 13:56:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b72471ccce07.54227037","contact_id":"12752","existing_deal_found":true,"existing_contact_id":"12752","existing_title":"معامله اول 9117964006 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 13:56:30"}
[2026-04-22 13:56:30] [INFO] DealController.save validated payments {"deal_id":"local_69b72471ccce07.54227037","contact_id":"12752","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 13:56:30] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12752","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 13:56:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b72471ccce07.54227037","contact_didar_id":"12752","title":"معامله اول 9117964006 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9117964006","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"رادش","existing_deal":"YES","existing_deal_id":"local_69b72471ccce07.54227037","existing_deal_status":"Pending","server_time":"2026-04-22 13:56:30","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 13:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b72471ccce07.54227037","contact_id":"12752","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9117964006 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-22 13:56:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 13:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Activity save request {"post_data":{"contact_id":"12752","deal_id":"local_69b72471ccce07.54227037","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:56:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12752","note_was_empty":true}
[2026-04-22 13:56:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"12752","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Updating virtual stage {"contact_id":"12752","stage_name":"deal_registered","force":false}
[2026-04-22 13:56:49] [INFO] Virtual stage successfully saved {"contact_id":"12752","stage_name":"deal_registered"}
[2026-04-22 13:56:49] [INFO] Virtual stage updated after activity save {"contact_id":"12752"}
[2026-04-22 13:56:49] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72471ccce07.54227037","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 13:56:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a2691b94f6.29833043","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a2691b94f6.29833043"}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:49] [INFO] Updating virtual stage {"contact_id":"12752","stage_name":"deal_registered","force":false}
[2026-04-22 13:56:49] [INFO] Virtual stage successfully saved {"contact_id":"12752","stage_name":"deal_registered"}
[2026-04-22 13:56:49] [INFO] Virtual stage updated after activity save {"contact_id":"12752"}
[2026-04-22 13:56:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-22 13:56:50] [INFO] Checking activity reminders 
[2026-04-22 13:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:52] [INFO] Checking activity reminders 
[2026-04-22 13:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:56:53] [INFO] Checking activity reminders 
[2026-04-22 13:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4132","person_id":"14928"}
[2026-04-22 13:57:21] [INFO] Checking activity reminders 
[2026-04-22 13:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:22] [INFO] Checking activity reminders 
[2026-04-22 13:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:23] [INFO] Checking activity reminders 
[2026-04-22 13:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:51] [INFO] Checking activity reminders 
[2026-04-22 13:57:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:52] [INFO] Checking activity reminders 
[2026-04-22 13:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:57:54] [INFO] Checking activity reminders 
[2026-04-22 13:57:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:57:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:06] [INFO] Activity save request {"post_data":{"contact_id":"20596","deal_id":"local_69e0a0a786eaf7.88461155","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 13:58:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20596","note_was_empty":true}
[2026-04-22 13:58:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"20596","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:06] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-22 13:58:06] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-22 13:58:06] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-22 13:58:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a0a786eaf7.88461155","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 13:58:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a2b64cac36.82395432","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a2b64cac36.82395432"}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:06] [INFO] Updating virtual stage {"contact_id":"20596","stage_name":"deal_registered","force":false}
[2026-04-22 13:58:06] [INFO] Virtual stage successfully saved {"contact_id":"20596","stage_name":"deal_registered"}
[2026-04-22 13:58:06] [INFO] Virtual stage updated after activity save {"contact_id":"20596"}
[2026-04-22 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20596","person_id":"9963"}
[2026-04-22 13:58:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 13:58:18] [INFO] Checking activity reminders 
[2026-04-22 13:58:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:21] [INFO] Checking activity reminders 
[2026-04-22 13:58:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:22] [INFO] Checking activity reminders 
[2026-04-22 13:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:38] [INFO] Checking activity reminders 
[2026-04-22 13:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:51] [INFO] Checking activity reminders 
[2026-04-22 13:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:58:52] [INFO] Checking activity reminders 
[2026-04-22 13:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:59:21] [INFO] Checking activity reminders 
[2026-04-22 13:59:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:59:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:59:22] [INFO] Checking activity reminders 
[2026-04-22 13:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:59:51] [INFO] Checking activity reminders 
[2026-04-22 13:59:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:59:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 13:59:52] [INFO] Checking activity reminders 
[2026-04-22 13:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 13:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:00:21] [INFO] Checking activity reminders 
[2026-04-22 14:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:00:22] [INFO] Checking activity reminders 
[2026-04-22 14:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:00:51] [INFO] Checking activity reminders 
[2026-04-22 14:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:00:52] [INFO] Checking activity reminders 
[2026-04-22 14:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:04] [INFO] Checking activity reminders 
[2026-04-22 14:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:09] [INFO] Checking activity reminders 
[2026-04-22 14:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:22] [INFO] Checking activity reminders 
[2026-04-22 14:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-22 14:01:39] [INFO] Checking activity reminders 
[2026-04-22 14:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:53] [INFO] Checking activity reminders 
[2026-04-22 14:01:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:01:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:01:56] [INFO] Activity save request {"post_data":{"contact_id":"local_69da71a826f6a2.47991842","deal_id":"local_69da71a8333a5","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری کوبنده\/ فقط زمان گرفت","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:01:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:01:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:01:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69da71a826f6a2.47991842","note_was_empty":true}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:01:56] [INFO] Updating virtual stage {"contact_id":"local_69da71a826f6a2.47991842","stage_name":"deal_registered","force":false}
[2026-04-22 14:01:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69da71a826f6a2.47991842","stage_name":"deal_registered"}
[2026-04-22 14:01:56] [INFO] Virtual stage updated after activity save {"contact_id":"local_69da71a826f6a2.47991842"}
[2026-04-22 14:01:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69da71a8333a5","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:01:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a39c47d618.81003495","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:01:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a39c47d618.81003495"}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:01:56] [INFO] Updating virtual stage {"contact_id":"local_69da71a826f6a2.47991842","stage_name":"deal_registered","force":false}
[2026-04-22 14:01:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69da71a826f6a2.47991842","stage_name":"deal_registered"}
[2026-04-22 14:01:56] [INFO] Virtual stage updated after activity save {"contact_id":"local_69da71a826f6a2.47991842"}
[2026-04-22 14:01:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69da71a826f6a2.47991842","person_id":"22120"}
[2026-04-22 14:02:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:02:09] [INFO] Checking activity reminders 
[2026-04-22 14:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:02:23] [INFO] Checking activity reminders 
[2026-04-22 14:02:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:02:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:02:39] [INFO] Checking activity reminders 
[2026-04-22 14:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:02:53] [INFO] Checking activity reminders 
[2026-04-22 14:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:03:09] [INFO] Checking activity reminders 
[2026-04-22 14:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:03:23] [INFO] Checking activity reminders 
[2026-04-22 14:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:03:39] [INFO] Checking activity reminders 
[2026-04-22 14:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:03:53] [INFO] Checking activity reminders 
[2026-04-22 14:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:04:10] [INFO] Checking activity reminders 
[2026-04-22 14:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:04:23] [INFO] Checking activity reminders 
[2026-04-22 14:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:04:26] [INFO] Activity save request {"post_data":{"contact_id":"353","deal_id":"local_69d6911a377ba9.80147603","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری واریزی عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:04:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"353","note_was_empty":true}
[2026-04-22 14:04:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"353","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:26] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-22 14:04:26] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-22 14:04:26] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-22 14:04:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6911a377ba9.80147603","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:04:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a432cdb8c6.37846929","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a432cdb8c6.37846929"}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:26] [INFO] Updating virtual stage {"contact_id":"353","stage_name":"deal_registered","force":false}
[2026-04-22 14:04:26] [INFO] Virtual stage successfully saved {"contact_id":"353","stage_name":"deal_registered"}
[2026-04-22 14:04:26] [INFO] Virtual stage updated after activity save {"contact_id":"353"}
[2026-04-22 14:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"353","person_id":"8790"}
[2026-04-22 14:04:40] [INFO] Checking activity reminders 
[2026-04-22 14:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:04:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:04:53] [INFO] Checking activity reminders 
[2026-04-22 14:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:05:05] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c26679f016.87637904","deal_id":"local_69b5c2667a9cb","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"طلاها رو رفته ملک کرده \/ شرایط دیگه نداره بیاد","activity_duration":"15","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:05:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b5c26679f016.87637904","note_was_empty":true}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:05] [INFO] Updating virtual stage {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered","force":false}
[2026-04-22 14:05:05] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered"}
[2026-04-22 14:05:05] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c26679f016.87637904"}
[2026-04-22 14:05:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c2667a9cb","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:05:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a45965d691.89422257","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a45965d691.89422257"}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:05] [INFO] Updating virtual stage {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered","force":false}
[2026-04-22 14:05:05] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c26679f016.87637904","stage_name":"deal_registered"}
[2026-04-22 14:05:05] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c26679f016.87637904"}
[2026-04-22 14:05:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c26679f016.87637904","person_id":"21853"}
[2026-04-22 14:05:10] [INFO] Checking activity reminders 
[2026-04-22 14:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:05:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:05:23] [INFO] Checking activity reminders 
[2026-04-22 14:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:05:40] [INFO] Checking activity reminders 
[2026-04-22 14:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:05:53] [INFO] Checking activity reminders 
[2026-04-22 14:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:06:10] [INFO] Checking activity reminders 
[2026-04-22 14:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:06:23] [INFO] Checking activity reminders 
[2026-04-22 14:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:06:25] [INFO] Checking activity reminders 
[2026-04-22 14:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:06:40] [INFO] Checking activity reminders 
[2026-04-22 14:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:06:53] [INFO] Checking activity reminders 
[2026-04-22 14:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:08] [INFO] Activity save request {"post_data":{"contact_id":"7936","deal_id":"local_69d3b955aaa806.25672982","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:07:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7936","note_was_empty":true}
[2026-04-22 14:07:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"7936","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:08] [INFO] Updating virtual stage {"contact_id":"7936","stage_name":"deal_registered","force":false}
[2026-04-22 14:07:08] [INFO] Virtual stage successfully saved {"contact_id":"7936","stage_name":"deal_registered"}
[2026-04-22 14:07:08] [INFO] Virtual stage updated after activity save {"contact_id":"7936"}
[2026-04-22 14:07:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d3b955aaa806.25672982","stage":"تماس پیگیری","status_change":null}
[2026-04-22 14:07:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a4d40ff708.45573393","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a4d40ff708.45573393"}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:08] [INFO] Updating virtual stage {"contact_id":"7936","stage_name":"deal_registered","force":false}
[2026-04-22 14:07:08] [INFO] Virtual stage successfully saved {"contact_id":"7936","stage_name":"deal_registered"}
[2026-04-22 14:07:08] [INFO] Virtual stage updated after activity save {"contact_id":"7936"}
[2026-04-22 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 14:07:10] [INFO] Checking activity reminders 
[2026-04-22 14:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:14] [INFO] Checking activity reminders 
[2026-04-22 14:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:18] [INFO] Checking activity reminders 
[2026-04-22 14:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:19] [INFO] Checking activity reminders 
[2026-04-22 14:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:23] [INFO] Checking activity reminders 
[2026-04-22 14:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:23] [INFO] Checking activity reminders 
[2026-04-22 14:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:24] [INFO] Checking activity reminders 
[2026-04-22 14:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:27] [INFO] Checking activity reminders 
[2026-04-22 14:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:54] [INFO] Checking activity reminders 
[2026-04-22 14:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:07:57] [INFO] Checking activity reminders 
[2026-04-22 14:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:08:24] [INFO] Checking activity reminders 
[2026-04-22 14:08:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:08:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:08:27] [INFO] Checking activity reminders 
[2026-04-22 14:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:08:54] [INFO] Checking activity reminders 
[2026-04-22 14:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:08:58] [INFO] Checking activity reminders 
[2026-04-22 14:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:09:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 14:09:24] [INFO] Checking activity reminders 
[2026-04-22 14:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:09:28] [INFO] Checking activity reminders 
[2026-04-22 14:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:09:54] [INFO] Checking activity reminders 
[2026-04-22 14:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:09:58] [INFO] Checking activity reminders 
[2026-04-22 14:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:10:24] [INFO] Checking activity reminders 
[2026-04-22 14:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:10:28] [INFO] Checking activity reminders 
[2026-04-22 14:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:10:54] [INFO] Checking activity reminders 
[2026-04-22 14:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:10:58] [INFO] Checking activity reminders 
[2026-04-22 14:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:11:24] [INFO] Checking activity reminders 
[2026-04-22 14:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:11:28] [INFO] Checking activity reminders 
[2026-04-22 14:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:11:54] [INFO] Checking activity reminders 
[2026-04-22 14:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:11:58] [INFO] Checking activity reminders 
[2026-04-22 14:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:12:24] [INFO] Checking activity reminders 
[2026-04-22 14:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:12:28] [INFO] Checking activity reminders 
[2026-04-22 14:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:12:54] [INFO] Checking activity reminders 
[2026-04-22 14:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:12:59] [INFO] Checking activity reminders 
[2026-04-22 14:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:13:23] [INFO] Activity save request {"post_data":{"contact_id":"21638","deal_id":"local_69b73be32e0585.78940642","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:13:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21638","note_was_empty":true}
[2026-04-22 14:13:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"21638","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:23] [INFO] Updating virtual stage {"contact_id":"21638","stage_name":"deal_registered","force":false}
[2026-04-22 14:13:23] [INFO] Virtual stage successfully saved {"contact_id":"21638","stage_name":"deal_registered"}
[2026-04-22 14:13:23] [INFO] Virtual stage updated after activity save {"contact_id":"21638"}
[2026-04-22 14:13:23] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b73be32e0585.78940642","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:13:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a64bda3e03.49398753","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a64bda3e03.49398753"}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:23] [INFO] Updating virtual stage {"contact_id":"21638","stage_name":"deal_registered","force":false}
[2026-04-22 14:13:23] [INFO] Virtual stage successfully saved {"contact_id":"21638","stage_name":"deal_registered"}
[2026-04-22 14:13:23] [INFO] Virtual stage updated after activity save {"contact_id":"21638"}
[2026-04-22 14:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21638","person_id":"12229"}
[2026-04-22 14:13:24] [INFO] Checking activity reminders 
[2026-04-22 14:13:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:13:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:13:29] [INFO] Checking activity reminders 
[2026-04-22 14:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:13:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:13:54] [INFO] Checking activity reminders 
[2026-04-22 14:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:13:59] [INFO] Checking activity reminders 
[2026-04-22 14:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:14:25] [INFO] Checking activity reminders 
[2026-04-22 14:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:14:29] [INFO] Checking activity reminders 
[2026-04-22 14:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:14:55] [INFO] Checking activity reminders 
[2026-04-22 14:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:14:59] [INFO] Checking activity reminders 
[2026-04-22 14:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:15:25] [INFO] Checking activity reminders 
[2026-04-22 14:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:15:29] [INFO] Checking activity reminders 
[2026-04-22 14:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:15:55] [INFO] Checking activity reminders 
[2026-04-22 14:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:15:59] [INFO] Checking activity reminders 
[2026-04-22 14:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:16:25] [INFO] Checking activity reminders 
[2026-04-22 14:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:16:29] [INFO] Checking activity reminders 
[2026-04-22 14:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:16:35] [INFO] Activity save request {"post_data":{"contact_id":"local_69906799a4f776.16151848","deal_id":"local_69906799a86cc","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ","activity_duration":"4","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:16:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69906799a4f776.16151848","note_was_empty":true}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:35] [INFO] Updating virtual stage {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered","force":false}
[2026-04-22 14:16:35] [INFO] Virtual stage successfully saved {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered"}
[2026-04-22 14:16:35] [INFO] Virtual stage updated after activity save {"contact_id":"local_69906799a4f776.16151848"}
[2026-04-22 14:16:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69906799a86cc","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:16:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a70b4cc405.98290472","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a70b4cc405.98290472"}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:35] [INFO] Updating virtual stage {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered","force":false}
[2026-04-22 14:16:35] [INFO] Virtual stage successfully saved {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered"}
[2026-04-22 14:16:35] [INFO] Virtual stage updated after activity save {"contact_id":"local_69906799a4f776.16151848"}
[2026-04-22 14:16:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:16:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:16:55] [INFO] Checking activity reminders 
[2026-04-22 14:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:16:59] [INFO] Checking activity reminders 
[2026-04-22 14:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:17:25] [INFO] Checking activity reminders 
[2026-04-22 14:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:17:29] [INFO] Checking activity reminders 
[2026-04-22 14:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:17:55] [INFO] Checking activity reminders 
[2026-04-22 14:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:17:58] [INFO] Activity save request {"post_data":{"contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیر تسویه بزنه ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:17:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"995","note_was_empty":true}
[2026-04-22 14:17:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"995","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:58] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-22 14:17:58] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-22 14:17:58] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-22 14:17:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69493e8705f8e4.10240645","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 14:17:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a75ebc7002.56782653","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a75ebc7002.56782653"}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:58] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-22 14:17:58] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-22 14:17:58] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-22 14:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 14:17:59] [INFO] Checking activity reminders 
[2026-04-22 14:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:18:25] [INFO] Checking activity reminders 
[2026-04-22 14:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:18:30] [INFO] Checking activity reminders 
[2026-04-22 14:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:18:41] [INFO] Checking activity reminders 
[2026-04-22 14:18:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:18:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:19:04] [INFO] Checking activity reminders 
[2026-04-22 14:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:19:11] [INFO] Checking activity reminders 
[2026-04-22 14:19:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:19:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:19:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-22 14:19:33] [INFO] Checking activity reminders 
[2026-04-22 14:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:19:41] [INFO] Checking activity reminders 
[2026-04-22 14:19:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:19:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:19:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:19:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:20:03] [INFO] Checking activity reminders 
[2026-04-22 14:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:20:11] [INFO] Checking activity reminders 
[2026-04-22 14:20:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:20:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:20:33] [INFO] Checking activity reminders 
[2026-04-22 14:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:20:41] [INFO] Checking activity reminders 
[2026-04-22 14:20:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:20:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:21:03] [INFO] Checking activity reminders 
[2026-04-22 14:21:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:21:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:21:11] [INFO] Checking activity reminders 
[2026-04-22 14:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:21:34] [INFO] Checking activity reminders 
[2026-04-22 14:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:21:41] [INFO] Checking activity reminders 
[2026-04-22 14:21:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:21:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:22:04] [INFO] Checking activity reminders 
[2026-04-22 14:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:22:11] [INFO] Checking activity reminders 
[2026-04-22 14:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:22:34] [INFO] Checking activity reminders 
[2026-04-22 14:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:22:42] [INFO] Checking activity reminders 
[2026-04-22 14:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:23:04] [INFO] Checking activity reminders 
[2026-04-22 14:23:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:23:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:23:12] [INFO] Checking activity reminders 
[2026-04-22 14:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:23:34] [INFO] Checking activity reminders 
[2026-04-22 14:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:23:42] [INFO] Checking activity reminders 
[2026-04-22 14:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:24:04] [INFO] Checking activity reminders 
[2026-04-22 14:24:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:24:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:24:12] [INFO] Checking activity reminders 
[2026-04-22 14:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:24:34] [INFO] Checking activity reminders 
[2026-04-22 14:24:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:24:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:24:42] [INFO] Checking activity reminders 
[2026-04-22 14:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:25:04] [INFO] Checking activity reminders 
[2026-04-22 14:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:25:12] [INFO] Checking activity reminders 
[2026-04-22 14:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:25:34] [INFO] Checking activity reminders 
[2026-04-22 14:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:25:42] [INFO] Checking activity reminders 
[2026-04-22 14:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:25:50] [INFO] Activity save request {"post_data":{"contact_id":"local_69906799a4f776.16151848","deal_id":"local_69906799a86cc","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"زنگ زد صدامو شنید الکی الو الو کرد بعد زنگ زدم جواب نداد \/ پیامک ارسال کردم که میدونم صدا اوکی بود موردی نیست درخواست از طرف شما بوده \r\nمیخوای باشی ...","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:25:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 14:25:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:25:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69906799a4f776.16151848","note_was_empty":true}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:25:50] [INFO] Updating virtual stage {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered","force":false}
[2026-04-22 14:25:50] [INFO] Virtual stage successfully saved {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered"}
[2026-04-22 14:25:50] [INFO] Virtual stage updated after activity save {"contact_id":"local_69906799a4f776.16151848"}
[2026-04-22 14:25:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69906799a86cc","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 14:25:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8a9369be749.46193961","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:25:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8a9369be749.46193961"}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:25:50] [INFO] Updating virtual stage {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered","force":false}
[2026-04-22 14:25:50] [INFO] Virtual stage successfully saved {"contact_id":"local_69906799a4f776.16151848","stage_name":"deal_registered"}
[2026-04-22 14:25:50] [INFO] Virtual stage updated after activity save {"contact_id":"local_69906799a4f776.16151848"}
[2026-04-22 14:25:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69906799a4f776.16151848","person_id":"21666"}
[2026-04-22 14:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-22 14:26:04] [INFO] Checking activity reminders 
[2026-04-22 14:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:26:12] [INFO] Checking activity reminders 
[2026-04-22 14:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:26:37] [INFO] Checking activity reminders 
[2026-04-22 14:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:26:42] [INFO] Checking activity reminders 
[2026-04-22 14:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:26:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-22 14:27:12] [INFO] Checking activity reminders 
[2026-04-22 14:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:27:42] [INFO] Checking activity reminders 
[2026-04-22 14:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:27:51] [INFO] Checking activity reminders 
[2026-04-22 14:27:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:27:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:28:12] [INFO] Checking activity reminders 
[2026-04-22 14:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:28:21] [INFO] Checking activity reminders 
[2026-04-22 14:28:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:28:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:28:42] [INFO] Checking activity reminders 
[2026-04-22 14:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:28:51] [INFO] Checking activity reminders 
[2026-04-22 14:28:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:28:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:29:12] [INFO] Checking activity reminders 
[2026-04-22 14:29:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:29:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:29:21] [INFO] Checking activity reminders 
[2026-04-22 14:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:29:42] [INFO] Checking activity reminders 
[2026-04-22 14:29:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:29:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:29:52] [INFO] Checking activity reminders 
[2026-04-22 14:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:30:13] [INFO] Checking activity reminders 
[2026-04-22 14:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:30:22] [INFO] Checking activity reminders 
[2026-04-22 14:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:30:43] [INFO] Checking activity reminders 
[2026-04-22 14:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:30:52] [INFO] Checking activity reminders 
[2026-04-22 14:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:31:13] [INFO] Checking activity reminders 
[2026-04-22 14:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:31:22] [INFO] Checking activity reminders 
[2026-04-22 14:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:31:43] [INFO] Checking activity reminders 
[2026-04-22 14:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:31:52] [INFO] Checking activity reminders 
[2026-04-22 14:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:32:13] [INFO] Checking activity reminders 
[2026-04-22 14:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:32:22] [INFO] Checking activity reminders 
[2026-04-22 14:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:32:43] [INFO] Checking activity reminders 
[2026-04-22 14:32:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:32:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:32:52] [INFO] Checking activity reminders 
[2026-04-22 14:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:33:13] [INFO] Checking activity reminders 
[2026-04-22 14:33:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:33:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:33:22] [INFO] Checking activity reminders 
[2026-04-22 14:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:33:43] [INFO] Checking activity reminders 
[2026-04-22 14:33:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:33:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:33:52] [INFO] Checking activity reminders 
[2026-04-22 14:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:34:13] [INFO] Checking activity reminders 
[2026-04-22 14:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:34:22] [INFO] Checking activity reminders 
[2026-04-22 14:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:34:43] [INFO] Checking activity reminders 
[2026-04-22 14:34:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:34:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:34:53] [INFO] Checking activity reminders 
[2026-04-22 14:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:35:13] [INFO] Checking activity reminders 
[2026-04-22 14:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:35:23] [INFO] Checking activity reminders 
[2026-04-22 14:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:35:43] [INFO] Checking activity reminders 
[2026-04-22 14:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:35:53] [INFO] Checking activity reminders 
[2026-04-22 14:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:36:13] [INFO] Checking activity reminders 
[2026-04-22 14:36:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:36:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:36:23] [INFO] Checking activity reminders 
[2026-04-22 14:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:36:44] [INFO] Checking activity reminders 
[2026-04-22 14:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:36:53] [INFO] Checking activity reminders 
[2026-04-22 14:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:37:14] [INFO] Checking activity reminders 
[2026-04-22 14:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:37:23] [INFO] Checking activity reminders 
[2026-04-22 14:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:37:44] [INFO] Checking activity reminders 
[2026-04-22 14:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:37:53] [INFO] Checking activity reminders 
[2026-04-22 14:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:38:14] [INFO] Checking activity reminders 
[2026-04-22 14:38:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:38:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:38:23] [INFO] Checking activity reminders 
[2026-04-22 14:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:38:44] [INFO] Checking activity reminders 
[2026-04-22 14:38:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:38:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:38:53] [INFO] Checking activity reminders 
[2026-04-22 14:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:39:14] [INFO] Checking activity reminders 
[2026-04-22 14:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:39:44] [INFO] Checking activity reminders 
[2026-04-22 14:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:40:14] [INFO] Checking activity reminders 
[2026-04-22 14:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:40:44] [INFO] Checking activity reminders 
[2026-04-22 14:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:41:14] [INFO] Checking activity reminders 
[2026-04-22 14:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:41:44] [INFO] Checking activity reminders 
[2026-04-22 14:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:42:14] [INFO] Checking activity reminders 
[2026-04-22 14:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:42:45] [INFO] Checking activity reminders 
[2026-04-22 14:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:43:15] [INFO] Checking activity reminders 
[2026-04-22 14:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:43:45] [INFO] Checking activity reminders 
[2026-04-22 14:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:44:15] [INFO] Checking activity reminders 
[2026-04-22 14:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:44:45] [INFO] Checking activity reminders 
[2026-04-22 14:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:45:15] [INFO] Checking activity reminders 
[2026-04-22 14:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:45:45] [INFO] Checking activity reminders 
[2026-04-22 14:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:46:15] [INFO] Checking activity reminders 
[2026-04-22 14:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:46:45] [INFO] Checking activity reminders 
[2026-04-22 14:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:06] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_didar_users"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_users_list"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_kpi_products"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-22 14:47:11] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:13] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:15] [INFO] Checking activity reminders 
[2026-04-22 14:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:47:20] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 14:47:20] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-22 14:47:20] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-22 14:47:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 14:47:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 14:47:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"19838","person_id":"19129"}
[2026-04-22 14:47:46] [INFO] Checking activity reminders 
[2026-04-22 14:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:47:50] [INFO] Checking activity reminders 
[2026-04-22 14:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:48:16] [INFO] Checking activity reminders 
[2026-04-22 14:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:48:20] [INFO] Checking activity reminders 
[2026-04-22 14:48:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:48:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:48:46] [INFO] Checking activity reminders 
[2026-04-22 14:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:48:51] [INFO] Checking activity reminders 
[2026-04-22 14:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:49:16] [INFO] Checking activity reminders 
[2026-04-22 14:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:49:21] [INFO] Checking activity reminders 
[2026-04-22 14:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:49:46] [INFO] Checking activity reminders 
[2026-04-22 14:49:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:49:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:49:51] [INFO] Checking activity reminders 
[2026-04-22 14:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:50:16] [INFO] Checking activity reminders 
[2026-04-22 14:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:50:21] [INFO] Checking activity reminders 
[2026-04-22 14:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:50:46] [INFO] Checking activity reminders 
[2026-04-22 14:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:50:51] [INFO] Checking activity reminders 
[2026-04-22 14:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:51:16] [INFO] Checking activity reminders 
[2026-04-22 14:51:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:51:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:51:21] [INFO] Checking activity reminders 
[2026-04-22 14:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:51:46] [INFO] Checking activity reminders 
[2026-04-22 14:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:51:51] [INFO] Checking activity reminders 
[2026-04-22 14:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:52:16] [INFO] Checking activity reminders 
[2026-04-22 14:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:52:21] [INFO] Checking activity reminders 
[2026-04-22 14:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:52:46] [INFO] Checking activity reminders 
[2026-04-22 14:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:52:52] [INFO] Checking activity reminders 
[2026-04-22 14:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:53:16] [INFO] Checking activity reminders 
[2026-04-22 14:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:53:22] [INFO] Checking activity reminders 
[2026-04-22 14:53:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:53:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:53:46] [INFO] Checking activity reminders 
[2026-04-22 14:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:53:52] [INFO] Checking activity reminders 
[2026-04-22 14:53:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:53:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:54:17] [INFO] Checking activity reminders 
[2026-04-22 14:54:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:54:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:54:22] [INFO] Checking activity reminders 
[2026-04-22 14:54:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:54:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:54:47] [INFO] Checking activity reminders 
[2026-04-22 14:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:54:52] [INFO] Checking activity reminders 
[2026-04-22 14:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:55:17] [INFO] Checking activity reminders 
[2026-04-22 14:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:55:22] [INFO] Checking activity reminders 
[2026-04-22 14:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:55:47] [INFO] Checking activity reminders 
[2026-04-22 14:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:55:52] [INFO] Checking activity reminders 
[2026-04-22 14:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:56:17] [INFO] Checking activity reminders 
[2026-04-22 14:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:56:22] [INFO] Checking activity reminders 
[2026-04-22 14:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:56:47] [INFO] Checking activity reminders 
[2026-04-22 14:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:56:53] [INFO] Checking activity reminders 
[2026-04-22 14:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:57:17] [INFO] Checking activity reminders 
[2026-04-22 14:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:57:23] [INFO] Checking activity reminders 
[2026-04-22 14:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:57:47] [INFO] Checking activity reminders 
[2026-04-22 14:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:58:17] [INFO] Checking activity reminders 
[2026-04-22 14:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:58:47] [INFO] Checking activity reminders 
[2026-04-22 14:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:59:17] [INFO] Checking activity reminders 
[2026-04-22 14:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 14:59:47] [INFO] Checking activity reminders 
[2026-04-22 14:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 14:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:00:17] [INFO] Checking activity reminders 
[2026-04-22 15:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:00:48] [INFO] Checking activity reminders 
[2026-04-22 15:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:01:18] [INFO] Checking activity reminders 
[2026-04-22 15:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:01:48] [INFO] Checking activity reminders 
[2026-04-22 15:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:02:18] [INFO] Checking activity reminders 
[2026-04-22 15:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:02:48] [INFO] Checking activity reminders 
[2026-04-22 15:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:03:18] [INFO] Checking activity reminders 
[2026-04-22 15:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:03:48] [INFO] Checking activity reminders 
[2026-04-22 15:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:03:59] [WARNING] Auth check failed - not authenticated {"session_id":"6ut2i9gkefvlg4jkaj5ugujehb","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:03:59] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-04-22 15:03:59] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-04-22 15:04:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:04:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:04:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:04:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:04:18] [INFO] Checking activity reminders 
[2026-04-22 15:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:04:30] [INFO] Checking activity reminders 
[2026-04-22 15:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:04:48] [INFO] Checking activity reminders 
[2026-04-22 15:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:00] [INFO] Checking activity reminders 
[2026-04-22 15:05:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:05:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 15:05:18] [INFO] Checking activity reminders 
[2026-04-22 15:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:30] [INFO] Checking activity reminders 
[2026-04-22 15:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:34] [INFO] Checking activity reminders 
[2026-04-22 15:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:48] [INFO] Checking activity reminders 
[2026-04-22 15:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:05:54] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["6545645564"]}
[2026-04-22 15:05:54] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["6545645564"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-22 15:05:54] [INFO] Didar write disabled; creating local lead only {"owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","mobile":"6545645564","full_name":"لید جدید"}
[2026-04-22 15:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:05:54] [INFO] Notification created {"notification_id":"664","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"lead_assigned","show_popup":true}
[2026-04-22 15:06:00] [INFO] Checking activity reminders 
[2026-04-22 15:06:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:06:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:05] [INFO] Checking activity reminders 
[2026-04-22 15:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:13] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:06:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:06:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:06:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:06:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:18] [INFO] Checking activity reminders 
[2026-04-22 15:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:06:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:06:35] [INFO] Checking activity reminders 
[2026-04-22 15:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:06:44] [INFO] Checking activity reminders 
[2026-04-22 15:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:06:48] [INFO] Checking activity reminders 
[2026-04-22 15:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:07:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:07:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:07:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:07:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:07:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:07:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:07:19] [INFO] Checking activity reminders 
[2026-04-22 15:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:07:34] [INFO] Checking activity reminders 
[2026-04-22 15:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:07:37] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["1231241241"]}
[2026-04-22 15:07:37] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["1231241241"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-22 15:07:37] [INFO] Didar write disabled; creating local lead only {"owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","mobile":"1231241241","full_name":"لید جدید"}
[2026-04-22 15:07:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:07:37] [INFO] Notification created {"notification_id":"665","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"lead_assigned","show_popup":true}
[2026-04-22 15:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:07:50] [INFO] Checking activity reminders 
[2026-04-22 15:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:08:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:08:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:08:05] [INFO] Checking activity reminders 
[2026-04-22 15:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:08:20] [INFO] Checking activity reminders 
[2026-04-22 15:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:08:51] [INFO] Checking activity reminders 
[2026-04-22 15:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:09:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:09:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:09:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:09:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:09:22] [INFO] Checking activity reminders 
[2026-04-22 15:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:09:53] [INFO] Checking activity reminders 
[2026-04-22 15:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:10:24] [INFO] Checking activity reminders 
[2026-04-22 15:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:10:55] [INFO] Checking activity reminders 
[2026-04-22 15:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:10:56] [INFO] Checking activity reminders 
[2026-04-22 15:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:11:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:11:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:11:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b29a0ffce8.64197317","person_id":"22226"}
[2026-04-22 15:11:26] [INFO] Checking activity reminders 
[2026-04-22 15:11:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:11:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:11:27] [INFO] Checking activity reminders 
[2026-04-22 15:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:11:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:11:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b301d50084.13122537","person_id":"22227"}
[2026-04-22 15:11:56] [INFO] Checking activity reminders 
[2026-04-22 15:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:12:12] [INFO] Checking activity reminders 
[2026-04-22 15:12:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:12:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:12:27] [INFO] Checking activity reminders 
[2026-04-22 15:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:12:43] [INFO] Checking activity reminders 
[2026-04-22 15:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:12:51] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9165677282","09165677282"]}
[2026-04-22 15:12:51] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9165677282","09165677282"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-22 15:12:51] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9165677282","full_name":"لید جدید"}
[2026-04-22 15:12:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:12:52] [INFO] Notification created {"notification_id":"666","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-22 15:12:58] [INFO] Checking activity reminders 
[2026-04-22 15:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:13:19] [INFO] Checking activity reminders 
[2026-04-22 15:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:13:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-22 15:13:29] [INFO] Checking activity reminders 
[2026-04-22 15:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:13:36] [INFO] Checking activity reminders 
[2026-04-22 15:13:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:13:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:13:38] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:13:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:13:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:13:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:13:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:13:56] [INFO] Checking activity reminders 
[2026-04-22 15:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:13:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 15:14:00] [INFO] Checking activity reminders 
[2026-04-22 15:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:14:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-22 15:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:14:09] [INFO] Checking activity reminders 
[2026-04-22 15:14:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:14:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:14:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-22 15:14:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-22 15:14:30] [INFO] Checking activity reminders 
[2026-04-22 15:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:14:39] [INFO] Checking activity reminders 
[2026-04-22 15:14:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:14:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:14:39] [INFO] Checking activity reminders 
[2026-04-22 15:14:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:14:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:14:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-22 15:14:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-22 15:15:01] [INFO] Checking activity reminders 
[2026-04-22 15:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:15:03] [INFO] Checking activity reminders 
[2026-04-22 15:15:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:15:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:15:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:15:32] [INFO] Checking activity reminders 
[2026-04-22 15:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:15:38] [INFO] Checking activity reminders 
[2026-04-22 15:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:16:03] [INFO] Checking activity reminders 
[2026-04-22 15:16:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:16:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:16:11] [INFO] Checking activity reminders 
[2026-04-22 15:16:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:16:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:16:34] [INFO] Checking activity reminders 
[2026-04-22 15:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:16:42] [INFO] Checking activity reminders 
[2026-04-22 15:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:16:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 15:16:44","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-22 15:16:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:16:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"995","is_new_deal":false}
[2026-04-22 15:16:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 15:16:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 15:16:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 15:16:44] [INFO] getContactPrimaryPhone called {"contact_id":"995"}
[2026-04-22 15:16:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:16:44] [INFO] getContactPrimaryPhone result {"contact_id":"995","person_found":true,"primary_phone":"9138966354"}
[2026-04-22 15:16:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9138966354"}
[2026-04-22 15:16:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9138966354","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 15:16:44"}
[2026-04-22 15:16:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","existing_deal_found":true,"existing_contact_id":"995","existing_title":"معامله اول 9138966354 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 15:16:44"}
[2026-04-22 15:16:44] [INFO] DealController.save validated payments {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 15:16:44] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"995","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-22 15:16:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69493e8705f8e4.10240645","contact_didar_id":"995","title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9138966354","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی ابراهیمی","existing_deal":"YES","existing_deal_id":"local_69493e8705f8e4.10240645","existing_deal_status":"Pending","server_time":"2026-04-22 15:16:44","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-22 15:16:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:16:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":15000000,"server_time":"2026-04-22 15:16:44","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 15:16:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-22 15:17:05] [INFO] Checking activity reminders 
[2026-04-22 15:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:17:14] [INFO] Checking activity reminders 
[2026-04-22 15:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:17:30] [INFO] Checking activity reminders 
[2026-04-22 15:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:17:32] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:17:32] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:17:32] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:17:32] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:17:36] [INFO] Checking activity reminders 
[2026-04-22 15:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:17:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:17:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:17:44] [INFO] Checking activity reminders 
[2026-04-22 15:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:18:00] [INFO] Checking activity reminders 
[2026-04-22 15:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:18:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:18:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:18:06] [INFO] Checking activity reminders 
[2026-04-22 15:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:18:16] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:18:16] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-04-22 15:18:16] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-04-22 15:18:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:18:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:18:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:18:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:18:37] [INFO] Checking activity reminders 
[2026-04-22 15:18:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:18:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:18:38] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["4965292425"]}
[2026-04-22 15:18:38] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["4965292425"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-22 15:18:38] [INFO] Didar write disabled; creating local lead only {"owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","mobile":"4965292425","full_name":"لید جدید"}
[2026-04-22 15:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:18:38] [INFO] Notification created {"notification_id":"667","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"lead_assigned","show_popup":true}
[2026-04-22 15:18:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:18:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:18:48] [INFO] Checking activity reminders 
[2026-04-22 15:18:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:18:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:18:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:18:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:19:05] [INFO] Checking activity reminders 
[2026-04-22 15:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:19:08] [INFO] Checking activity reminders 
[2026-04-22 15:19:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:19:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:19:39] [INFO] Checking activity reminders 
[2026-04-22 15:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:20:10] [INFO] Checking activity reminders 
[2026-04-22 15:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:20:41] [INFO] Checking activity reminders 
[2026-04-22 15:20:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:20:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:21:12] [INFO] Checking activity reminders 
[2026-04-22 15:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:21:42] [INFO] Checking activity reminders 
[2026-04-22 15:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:22:13] [INFO] Checking activity reminders 
[2026-04-22 15:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:22:44] [INFO] Checking activity reminders 
[2026-04-22 15:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:23:15] [INFO] Checking activity reminders 
[2026-04-22 15:23:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:23:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:23:46] [INFO] Checking activity reminders 
[2026-04-22 15:23:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:23:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:24:16] [INFO] Checking activity reminders 
[2026-04-22 15:24:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:24:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:24:47] [INFO] Checking activity reminders 
[2026-04-22 15:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:25:18] [INFO] Checking activity reminders 
[2026-04-22 15:25:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:25:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:25:49] [INFO] Checking activity reminders 
[2026-04-22 15:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:25:49] [INFO] Checking activity reminders 
[2026-04-22 15:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:26:20] [INFO] Checking activity reminders 
[2026-04-22 15:26:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:26:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:26:31] [INFO] Checking activity reminders 
[2026-04-22 15:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:26:35] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:26:36] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:26:36] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:26:36] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:26:43] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:26:43] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:26:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:26:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:26:51] [INFO] Checking activity reminders 
[2026-04-22 15:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:27:06] [INFO] Checking activity reminders 
[2026-04-22 15:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:27:16] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:27:16] [WARNING] Login attempt failed - wrong password {"user_id":"11","identifier":"حمیدرضا مکرمی"}
[2026-04-22 15:27:22] [INFO] Checking activity reminders 
[2026-04-22 15:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:27:22] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:27:22] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-04-22 15:27:22] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-04-22 15:27:24] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:27:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:27:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:27:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:27:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:27:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:27:47] [INFO] Checking activity reminders 
[2026-04-22 15:27:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:27:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:27:53] [INFO] Checking activity reminders 
[2026-04-22 15:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:27:58] [INFO] Checking activity reminders 
[2026-04-22 15:27:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:27:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:28:23] [INFO] Checking activity reminders 
[2026-04-22 15:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:28:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:28:54] [INFO] Checking activity reminders 
[2026-04-22 15:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:28:59] [INFO] Checking activity reminders 
[2026-04-22 15:28:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:28:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:29:05] [INFO] Checking activity reminders 
[2026-04-22 15:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:29:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-22 15:29:36] [INFO] Checking activity reminders 
[2026-04-22 15:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:29:43] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:29:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:29:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:30:04] [INFO] Checking activity reminders 
[2026-04-22 15:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:30:06] [INFO] Checking activity reminders 
[2026-04-22 15:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:30:35] [INFO] Checking activity reminders 
[2026-04-22 15:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:30:37] [INFO] Checking activity reminders 
[2026-04-22 15:30:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:30:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:31:06] [INFO] Checking activity reminders 
[2026-04-22 15:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:31:08] [INFO] Checking activity reminders 
[2026-04-22 15:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:31:27] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1979","deal_id":"local_69b6f088abce41.09336821","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 15:31:27","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 15:31:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-22 15:31:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1979","is_new_deal":false}
[2026-04-22 15:31:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 15:31:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 15:31:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 15:31:27] [INFO] getContactPrimaryPhone called {"contact_id":"1979"}
[2026-04-22 15:31:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-22 15:31:27] [INFO] getContactPrimaryPhone result {"contact_id":"1979","person_found":true,"primary_phone":"9385649391"}
[2026-04-22 15:31:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9385649391"}
[2026-04-22 15:31:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9385649391","contact_id":"1979","deal_id":"local_69b6f088abce41.09336821","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 15:31:27"}
[2026-04-22 15:31:27] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6f088abce41.09336821","contact_id":"1979","existing_deal_found":true,"existing_contact_id":"1979","existing_title":"معامله سوم 9385649391 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 15:31:27"}
[2026-04-22 15:31:27] [INFO] DealController.save validated payments {"deal_id":"local_69b6f088abce41.09336821","contact_id":"1979","payments_count":6,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 15:31:27] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1979","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 15:31:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6f088abce41.09336821","contact_didar_id":"1979","title":"معامله سوم 9385649391 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9385649391","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":70000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ملکی","existing_deal":"YES","existing_deal_id":"local_69b6f088abce41.09336821","existing_deal_status":"Pending","server_time":"2026-04-22 15:31:27","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 15:31:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-22 15:31:27] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6f088abce41.09336821","contact_id":"1979","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9385649391 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":70000000,"server_time":"2026-04-22 15:31:27","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 15:31:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-22 15:31:37] [INFO] Checking activity reminders 
[2026-04-22 15:31:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:31:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:31:39] [INFO] Checking activity reminders 
[2026-04-22 15:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:05] [INFO] Checking activity reminders 
[2026-04-22 15:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:32:07] [INFO] Checking activity reminders 
[2026-04-22 15:32:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:32:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:32:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:32:10] [INFO] Checking activity reminders 
[2026-04-22 15:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:32:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:32:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:32:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:32:34] [INFO] Checking activity reminders 
[2026-04-22 15:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:36] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:32:36] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:32:36] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:32:36] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:32:38] [INFO] Checking activity reminders 
[2026-04-22 15:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:40] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:32:41] [INFO] Checking activity reminders 
[2026-04-22 15:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:32:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:32:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:32:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:32:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:32:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:32:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:33:09] [INFO] Checking activity reminders 
[2026-04-22 15:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:33:11] [INFO] Checking activity reminders 
[2026-04-22 15:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:33:12] [INFO] Checking activity reminders 
[2026-04-22 15:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:33:16] [INFO] Checking activity reminders 
[2026-04-22 15:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:33:40] [INFO] Checking activity reminders 
[2026-04-22 15:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:33:42] [INFO] Checking activity reminders 
[2026-04-22 15:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:34:11] [INFO] Checking activity reminders 
[2026-04-22 15:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:34:13] [INFO] Checking activity reminders 
[2026-04-22 15:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:34:15] [INFO] Checking activity reminders 
[2026-04-22 15:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:34:44] [INFO] Checking activity reminders 
[2026-04-22 15:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:35:15] [INFO] Checking activity reminders 
[2026-04-22 15:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:35:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:35:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:35:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:35:46] [INFO] Checking activity reminders 
[2026-04-22 15:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:35:49] [INFO] Checking activity reminders 
[2026-04-22 15:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:36:20] [INFO] Checking activity reminders 
[2026-04-22 15:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:36:51] [INFO] Checking activity reminders 
[2026-04-22 15:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:37:21] [INFO] Checking activity reminders 
[2026-04-22 15:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:37:45] [INFO] Checking activity reminders 
[2026-04-22 15:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:37:52] [INFO] Checking activity reminders 
[2026-04-22 15:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:38:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:38:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:38:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:38:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:38:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:38:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:38:23] [INFO] Checking activity reminders 
[2026-04-22 15:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:38:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:38:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:38:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 15:38:44] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:38:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:38:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:38:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:38:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:38:48] [INFO] Checking activity reminders 
[2026-04-22 15:38:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:38:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:38:54] [INFO] Checking activity reminders 
[2026-04-22 15:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:39:09] [INFO] Checking activity reminders 
[2026-04-22 15:39:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:39:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:39:25] [INFO] Checking activity reminders 
[2026-04-22 15:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:39:51] [INFO] Activity save request {"post_data":{"contact_id":"local_699d6db3c54894.05176022","deal_id":"local_699d6db3dabe0","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مشاور مالی \r\nکل طلا و دلار و ملک مسکونی فروخته داده 2 تا زمین \/ الان فروش نمیره \r\nنمیتونه نقد کنه \/یکی از دوستاش استاد معرفی کرده \r\nتا الان مشاور سرمایه گذاری نداشته \r\nاز املاک پرسیده \r\nکانال عمومی استاد در بله دنبال میکنه \r\n","activity_duration":"15","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 15:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 15:39:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 15:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_699d6db3c54894.05176022","note_was_empty":true}
[2026-04-22 15:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:51] [INFO] Updating virtual stage {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered","force":false}
[2026-04-22 15:39:51] [INFO] Virtual stage successfully saved {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered"}
[2026-04-22 15:39:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_699d6db3c54894.05176022"}
[2026-04-22 15:39:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d6db3dabe0","stage":"تماس پیگیری","status_change":null}
[2026-04-22 15:39:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8ba8f45d717.27020723","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 15:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8ba8f45d717.27020723"}
[2026-04-22 15:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:51] [INFO] Updating virtual stage {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered","force":false}
[2026-04-22 15:39:51] [INFO] Virtual stage successfully saved {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered"}
[2026-04-22 15:39:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_699d6db3c54894.05176022"}
[2026-04-22 15:39:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-04-22 15:39:56] [INFO] Checking activity reminders 
[2026-04-22 15:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:03] [INFO] Checking activity reminders 
[2026-04-22 15:40:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:23] [INFO] Checking activity reminders 
[2026-04-22 15:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:31] [INFO] Checking activity reminders 
[2026-04-22 15:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:34] [INFO] Checking activity reminders 
[2026-04-22 15:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b596dc1547.06227756","person_id":"22229"}
[2026-04-22 15:40:48] [INFO] Checking activity reminders 
[2026-04-22 15:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:40:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:40:53] [INFO] Checking activity reminders 
[2026-04-22 15:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:40:55] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:40:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:40:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:40:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:40:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:41:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:41:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:41:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:41:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:41:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:41:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:41:05] [INFO] Checking activity reminders 
[2026-04-22 15:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:41:14] [INFO] Activity save request {"post_data":{"contact_id":"9905","deal_id":"local_69b7234b755176.66079631","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 15:41:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 15:41:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 15:41:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9905","note_was_empty":true}
[2026-04-22 15:41:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"9905","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 15:41:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:14] [INFO] Updating virtual stage {"contact_id":"9905","stage_name":"deal_registered","force":false}
[2026-04-22 15:41:14] [INFO] Virtual stage successfully saved {"contact_id":"9905","stage_name":"deal_registered"}
[2026-04-22 15:41:14] [INFO] Virtual stage updated after activity save {"contact_id":"9905"}
[2026-04-22 15:41:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b7234b755176.66079631","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 15:41:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8bae22e4263.40134677","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 15:41:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8bae22e4263.40134677"}
[2026-04-22 15:41:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:14] [INFO] Updating virtual stage {"contact_id":"9905","stage_name":"deal_registered","force":false}
[2026-04-22 15:41:14] [INFO] Virtual stage successfully saved {"contact_id":"9905","stage_name":"deal_registered"}
[2026-04-22 15:41:14] [INFO] Virtual stage updated after activity save {"contact_id":"9905"}
[2026-04-22 15:41:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 15:41:18] [INFO] Checking activity reminders 
[2026-04-22 15:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:19] [INFO] Checking activity reminders 
[2026-04-22 15:41:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:22] [INFO] Checking activity reminders 
[2026-04-22 15:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:30] [INFO] Checking activity reminders 
[2026-04-22 15:41:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:30] [INFO] Checking activity reminders 
[2026-04-22 15:41:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:41:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:41:34] [INFO] Checking activity reminders 
[2026-04-22 15:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:41:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:41:50] [INFO] Checking activity reminders 
[2026-04-22 15:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:01] [INFO] Checking activity reminders 
[2026-04-22 15:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:05] [INFO] Checking activity reminders 
[2026-04-22 15:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-22 15:42:20] [INFO] Checking activity reminders 
[2026-04-22 15:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:32] [INFO] Checking activity reminders 
[2026-04-22 15:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:36] [INFO] Checking activity reminders 
[2026-04-22 15:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-22 15:42:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21052","person_id":"4363"}
[2026-04-22 15:42:51] [INFO] Checking activity reminders 
[2026-04-22 15:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:42:54] [INFO] Activity save request {"post_data":{"contact_id":"14521","deal_id":"local_69d0a1b2ce7535.12070788","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 15:42:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 15:42:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 15:42:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14521","note_was_empty":true}
[2026-04-22 15:42:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"14521","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 15:42:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:54] [INFO] Updating virtual stage {"contact_id":"14521","stage_name":"deal_registered","force":false}
[2026-04-22 15:42:54] [INFO] Virtual stage successfully saved {"contact_id":"14521","stage_name":"deal_registered"}
[2026-04-22 15:42:54] [INFO] Virtual stage updated after activity save {"contact_id":"14521"}
[2026-04-22 15:42:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a1b2ce7535.12070788","stage":"تماس پیگیری","status_change":null}
[2026-04-22 15:42:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8bb469fe643.47852430","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 15:42:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8bb469fe643.47852430"}
[2026-04-22 15:42:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:42:54] [INFO] Updating virtual stage {"contact_id":"14521","stage_name":"deal_registered","force":false}
[2026-04-22 15:42:54] [INFO] Virtual stage successfully saved {"contact_id":"14521","stage_name":"deal_registered"}
[2026-04-22 15:42:54] [INFO] Virtual stage updated after activity save {"contact_id":"14521"}
[2026-04-22 15:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-22 15:43:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-22 15:43:03] [INFO] Checking activity reminders 
[2026-04-22 15:43:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:43:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:43:07] [INFO] Checking activity reminders 
[2026-04-22 15:43:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:43:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:43:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:43:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:43:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:43:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:43:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 15:43:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21153","person_id":"3398"}
[2026-04-22 15:43:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 15:43:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-22 15:43:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-22 15:43:33] [INFO] Checking activity reminders 
[2026-04-22 15:43:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:43:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21614","person_id":"19176"}
[2026-04-22 15:43:37] [INFO] Checking activity reminders 
[2026-04-22 15:43:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:43:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21509","person_id":"7959"}
[2026-04-22 15:43:40] [INFO] Checking activity reminders 
[2026-04-22 15:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:43:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4b8afd61369.15817585","person_id":"22007"}
[2026-04-22 15:43:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695a09f88c2b57.01533736","person_id":"21492"}
[2026-04-22 15:43:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c28fa9d173.80489035","person_id":"21854"}
[2026-04-22 15:43:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7f70da5f6.98229071","person_id":"21645"}
[2026-04-22 15:43:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d2259ddbf192.01124033","person_id":"21984"}
[2026-04-22 15:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21666","person_id":"15034"}
[2026-04-22 15:43:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fcb3d68d629.57610196","person_id":"21372"}
[2026-04-22 15:44:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21359","person_id":"10847"}
[2026-04-22 15:44:03] [INFO] Checking activity reminders 
[2026-04-22 15:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:44:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 15:44:07] [INFO] Checking activity reminders 
[2026-04-22 15:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:44:10] [INFO] Checking activity reminders 
[2026-04-22 15:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:44:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-22 15:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 15:44:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-22 15:44:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0a6c2a6c773.08588475","person_id":"22182"}
[2026-04-22 15:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d4bc63630031.16399410","person_id":"22015"}
[2026-04-22 15:44:37] [INFO] Checking activity reminders 
[2026-04-22 15:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:44:40] [INFO] Checking activity reminders 
[2026-04-22 15:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d2259ddbf192.01124033","person_id":"21984"}
[2026-04-22 15:44:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:44:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:44:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:45:07] [INFO] Checking activity reminders 
[2026-04-22 15:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:45:37] [INFO] Checking activity reminders 
[2026-04-22 15:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:46:08] [INFO] Checking activity reminders 
[2026-04-22 15:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:46:08] [INFO] Checking activity reminders 
[2026-04-22 15:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:46:15] [INFO] Checking activity reminders 
[2026-04-22 15:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:46:38] [INFO] Checking activity reminders 
[2026-04-22 15:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:47:08] [INFO] Checking activity reminders 
[2026-04-22 15:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:47:38] [INFO] Checking activity reminders 
[2026-04-22 15:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:47:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:47:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:47:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:48:08] [INFO] Checking activity reminders 
[2026-04-22 15:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:48:38] [INFO] Checking activity reminders 
[2026-04-22 15:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:49:08] [INFO] Checking activity reminders 
[2026-04-22 15:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:49:38] [INFO] Checking activity reminders 
[2026-04-22 15:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:50:08] [INFO] Checking activity reminders 
[2026-04-22 15:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:50:38] [INFO] Checking activity reminders 
[2026-04-22 15:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:50:59] [INFO] Checking activity reminders 
[2026-04-22 15:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:51:01] [INFO] Checking activity reminders 
[2026-04-22 15:51:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:51:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:51:08] [INFO] Checking activity reminders 
[2026-04-22 15:51:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:51:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:51:38] [INFO] Checking activity reminders 
[2026-04-22 15:51:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:51:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:52:08] [INFO] Checking activity reminders 
[2026-04-22 15:52:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:52:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:52:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:52:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:52:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_notifications"}
[2026-04-22 15:52:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:52:39] [INFO] Checking activity reminders 
[2026-04-22 15:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:53:09] [INFO] Checking activity reminders 
[2026-04-22 15:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:55:31] [INFO] Checking activity reminders 
[2026-04-22 15:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:55:40] [INFO] Checking activity reminders 
[2026-04-22 15:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:57:08] [INFO] Checking activity reminders 
[2026-04-22 15:57:08] [INFO] Checking activity reminders 
[2026-04-22 15:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:57:14] [INFO] Added column to persons table {"column":"customer_code"}
[2026-04-22 15:57:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 15:57:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 15:57:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:57:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 15:57:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["4564377456"]}
[2026-04-22 15:57:47] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["4564377456"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-22 15:57:47] [INFO] Didar write disabled; creating local lead only {"owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","mobile":"4564377456","full_name":"لید جدید"}
[2026-04-22 15:57:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-22 15:57:47] [INFO] Notification created {"notification_id":"668","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"lead_assigned","show_popup":true}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:48] [INFO] Checking activity reminders 
[2026-04-22 15:57:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 15:57:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 15:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-22 15:57:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:58:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-04-22 15:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 15:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 15:59:46] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:02:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:03:16] [INFO] Checking activity reminders 
[2026-04-22 16:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:03:46] [INFO] Checking activity reminders 
[2026-04-22 16:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:04:16] [INFO] Checking activity reminders 
[2026-04-22 16:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:04:46] [INFO] Checking activity reminders 
[2026-04-22 16:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:05:16] [INFO] Checking activity reminders 
[2026-04-22 16:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:05:46] [INFO] Checking activity reminders 
[2026-04-22 16:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:06:04] [INFO] Checking activity reminders 
[2026-04-22 16:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:06:28] [INFO] Checking activity reminders 
[2026-04-22 16:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:06:58] [INFO] Checking activity reminders 
[2026-04-22 16:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:07:28] [INFO] Checking activity reminders 
[2026-04-22 16:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:07:58] [INFO] Checking activity reminders 
[2026-04-22 16:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:08:28] [INFO] Checking activity reminders 
[2026-04-22 16:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:08:51] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:08:51] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:08:51] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:08:58] [INFO] Checking activity reminders 
[2026-04-22 16:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:09:28] [INFO] Checking activity reminders 
[2026-04-22 16:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:09:58] [INFO] Checking activity reminders 
[2026-04-22 16:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:10:28] [INFO] Checking activity reminders 
[2026-04-22 16:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:10:58] [INFO] Checking activity reminders 
[2026-04-22 16:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:11:28] [INFO] Checking activity reminders 
[2026-04-22 16:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:11:58] [INFO] Checking activity reminders 
[2026-04-22 16:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:12:28] [INFO] Checking activity reminders 
[2026-04-22 16:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:12:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:12:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:12:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:12:59] [INFO] Checking activity reminders 
[2026-04-22 16:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:13:29] [INFO] Checking activity reminders 
[2026-04-22 16:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:13:59] [INFO] Checking activity reminders 
[2026-04-22 16:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:14:29] [INFO] Checking activity reminders 
[2026-04-22 16:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:14:59] [INFO] Checking activity reminders 
[2026-04-22 16:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:15:29] [INFO] Checking activity reminders 
[2026-04-22 16:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:15:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:15:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:15:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:15:59] [INFO] Checking activity reminders 
[2026-04-22 16:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:16:29] [INFO] Checking activity reminders 
[2026-04-22 16:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:16:59] [INFO] Checking activity reminders 
[2026-04-22 16:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:17:29] [INFO] Checking activity reminders 
[2026-04-22 16:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:17:59] [INFO] Checking activity reminders 
[2026-04-22 16:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:18:29] [INFO] Checking activity reminders 
[2026-04-22 16:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:18:59] [INFO] Checking activity reminders 
[2026-04-22 16:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:19:30] [INFO] Checking activity reminders 
[2026-04-22 16:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:20:00] [INFO] Checking activity reminders 
[2026-04-22 16:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:20:30] [INFO] Checking activity reminders 
[2026-04-22 16:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:21:00] [INFO] Checking activity reminders 
[2026-04-22 16:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:21:30] [INFO] Checking activity reminders 
[2026-04-22 16:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:21:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:21:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:21:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:22:00] [INFO] Checking activity reminders 
[2026-04-22 16:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:22:30] [INFO] Checking activity reminders 
[2026-04-22 16:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:23:00] [INFO] Checking activity reminders 
[2026-04-22 16:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:23:30] [INFO] Checking activity reminders 
[2026-04-22 16:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:23:34] [INFO] Checking activity reminders 
[2026-04-22 16:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:23:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:23:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:23:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:23:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:23:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-22 16:23:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-22 16:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b71a339a4045.55733842","person_id":"21873"}
[2026-04-22 16:24:00] [INFO] Checking activity reminders 
[2026-04-22 16:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:24:07] [INFO] Checking activity reminders 
[2026-04-22 16:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:24:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:24:30] [INFO] Checking activity reminders 
[2026-04-22 16:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:24:38] [INFO] Checking activity reminders 
[2026-04-22 16:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:24:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:24:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:24:49] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:25:00] [INFO] Checking activity reminders 
[2026-04-22 16:25:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:25:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:25:08] [INFO] Checking activity reminders 
[2026-04-22 16:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:25:30] [INFO] Checking activity reminders 
[2026-04-22 16:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:25:38] [INFO] Checking activity reminders 
[2026-04-22 16:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:26:01] [INFO] Checking activity reminders 
[2026-04-22 16:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:26:08] [INFO] Checking activity reminders 
[2026-04-22 16:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:26:31] [INFO] Checking activity reminders 
[2026-04-22 16:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:26:39] [INFO] Checking activity reminders 
[2026-04-22 16:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:27:01] [INFO] Checking activity reminders 
[2026-04-22 16:27:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:27:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:27:09] [INFO] Checking activity reminders 
[2026-04-22 16:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:27:31] [INFO] Checking activity reminders 
[2026-04-22 16:27:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:27:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:28:01] [INFO] Checking activity reminders 
[2026-04-22 16:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:28:31] [INFO] Checking activity reminders 
[2026-04-22 16:28:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:28:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:28:37] [INFO] Checking activity reminders 
[2026-04-22 16:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:28:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:28:43] [INFO] Checking activity reminders 
[2026-04-22 16:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:29:13] [INFO] Checking activity reminders 
[2026-04-22 16:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:29:30] [INFO] Checking activity reminders 
[2026-04-22 16:29:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:29:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:30:00] [INFO] Checking activity reminders 
[2026-04-22 16:30:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:30:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:30:08] [INFO] Checking activity reminders 
[2026-04-22 16:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:30:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:30:38] [INFO] Checking activity reminders 
[2026-04-22 16:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:30:45] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5347","deal_id":"local_69ca8f1a3cb4b5.41418268","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 16:30:45","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 16:30:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:30:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:30:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5347","is_new_deal":false}
[2026-04-22 16:30:45] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 16:30:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 16:30:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 16:30:45] [INFO] getContactPrimaryPhone called {"contact_id":"5347"}
[2026-04-22 16:30:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:30:45] [INFO] getContactPrimaryPhone result {"contact_id":"5347","person_found":true,"primary_phone":"9120252672"}
[2026-04-22 16:30:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120252672"}
[2026-04-22 16:30:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120252672","contact_id":"5347","deal_id":"local_69ca8f1a3cb4b5.41418268","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 16:30:45"}
[2026-04-22 16:30:45] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca8f1a3cb4b5.41418268","contact_id":"5347","existing_deal_found":true,"existing_contact_id":"5347","existing_title":"معامله سوم 9120252672 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 16:30:45"}
[2026-04-22 16:30:45] [INFO] DealController.save validated payments {"deal_id":"local_69ca8f1a3cb4b5.41418268","contact_id":"5347","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-22 16:30:45] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"5347","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 16:30:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca8f1a3cb4b5.41418268","contact_didar_id":"5347","title":"معامله سوم 9120252672 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9120252672","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حمید صفائی فر","existing_deal":"YES","existing_deal_id":"local_69ca8f1a3cb4b5.41418268","existing_deal_status":"Pending","server_time":"2026-04-22 16:30:45","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 16:30:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:30:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca8f1a3cb4b5.41418268","contact_id":"5347","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9120252672 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-22 16:30:45","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 16:30:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:31:08] [INFO] Checking activity reminders 
[2026-04-22 16:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:31:38] [INFO] Checking activity reminders 
[2026-04-22 16:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:32:08] [INFO] Checking activity reminders 
[2026-04-22 16:32:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:32:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:32:38] [INFO] Checking activity reminders 
[2026-04-22 16:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:33:09] [INFO] Checking activity reminders 
[2026-04-22 16:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:33:39] [INFO] Checking activity reminders 
[2026-04-22 16:33:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:33:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_products"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_deals"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_deals"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:33:52] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:07] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_kpi_products"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-22 16:34:08] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:09] [INFO] Checking activity reminders 
[2026-04-22 16:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:34:09] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:15] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:34:15] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 16:34:15] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:34:39] [INFO] Checking activity reminders 
[2026-04-22 16:34:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:34:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:34:45] [INFO] Checking activity reminders 
[2026-04-22 16:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:35:09] [INFO] Checking activity reminders 
[2026-04-22 16:35:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:35:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:35:16] [INFO] Checking activity reminders 
[2026-04-22 16:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:35:39] [INFO] Checking activity reminders 
[2026-04-22 16:35:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:35:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:35:46] [INFO] Checking activity reminders 
[2026-04-22 16:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:36:09] [INFO] Checking activity reminders 
[2026-04-22 16:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:36:16] [INFO] Checking activity reminders 
[2026-04-22 16:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:36:26] [INFO] Checking activity reminders 
[2026-04-22 16:36:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:36:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:36:46] [INFO] Checking activity reminders 
[2026-04-22 16:36:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:36:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:36:56] [INFO] Checking activity reminders 
[2026-04-22 16:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:37:16] [INFO] Checking activity reminders 
[2026-04-22 16:37:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:37:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:37:26] [INFO] Checking activity reminders 
[2026-04-22 16:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:37:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1951","deal_id":"local_69e48ef180f382.60993635","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 16:37:38","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:37:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1951","is_new_deal":false}
[2026-04-22 16:37:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 16:37:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 16:37:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 16:37:38] [INFO] getContactPrimaryPhone called {"contact_id":"1951"}
[2026-04-22 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:37:38] [INFO] getContactPrimaryPhone result {"contact_id":"1951","person_found":true,"primary_phone":"9398803203"}
[2026-04-22 16:37:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9398803203"}
[2026-04-22 16:37:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9398803203","contact_id":"1951","deal_id":"local_69e48ef180f382.60993635","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 16:37:38"}
[2026-04-22 16:37:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","existing_deal_found":true,"existing_contact_id":"1951","existing_title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 16:37:38"}
[2026-04-22 16:37:38] [INFO] DealController.save validated payments {"deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 16:37:38] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1951","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 16:37:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e48ef180f382.60993635","contact_didar_id":"1951","title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","base_title_used":"معامله چهارم 9398803203","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":49000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حامد نکویی","existing_deal":"YES","existing_deal_id":"local_69e48ef180f382.60993635","existing_deal_status":"Pending","server_time":"2026-04-22 16:37:38","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:37:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e48ef180f382.60993635","contact_id":"1951","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9398803203 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":49000000,"server_time":"2026-04-22 16:37:38","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 16:37:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-22 16:37:48] [INFO] Checking activity reminders 
[2026-04-22 16:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:37:56] [INFO] Checking activity reminders 
[2026-04-22 16:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:38:18] [INFO] Checking activity reminders 
[2026-04-22 16:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:38:26] [INFO] Checking activity reminders 
[2026-04-22 16:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:38:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 16:38:48] [INFO] Checking activity reminders 
[2026-04-22 16:38:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:38:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:38:50] [INFO] Checking activity reminders 
[2026-04-22 16:38:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:38:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:38:54] [INFO] Checking activity reminders 
[2026-04-22 16:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:39:18] [INFO] Checking activity reminders 
[2026-04-22 16:39:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:39:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:39:24] [INFO] Checking activity reminders 
[2026-04-22 16:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:39:48] [INFO] Checking activity reminders 
[2026-04-22 16:39:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:39:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:39:54] [INFO] Checking activity reminders 
[2026-04-22 16:39:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:39:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:40:18] [INFO] Checking activity reminders 
[2026-04-22 16:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:40:24] [INFO] Checking activity reminders 
[2026-04-22 16:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:40:48] [INFO] Checking activity reminders 
[2026-04-22 16:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:40:54] [INFO] Checking activity reminders 
[2026-04-22 16:40:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:40:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:41:18] [INFO] Checking activity reminders 
[2026-04-22 16:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:41:24] [INFO] Checking activity reminders 
[2026-04-22 16:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:41:49] [INFO] Checking activity reminders 
[2026-04-22 16:41:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:41:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:41:54] [INFO] Checking activity reminders 
[2026-04-22 16:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:42:19] [INFO] Checking activity reminders 
[2026-04-22 16:42:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:42:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:42:24] [INFO] Checking activity reminders 
[2026-04-22 16:42:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:42:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:42:49] [INFO] Checking activity reminders 
[2026-04-22 16:42:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:42:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:42:54] [INFO] Checking activity reminders 
[2026-04-22 16:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:43:19] [INFO] Checking activity reminders 
[2026-04-22 16:43:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:43:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:43:25] [INFO] Checking activity reminders 
[2026-04-22 16:43:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:43:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:43:49] [INFO] Checking activity reminders 
[2026-04-22 16:43:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:43:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:43:55] [INFO] Checking activity reminders 
[2026-04-22 16:43:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:43:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:44:13] [INFO] Checking activity reminders 
[2026-04-22 16:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:44:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:44:17] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:44:17] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:44:17] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:44:19] [INFO] Checking activity reminders 
[2026-04-22 16:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:44:25] [INFO] Checking activity reminders 
[2026-04-22 16:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:44:49] [INFO] Checking activity reminders 
[2026-04-22 16:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:44:55] [INFO] Checking activity reminders 
[2026-04-22 16:44:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:44:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:19] [INFO] Checking activity reminders 
[2026-04-22 16:45:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:25] [INFO] Checking activity reminders 
[2026-04-22 16:45:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:27] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"check_reminders"}
[2026-04-22 16:45:27] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:45:27] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:45:48] [INFO] Checking activity reminders 
[2026-04-22 16:45:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:49] [INFO] Checking activity reminders 
[2026-04-22 16:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:55] [INFO] Checking activity reminders 
[2026-04-22 16:45:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:45:59] [INFO] Checking activity reminders 
[2026-04-22 16:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:46:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:46:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:46:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:46:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:46:19] [INFO] Checking activity reminders 
[2026-04-22 16:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:46:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:46:25] [INFO] Checking activity reminders 
[2026-04-22 16:46:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:46:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:46:30] [INFO] Checking activity reminders 
[2026-04-22 16:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:46:50] [INFO] Checking activity reminders 
[2026-04-22 16:46:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:46:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:46:56] [INFO] Checking activity reminders 
[2026-04-22 16:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:47:01] [INFO] Checking activity reminders 
[2026-04-22 16:47:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:47:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:47:05] [INFO] Lead update received {"contact_id":"20939","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 16:47:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:47:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:47:05] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20939"}
[2026-04-22 16:47:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:47:20] [INFO] Checking activity reminders 
[2026-04-22 16:47:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:47:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:47:26] [INFO] Checking activity reminders 
[2026-04-22 16:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:47:33] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:47:34] [INFO] Master password used for login {"user_id":"15","identifier":"خانم شایسته","role":"agent"}
[2026-04-22 16:47:34] [INFO] User logged in {"user_id":"15","email":"hanaficars9@gmail.com","role":"agent","via_master":true}
[2026-04-22 16:47:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:47:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:47:50] [INFO] Checking activity reminders 
[2026-04-22 16:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-22 16:47:56] [INFO] Checking activity reminders 
[2026-04-22 16:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:04] [INFO] Checking activity reminders 
[2026-04-22 16:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"665","person_id":"16460"}
[2026-04-22 16:48:20] [INFO] Checking activity reminders 
[2026-04-22 16:48:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:26] [INFO] Checking activity reminders 
[2026-04-22 16:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-22 16:48:34] [INFO] Checking activity reminders 
[2026-04-22 16:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:50] [INFO] Checking activity reminders 
[2026-04-22 16:48:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:48:56] [INFO] Checking activity reminders 
[2026-04-22 16:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:04] [INFO] Checking activity reminders 
[2026-04-22 16:49:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:20] [INFO] Checking activity reminders 
[2026-04-22 16:49:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:23] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 16:49:23] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-22 16:49:23] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-22 16:49:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 16:49:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:49:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:49:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:49:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:49:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:49:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:49:26] [INFO] Checking activity reminders 
[2026-04-22 16:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 16:49:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 16:49:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 16:49:50] [INFO] Checking activity reminders 
[2026-04-22 16:49:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:55] [INFO] Checking activity reminders 
[2026-04-22 16:49:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:49:56] [INFO] Checking activity reminders 
[2026-04-22 16:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:50:01] [INFO] Activity save request {"post_data":{"contact_id":"5347","deal_id":"local_69ca8f1a3cb4b5.41418268","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"نمایشگاه در جمهوری \r\nد رخرید طلای 19 متضرر شده \r\n2 ماهه کرایه نمایشگاه عقب مونده \r\nخودرو ها فروش نرفته \r\nدر نوسانات عیار متضرر شده \r\nپرزنت 405 \/ 6 اهه \r\nارتباط با پارسا \r\n\r\n\r\n\r\n","activity_duration":"15","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 16:50:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5347","note_was_empty":true}
[2026-04-22 16:50:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"5347","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:01] [INFO] Updating virtual stage {"contact_id":"5347","stage_name":"deal_registered","force":false}
[2026-04-22 16:50:01] [INFO] Virtual stage successfully saved {"contact_id":"5347","stage_name":"deal_registered"}
[2026-04-22 16:50:01] [INFO] Virtual stage updated after activity save {"contact_id":"5347"}
[2026-04-22 16:50:01] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca8f1a3cb4b5.41418268","stage":"تماس پیگیری","status_change":null}
[2026-04-22 16:50:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8cb012a8263.15920997","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8cb012a8263.15920997"}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:01] [INFO] Updating virtual stage {"contact_id":"5347","stage_name":"deal_registered","force":false}
[2026-04-22 16:50:01] [INFO] Virtual stage successfully saved {"contact_id":"5347","stage_name":"deal_registered"}
[2026-04-22 16:50:01] [INFO] Virtual stage updated after activity save {"contact_id":"5347"}
[2026-04-22 16:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5347","person_id":"10970"}
[2026-04-22 16:50:20] [INFO] Checking activity reminders 
[2026-04-22 16:50:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:50:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:50:26] [INFO] Checking activity reminders 
[2026-04-22 16:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:50:50] [INFO] Checking activity reminders 
[2026-04-22 16:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:50:50] [INFO] Checking activity reminders 
[2026-04-22 16:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:50:56] [INFO] Checking activity reminders 
[2026-04-22 16:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:20] [INFO] Checking activity reminders 
[2026-04-22 16:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:26] [INFO] Checking activity reminders 
[2026-04-22 16:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:26] [INFO] Checking activity reminders 
[2026-04-22 16:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:43] [INFO] Checking activity reminders 
[2026-04-22 16:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:50] [INFO] Checking activity reminders 
[2026-04-22 16:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:51:56] [INFO] Checking activity reminders 
[2026-04-22 16:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:52:20] [INFO] Checking activity reminders 
[2026-04-22 16:52:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:52:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:52:26] [INFO] Checking activity reminders 
[2026-04-22 16:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:52:50] [INFO] Checking activity reminders 
[2026-04-22 16:52:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:52:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:52:56] [INFO] Checking activity reminders 
[2026-04-22 16:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:53:21] [INFO] Checking activity reminders 
[2026-04-22 16:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:53:26] [INFO] Checking activity reminders 
[2026-04-22 16:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:53:51] [INFO] Checking activity reminders 
[2026-04-22 16:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:53:57] [INFO] Checking activity reminders 
[2026-04-22 16:53:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:53:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:54:21] [INFO] Checking activity reminders 
[2026-04-22 16:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:54:27] [INFO] Checking activity reminders 
[2026-04-22 16:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:54:51] [INFO] Checking activity reminders 
[2026-04-22 16:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:54:57] [INFO] Checking activity reminders 
[2026-04-22 16:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:55:21] [INFO] Checking activity reminders 
[2026-04-22 16:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:55:27] [INFO] Checking activity reminders 
[2026-04-22 16:55:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:55:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:55:39] [INFO] Checking activity reminders 
[2026-04-22 16:55:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:55:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:55:51] [INFO] Checking activity reminders 
[2026-04-22 16:55:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:55:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:55:57] [INFO] Checking activity reminders 
[2026-04-22 16:55:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:55:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:56:21] [INFO] Checking activity reminders 
[2026-04-22 16:56:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:56:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:56:27] [INFO] Checking activity reminders 
[2026-04-22 16:56:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:56:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:56:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"843","person_id":"9984"}
[2026-04-22 16:56:51] [INFO] Checking activity reminders 
[2026-04-22 16:56:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:56:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:56:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:56:57] [INFO] Checking activity reminders 
[2026-04-22 16:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:57:21] [INFO] Checking activity reminders 
[2026-04-22 16:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:57:27] [INFO] Checking activity reminders 
[2026-04-22 16:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:57:51] [INFO] Checking activity reminders 
[2026-04-22 16:57:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:57:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:57:57] [INFO] Checking activity reminders 
[2026-04-22 16:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:58:22] [INFO] Checking activity reminders 
[2026-04-22 16:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:58:28] [INFO] Checking activity reminders 
[2026-04-22 16:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:58:39] [INFO] Checking activity reminders 
[2026-04-22 16:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:58:52] [INFO] Checking activity reminders 
[2026-04-22 16:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:58:58] [INFO] Checking activity reminders 
[2026-04-22 16:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:59:22] [INFO] Checking activity reminders 
[2026-04-22 16:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:59:27] [INFO] Activity save request {"post_data":{"contact_id":"832","deal_id":"local_69d0a573d3e239.25625904","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"نمیخواد باشه \/ گفتم حذف میشی اوکی\r\nقبلا دید داده بودم ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"other","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 16:59:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"832","note_was_empty":true}
[2026-04-22 16:59:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"832","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Updating virtual stage {"contact_id":"832","stage_name":"deal_registered","force":false}
[2026-04-22 16:59:27] [INFO] Virtual stage successfully saved {"contact_id":"832","stage_name":"deal_registered"}
[2026-04-22 16:59:27] [INFO] Virtual stage updated after activity save {"contact_id":"832"}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a573d3e239.25625904","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-22 16:59:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8cd372b70b4.74170189","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8cd372b70b4.74170189"}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:27] [INFO] Updating virtual stage {"contact_id":"832","stage_name":"deal_registered","force":false}
[2026-04-22 16:59:27] [INFO] Virtual stage successfully saved {"contact_id":"832","stage_name":"deal_registered"}
[2026-04-22 16:59:27] [INFO] Virtual stage updated after activity save {"contact_id":"832"}
[2026-04-22 16:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"832","person_id":"7626"}
[2026-04-22 16:59:28] [INFO] Checking activity reminders 
[2026-04-22 16:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:59:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 16:59:52] [INFO] Checking activity reminders 
[2026-04-22 16:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 16:59:58] [INFO] Checking activity reminders 
[2026-04-22 16:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 16:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:00:12] [INFO] Activity save request {"post_data":{"contact_id":"local_69df5340656e19.81834899","deal_id":"local_69df53406e255","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"جواب نداد فعلا ناموفق بره تا ببینم چی میشه","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"no_financial_ability","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 17:00:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69df5340656e19.81834899","note_was_empty":true}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Updating virtual stage {"contact_id":"local_69df5340656e19.81834899","stage_name":"deal_registered","force":false}
[2026-04-22 17:00:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69df5340656e19.81834899","stage_name":"deal_registered"}
[2026-04-22 17:00:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69df5340656e19.81834899"}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69df53406e255","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-22 17:00:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8cd64a47025.76362275","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8cd64a47025.76362275"}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:12] [INFO] Updating virtual stage {"contact_id":"local_69df5340656e19.81834899","stage_name":"deal_registered","force":false}
[2026-04-22 17:00:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69df5340656e19.81834899","stage_name":"deal_registered"}
[2026-04-22 17:00:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69df5340656e19.81834899"}
[2026-04-22 17:00:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69df5340656e19.81834899","person_id":"22158"}
[2026-04-22 17:00:22] [INFO] Checking activity reminders 
[2026-04-22 17:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:00:28] [INFO] Checking activity reminders 
[2026-04-22 17:00:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:00:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:00:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9100","person_id":"17831"}
[2026-04-22 17:00:52] [INFO] Checking activity reminders 
[2026-04-22 17:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:00:58] [INFO] Checking activity reminders 
[2026-04-22 17:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:01:22] [INFO] Checking activity reminders 
[2026-04-22 17:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:01:28] [INFO] Checking activity reminders 
[2026-04-22 17:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:01:52] [INFO] Checking activity reminders 
[2026-04-22 17:01:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:01:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:01:58] [INFO] Checking activity reminders 
[2026-04-22 17:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:02:22] [INFO] Checking activity reminders 
[2026-04-22 17:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:02:28] [INFO] Checking activity reminders 
[2026-04-22 17:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:02:52] [INFO] Checking activity reminders 
[2026-04-22 17:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:03:22] [INFO] Checking activity reminders 
[2026-04-22 17:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:03:53] [INFO] Checking activity reminders 
[2026-04-22 17:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:04:23] [INFO] Checking activity reminders 
[2026-04-22 17:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:04:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2624","person_id":"3844"}
[2026-04-22 17:04:35] [INFO] Checking activity reminders 
[2026-04-22 17:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:04:53] [INFO] Checking activity reminders 
[2026-04-22 17:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:05:05] [INFO] Checking activity reminders 
[2026-04-22 17:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:05:23] [INFO] Checking activity reminders 
[2026-04-22 17:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:05:35] [INFO] Checking activity reminders 
[2026-04-22 17:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:05:53] [INFO] Checking activity reminders 
[2026-04-22 17:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:06:05] [INFO] Checking activity reminders 
[2026-04-22 17:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:06:23] [INFO] Checking activity reminders 
[2026-04-22 17:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:06:35] [INFO] Checking activity reminders 
[2026-04-22 17:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:06:53] [INFO] Checking activity reminders 
[2026-04-22 17:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:07:05] [INFO] Checking activity reminders 
[2026-04-22 17:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:07:23] [INFO] Checking activity reminders 
[2026-04-22 17:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:07:35] [INFO] Checking activity reminders 
[2026-04-22 17:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:07:53] [INFO] Checking activity reminders 
[2026-04-22 17:07:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:07:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:01] [INFO] Checking activity reminders 
[2026-04-22 17:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-22 17:08:05] [INFO] Checking activity reminders 
[2026-04-22 17:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:23] [INFO] Checking activity reminders 
[2026-04-22 17:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:32] [INFO] Checking activity reminders 
[2026-04-22 17:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:35] [INFO] Checking activity reminders 
[2026-04-22 17:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:08:53] [INFO] Checking activity reminders 
[2026-04-22 17:08:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:08:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:02] [INFO] Checking activity reminders 
[2026-04-22 17:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:05] [INFO] Checking activity reminders 
[2026-04-22 17:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:08] [INFO] Checking activity reminders 
[2026-04-22 17:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:23] [INFO] Checking activity reminders 
[2026-04-22 17:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:32] [INFO] Checking activity reminders 
[2026-04-22 17:09:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:38] [INFO] Checking activity reminders 
[2026-04-22 17:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:09:53] [INFO] Checking activity reminders 
[2026-04-22 17:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:02] [INFO] Checking activity reminders 
[2026-04-22 17:10:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:07] [INFO] Checking activity reminders 
[2026-04-22 17:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:24] [INFO] Checking activity reminders 
[2026-04-22 17:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:33] [INFO] Checking activity reminders 
[2026-04-22 17:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:38] [INFO] Checking activity reminders 
[2026-04-22 17:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:10:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9905","person_id":"14085"}
[2026-04-22 17:10:54] [INFO] Checking activity reminders 
[2026-04-22 17:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:03] [INFO] Checking activity reminders 
[2026-04-22 17:11:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:08] [INFO] Checking activity reminders 
[2026-04-22 17:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:19] [INFO] Checking activity reminders 
[2026-04-22 17:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:24] [INFO] Checking activity reminders 
[2026-04-22 17:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:33] [INFO] Checking activity reminders 
[2026-04-22 17:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:50] [INFO] Checking activity reminders 
[2026-04-22 17:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:11:54] [INFO] Checking activity reminders 
[2026-04-22 17:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:03] [INFO] Checking activity reminders 
[2026-04-22 17:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:05] [INFO] Checking activity reminders 
[2026-04-22 17:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:12:24] [INFO] Checking activity reminders 
[2026-04-22 17:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:33] [INFO] Checking activity reminders 
[2026-04-22 17:12:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:35] [INFO] Checking activity reminders 
[2026-04-22 17:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:12:54] [INFO] Checking activity reminders 
[2026-04-22 17:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:04] [INFO] Checking activity reminders 
[2026-04-22 17:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:05] [INFO] Checking activity reminders 
[2026-04-22 17:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:23] [INFO] Activity save request {"post_data":{"contact_id":"7936","deal_id":"local_69d3b955aaa806.25672982","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"میگه درگیر قسط و بدهی هستم \r\nبرا ی کانال اگر خودم بخوام تماس میگیرم \r\nپرزنت 6ماهه \r\n1 ساله نقد و چک ","activity_duration":"3","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 17:13:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7936","note_was_empty":true}
[2026-04-22 17:13:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"7936","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:23] [INFO] Updating virtual stage {"contact_id":"7936","stage_name":"deal_registered","force":false}
[2026-04-22 17:13:23] [INFO] Virtual stage successfully saved {"contact_id":"7936","stage_name":"deal_registered"}
[2026-04-22 17:13:23] [INFO] Virtual stage updated after activity save {"contact_id":"7936"}
[2026-04-22 17:13:23] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d3b955aaa806.25672982","stage":"تماس پیگیری","status_change":null}
[2026-04-22 17:13:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8d07b542208.43041425","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8d07b542208.43041425"}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:23] [INFO] Updating virtual stage {"contact_id":"7936","stage_name":"deal_registered","force":false}
[2026-04-22 17:13:23] [INFO] Virtual stage successfully saved {"contact_id":"7936","stage_name":"deal_registered"}
[2026-04-22 17:13:23] [INFO] Virtual stage updated after activity save {"contact_id":"7936"}
[2026-04-22 17:13:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7936","person_id":"3480"}
[2026-04-22 17:13:24] [INFO] Checking activity reminders 
[2026-04-22 17:13:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:34] [INFO] Checking activity reminders 
[2026-04-22 17:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:35] [INFO] Checking activity reminders 
[2026-04-22 17:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:13:54] [INFO] Checking activity reminders 
[2026-04-22 17:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:14:04] [INFO] Checking activity reminders 
[2026-04-22 17:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:14:05] [INFO] Checking activity reminders 
[2026-04-22 17:14:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:14:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:14:24] [INFO] Checking activity reminders 
[2026-04-22 17:14:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:14:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:14:34] [INFO] Checking activity reminders 
[2026-04-22 17:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:14:54] [INFO] Checking activity reminders 
[2026-04-22 17:14:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:14:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:15:04] [INFO] Checking activity reminders 
[2026-04-22 17:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:15:25] [INFO] Checking activity reminders 
[2026-04-22 17:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:15:34] [INFO] Checking activity reminders 
[2026-04-22 17:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:15:55] [INFO] Checking activity reminders 
[2026-04-22 17:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:16:05] [INFO] Checking activity reminders 
[2026-04-22 17:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:16:25] [INFO] Checking activity reminders 
[2026-04-22 17:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:16:35] [INFO] Checking activity reminders 
[2026-04-22 17:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:16:55] [INFO] Checking activity reminders 
[2026-04-22 17:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:17:05] [INFO] Checking activity reminders 
[2026-04-22 17:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:17:25] [INFO] Checking activity reminders 
[2026-04-22 17:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:17:35] [INFO] Checking activity reminders 
[2026-04-22 17:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:17:55] [INFO] Checking activity reminders 
[2026-04-22 17:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:18:05] [INFO] Checking activity reminders 
[2026-04-22 17:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:18:26] [INFO] Checking activity reminders 
[2026-04-22 17:18:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:18:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:18:56] [INFO] Checking activity reminders 
[2026-04-22 17:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:10] [INFO] Checking activity reminders 
[2026-04-22 17:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:12] [INFO] Checking activity reminders 
[2026-04-22 17:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:20] [INFO] Checking activity reminders 
[2026-04-22 17:19:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:22] [INFO] Checking activity reminders 
[2026-04-22 17:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:24] [INFO] Checking activity reminders 
[2026-04-22 17:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:19:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:19:54] [INFO] Checking activity reminders 
[2026-04-22 17:19:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:19:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:20:13] [INFO] Activity save request {"post_data":{"contact_id":"1759","deal_id":"local_6955051c987583.93794929","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 17:20:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1759","note_was_empty":true}
[2026-04-22 17:20:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"1759","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:13] [INFO] Updating virtual stage {"contact_id":"1759","stage_name":"deal_registered","force":false}
[2026-04-22 17:20:13] [INFO] Virtual stage successfully saved {"contact_id":"1759","stage_name":"deal_registered"}
[2026-04-22 17:20:13] [INFO] Virtual stage updated after activity save {"contact_id":"1759"}
[2026-04-22 17:20:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6955051c987583.93794929","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 17:20:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8d2150c7186.66574180","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8d2150c7186.66574180"}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:13] [INFO] Updating virtual stage {"contact_id":"1759","stage_name":"deal_registered","force":false}
[2026-04-22 17:20:13] [INFO] Virtual stage successfully saved {"contact_id":"1759","stage_name":"deal_registered"}
[2026-04-22 17:20:13] [INFO] Virtual stage updated after activity save {"contact_id":"1759"}
[2026-04-22 17:20:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1759","person_id":"12728"}
[2026-04-22 17:20:24] [INFO] Checking activity reminders 
[2026-04-22 17:20:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:20:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:20:54] [INFO] Checking activity reminders 
[2026-04-22 17:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:21:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 17:21:24] [INFO] Checking activity reminders 
[2026-04-22 17:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:21:54] [INFO] Checking activity reminders 
[2026-04-22 17:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:21:56] [INFO] Checking activity reminders 
[2026-04-22 17:21:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:21:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:22:27] [INFO] Checking activity reminders 
[2026-04-22 17:22:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:22:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:22:57] [INFO] Checking activity reminders 
[2026-04-22 17:22:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:22:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:27:20] [INFO] Checking activity reminders 
[2026-04-22 17:27:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:27:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:27:50] [INFO] Checking activity reminders 
[2026-04-22 17:27:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:27:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:28:20] [INFO] Checking activity reminders 
[2026-04-22 17:28:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:28:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:28:50] [INFO] Checking activity reminders 
[2026-04-22 17:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:29:21] [INFO] Checking activity reminders 
[2026-04-22 17:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:29:51] [INFO] Checking activity reminders 
[2026-04-22 17:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:30:21] [INFO] Checking activity reminders 
[2026-04-22 17:30:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:30:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:30:51] [INFO] Checking activity reminders 
[2026-04-22 17:30:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:30:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:31:21] [INFO] Checking activity reminders 
[2026-04-22 17:31:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:31:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:31:51] [INFO] Checking activity reminders 
[2026-04-22 17:31:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:31:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:32:21] [INFO] Checking activity reminders 
[2026-04-22 17:32:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:32:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:32:51] [INFO] Checking activity reminders 
[2026-04-22 17:32:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:32:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:33:26] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:33:26] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"check_reminders"}
[2026-04-22 17:33:26] [WARNING] Auth check failed - not authenticated {"session_id":"cp1t4t7sgssppfkshsifmd10tl","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:33:31] [WARNING] Auth check failed - not authenticated {"session_id":"6ut2i9gkefvlg4jkaj5ugujehb","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:33:31] [WARNING] Auth check failed - not authenticated {"session_id":"6ut2i9gkefvlg4jkaj5ugujehb","session_keys":[],"action":"check_reminders"}
[2026-04-22 17:33:31] [WARNING] Auth check failed - not authenticated {"session_id":"6ut2i9gkefvlg4jkaj5ugujehb","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:34:49] [INFO] Checking activity reminders 
[2026-04-22 17:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:35:22] [INFO] Checking activity reminders 
[2026-04-22 17:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:35:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 17:35:52] [INFO] Checking activity reminders 
[2026-04-22 17:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:36:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 17:36:22] [INFO] Checking activity reminders 
[2026-04-22 17:36:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:36:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:36:53] [INFO] Checking activity reminders 
[2026-04-22 17:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:40:48] [INFO] Checking activity reminders 
[2026-04-22 17:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:41:05] [INFO] Checking activity reminders 
[2026-04-22 17:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:41:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:41:24] [INFO] Lead update received {"contact_id":"5028","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 17:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:41:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5028"}
[2026-04-22 17:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:44:02] [INFO] Checking activity reminders 
[2026-04-22 17:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:45:21] [INFO] Checking activity reminders 
[2026-04-22 17:45:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:45:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:45:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:45:51] [INFO] Checking activity reminders 
[2026-04-22 17:45:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:45:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:46:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"5028","deal_id":"4979","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 17:46:04","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 17:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:46:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"5028","is_new_deal":false}
[2026-04-22 17:46:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-22 17:46:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-22 17:46:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-22 17:46:04] [INFO] getContactPrimaryPhone called {"contact_id":"5028"}
[2026-04-22 17:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:46:04] [INFO] getContactPrimaryPhone result {"contact_id":"5028","person_found":true,"primary_phone":"9155204600"}
[2026-04-22 17:46:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9155204600"}
[2026-04-22 17:46:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9155204600","contact_id":"5028","deal_id":"4979","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 17:46:04"}
[2026-04-22 17:46:04] [INFO] DealController.save existing deal lookup {"deal_id":"4979","contact_id":"5028","existing_deal_found":true,"existing_contact_id":"5028","existing_title":"معامله غلامزاده","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 17:46:04"}
[2026-04-22 17:46:04] [INFO] DealController.save validated payments {"deal_id":"4979","contact_id":"5028","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-22 17:46:04] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"5028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 17:46:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"4979","contact_didar_id":"5028","title":"معامله غلامزاده | کانال VIP بدون پشتیبان","base_title_used":"معامله غلامزاده","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"غلامزاده غلامزاده","existing_deal":"YES","existing_deal_id":"4979","existing_deal_status":"Pending","server_time":"2026-04-22 17:46:04","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 17:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:46:04] [INFO] ensureDealProductsFromText: no product match {"deal_id":"4979","texts":["کانال VIP بدون پشتیبان"]}
[2026-04-22 17:46:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"4979","contact_id":"5028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله غلامزاده | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-22 17:46:04","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 17:46:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:46:21] [INFO] Checking activity reminders 
[2026-04-22 17:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:46:51] [INFO] Checking activity reminders 
[2026-04-22 17:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:47:21] [INFO] Checking activity reminders 
[2026-04-22 17:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:47:51] [INFO] Checking activity reminders 
[2026-04-22 17:47:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:47:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:48:21] [INFO] Checking activity reminders 
[2026-04-22 17:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:48:51] [INFO] Checking activity reminders 
[2026-04-22 17:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:49:22] [INFO] Checking activity reminders 
[2026-04-22 17:49:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:49:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:49:52] [INFO] Checking activity reminders 
[2026-04-22 17:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:50:16] [INFO] Activity save request {"post_data":{"contact_id":"5028","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"مشهد \r\nاز سال 1400 دنبال میکنه \r\nطلا فروش \r\nدر طلای ابشده و انلاین و ملک و زمین سرمایه \r\nخیلی در مورد استاد تحقیق کرده \r\nپرزنت 405 \/ با پشتیبانی 79\r\nبدون پشتیبانی 54 \r\nگفت پیشنهاد شما چیه : \/ گفتم شما یکساله بدون پشتیبانی داشته باش اگر سوالی داشتین 20 واریز و در کانال باشید \r\nارسال پیام در بله \r\nشنبه تایید واریز ","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 17:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:50:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 17:50:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 17:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:50:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5028","note_was_empty":true}
[2026-04-22 17:50:16] [INFO] Didar write disabled; saving activity locally {"contact_id":"5028","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 17:50:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8d9202fe6b4.70446504","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 17:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:50:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8d9202fe6b4.70446504"}
[2026-04-22 17:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:50:16] [INFO] Updating virtual stage {"contact_id":"5028","stage_name":"deal_registered","force":false}
[2026-04-22 17:50:16] [INFO] Virtual stage successfully saved {"contact_id":"5028","stage_name":"deal_registered"}
[2026-04-22 17:50:16] [INFO] Virtual stage updated after activity save {"contact_id":"5028"}
[2026-04-22 17:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-22 17:50:22] [INFO] Checking activity reminders 
[2026-04-22 17:50:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:50:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:50:52] [INFO] Checking activity reminders 
[2026-04-22 17:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:51:22] [INFO] Checking activity reminders 
[2026-04-22 17:51:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:51:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:51:52] [INFO] Checking activity reminders 
[2026-04-22 17:51:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:51:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:52:22] [INFO] Checking activity reminders 
[2026-04-22 17:52:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:52:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:52:52] [INFO] Checking activity reminders 
[2026-04-22 17:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:53:22] [INFO] Checking activity reminders 
[2026-04-22 17:53:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:53:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:53:52] [INFO] Checking activity reminders 
[2026-04-22 17:53:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:53:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:54:22] [INFO] Checking activity reminders 
[2026-04-22 17:54:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:54:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:54:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:54:53] [INFO] Checking activity reminders 
[2026-04-22 17:54:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:54:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:55:23] [INFO] Checking activity reminders 
[2026-04-22 17:55:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:55:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:55:53] [INFO] Checking activity reminders 
[2026-04-22 17:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:55:59] [INFO] Activity save request {"post_data":{"contact_id":"1831","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"در مورد ضرر در بورس و cip  سوال کرد \r\nبهش گفتم زمان بورسی مهمه که کار در پرتفوتون انجام بشه \r\nدر نهایت تعهد استاد به شما تا زمان عملی شدن ادامه داره ","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 17:55:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:55:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 17:55:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 17:55:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:55:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1831","note_was_empty":true}
[2026-04-22 17:55:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"1831","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 17:55:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8da77280235.49847642","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 17:55:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:55:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8da77280235.49847642"}
[2026-04-22 17:55:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:55:59] [INFO] Updating virtual stage {"contact_id":"1831","stage_name":"with_purchase","force":false}
[2026-04-22 17:55:59] [INFO] Virtual stage successfully saved {"contact_id":"1831","stage_name":"with_purchase"}
[2026-04-22 17:55:59] [INFO] Virtual stage updated after activity save {"contact_id":"1831"}
[2026-04-22 17:55:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-22 17:56:23] [INFO] Checking activity reminders 
[2026-04-22 17:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:56:53] [INFO] Checking activity reminders 
[2026-04-22 17:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:57:23] [INFO] Checking activity reminders 
[2026-04-22 17:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:57:34] [INFO] Checking activity reminders 
[2026-04-22 17:57:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:57:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:57:56] [INFO] Checking activity reminders 
[2026-04-22 17:57:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:57:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 17:58:09] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:09] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 17:58:09] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"check_reminders"}
[2026-04-22 17:58:19] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:20] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:20] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:20] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"get_leads"}
[2026-04-22 17:58:20] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:26] [INFO] Checking activity reminders 
[2026-04-22 17:58:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:58:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:58:28] [WARNING] Auth check failed - not authenticated {"session_id":"k6ua2skbqft7f6p5uje5vuhcru","session_keys":[],"action":"log_client_event"}
[2026-04-22 17:58:28] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-22 17:58:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 17:58:57] [INFO] Checking activity reminders 
[2026-04-22 17:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:59:27] [INFO] Checking activity reminders 
[2026-04-22 17:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 17:59:57] [INFO] Checking activity reminders 
[2026-04-22 17:59:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 17:59:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:00:27] [INFO] Checking activity reminders 
[2026-04-22 18:00:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:00:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:00:57] [INFO] Checking activity reminders 
[2026-04-22 18:00:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:00:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:01:27] [INFO] Checking activity reminders 
[2026-04-22 18:01:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:01:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:01:57] [INFO] Checking activity reminders 
[2026-04-22 18:01:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:01:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:02:27] [INFO] Checking activity reminders 
[2026-04-22 18:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:02:57] [INFO] Checking activity reminders 
[2026-04-22 18:02:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:02:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:03:06] [INFO] Activity save request {"post_data":{"contact_id":"1499","deal_id":"local_69d68fd22bb1b5.50176459","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:03:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1499","note_was_empty":true}
[2026-04-22 18:03:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"1499","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:06] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-22 18:03:06] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-22 18:03:06] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-22 18:03:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68fd22bb1b5.50176459","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 18:03:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8dc223c1936.39966392","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8dc223c1936.39966392"}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:06] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-22 18:03:06] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-22 18:03:06] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-22 18:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:03:27] [INFO] Checking activity reminders 
[2026-04-22 18:03:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:03:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:03:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:03:57] [INFO] Checking activity reminders 
[2026-04-22 18:03:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:03:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:04:28] [INFO] Checking activity reminders 
[2026-04-22 18:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:04:47] [INFO] Checking activity reminders 
[2026-04-22 18:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:04:58] [INFO] Checking activity reminders 
[2026-04-22 18:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:05:17] [INFO] Checking activity reminders 
[2026-04-22 18:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:05:28] [INFO] Checking activity reminders 
[2026-04-22 18:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:05:47] [INFO] Checking activity reminders 
[2026-04-22 18:05:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:05:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:05:58] [INFO] Checking activity reminders 
[2026-04-22 18:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:06:18] [INFO] Checking activity reminders 
[2026-04-22 18:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:06:28] [INFO] Checking activity reminders 
[2026-04-22 18:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:06:48] [INFO] Checking activity reminders 
[2026-04-22 18:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:06:58] [INFO] Checking activity reminders 
[2026-04-22 18:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:07:18] [INFO] Checking activity reminders 
[2026-04-22 18:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:07:28] [INFO] Checking activity reminders 
[2026-04-22 18:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:07:48] [INFO] Checking activity reminders 
[2026-04-22 18:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:07:58] [INFO] Checking activity reminders 
[2026-04-22 18:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:08:18] [INFO] Checking activity reminders 
[2026-04-22 18:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:08:28] [INFO] Checking activity reminders 
[2026-04-22 18:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:08:48] [INFO] Checking activity reminders 
[2026-04-22 18:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:08:58] [INFO] Checking activity reminders 
[2026-04-22 18:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:09:18] [INFO] Checking activity reminders 
[2026-04-22 18:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:09:29] [INFO] Checking activity reminders 
[2026-04-22 18:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:09:49] [INFO] Checking activity reminders 
[2026-04-22 18:09:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:09:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:09:59] [INFO] Checking activity reminders 
[2026-04-22 18:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:10:10] [INFO] Activity save request {"post_data":{"contact_id":"12182","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه کاسبی خیلی خرابه \r\nشرایط عضویت در کانال 6 ماهه 27\r\nیکساله 54 \r\nارسال در بله ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:10:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:10:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:10:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12182","note_was_empty":true}
[2026-04-22 18:10:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"12182","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 18:10:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8ddca862947.20704086","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:10:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8ddca862947.20704086"}
[2026-04-22 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:10:10] [INFO] Updating virtual stage {"contact_id":"12182","stage_name":"deal_registered","force":false}
[2026-04-22 18:10:10] [INFO] Virtual stage successfully saved {"contact_id":"12182","stage_name":"deal_registered"}
[2026-04-22 18:10:10] [INFO] Virtual stage updated after activity save {"contact_id":"12182"}
[2026-04-22 18:10:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12182","person_id":"13515"}
[2026-04-22 18:10:19] [INFO] Checking activity reminders 
[2026-04-22 18:10:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:10:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:10:29] [INFO] Checking activity reminders 
[2026-04-22 18:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:10:49] [INFO] Checking activity reminders 
[2026-04-22 18:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:10:59] [INFO] Checking activity reminders 
[2026-04-22 18:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:11:19] [INFO] Checking activity reminders 
[2026-04-22 18:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:11:29] [INFO] Checking activity reminders 
[2026-04-22 18:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:11:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 18:11:46] [INFO] Checking activity reminders 
[2026-04-22 18:11:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:11:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:11:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:11:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:11:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:11:56] [INFO] generateDealTitle result {"contact_id":"5973","person_name":"بهراد","mobile":"9128991587","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128991587"}
[2026-04-22 18:11:59] [INFO] Checking activity reminders 
[2026-04-22 18:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:12:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:08] [INFO] generateDealTitle result {"contact_id":"5973","person_name":"بهراد","mobile":"9128991587","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128991587"}
[2026-04-22 18:12:16] [INFO] Checking activity reminders 
[2026-04-22 18:12:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:12:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:12:26] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 18:12:26","session_id":"k6ua2skbqft7f6p5uje5vuhcru"}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","is_new_deal":true}
[2026-04-22 18:12:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:12:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:12:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:12:26] [INFO] getContactPrimaryPhone called {"contact_id":"5973"}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:26] [INFO] getContactPrimaryPhone result {"contact_id":"5973","person_found":true,"primary_phone":"9128991587"}
[2026-04-22 18:12:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128991587"}
[2026-04-22 18:12:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128991587","contact_id":"5973","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-22 18:12:26"}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:26] [INFO] generateDealTitle result {"contact_id":"5973","person_name":"بهراد","mobile":"9128991587","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128991587"}
[2026-04-22 18:12:26] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"5973","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-22 18:12:26] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5973","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 18:12:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"5973","title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9128991587","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بهراد","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-22 18:12:26","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:26] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-22 18:12:26] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"5973","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-22 18:12:26","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 18:12:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:12:29] [INFO] Checking activity reminders 
[2026-04-22 18:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:12:47] [INFO] Checking activity reminders 
[2026-04-22 18:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:12:59] [INFO] Checking activity reminders 
[2026-04-22 18:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:13:05] [INFO] Activity save request {"post_data":{"contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال ش کارت 109یا 20 میزنه تسویه چند روز دیگه تا ارخ مهر هست \/ هفته دوم مهر تمدید تا اخر سال","activity_duration":"30","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:13:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5973","note_was_empty":true}
[2026-04-22 18:13:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"5973","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:05] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"deal_registered","force":false}
[2026-04-22 18:13:05] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"deal_registered"}
[2026-04-22 18:13:05] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-22 18:13:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8de52dc4235.61640199","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-22 18:13:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8de79d15ba8.72249081","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8de79d15ba8.72249081"}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:05] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"deal_registered","force":false}
[2026-04-22 18:13:05] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"deal_registered"}
[2026-04-22 18:13:05] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-22 18:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-22 18:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:13:17] [INFO] Checking activity reminders 
[2026-04-22 18:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:13:29] [INFO] Checking activity reminders 
[2026-04-22 18:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:13:47] [INFO] Checking activity reminders 
[2026-04-22 18:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:13:59] [INFO] Checking activity reminders 
[2026-04-22 18:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:14:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:14:17] [INFO] Checking activity reminders 
[2026-04-22 18:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:14:29] [INFO] Checking activity reminders 
[2026-04-22 18:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:14:47] [INFO] Checking activity reminders 
[2026-04-22 18:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:14:59] [INFO] Checking activity reminders 
[2026-04-22 18:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:15:10] [INFO] Activity save request {"post_data":{"contact_id":"local_69e8b43bee45c0.47356306","deal_id":"local_69e8b43c09d2f","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:15:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e8b43bee45c0.47356306","note_was_empty":true}
[2026-04-22 18:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:10] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"new","force":false}
[2026-04-22 18:15:10] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"new"}
[2026-04-22 18:15:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-22 18:15:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8b43c09d2f","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 18:15:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8def6db52a3.40969944","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8def6db52a3.40969944"}
[2026-04-22 18:15:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:10] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered","force":false}
[2026-04-22 18:15:10] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered"}
[2026-04-22 18:15:10] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-22 18:15:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-22 18:15:17] [INFO] Checking activity reminders 
[2026-04-22 18:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:15:29] [INFO] Checking activity reminders 
[2026-04-22 18:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:15:47] [INFO] Checking activity reminders 
[2026-04-22 18:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:16:00] [INFO] Checking activity reminders 
[2026-04-22 18:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:16:17] [INFO] Checking activity reminders 
[2026-04-22 18:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:16:30] [INFO] Checking activity reminders 
[2026-04-22 18:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:16:47] [INFO] Checking activity reminders 
[2026-04-22 18:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:17:00] [INFO] Checking activity reminders 
[2026-04-22 18:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:17:17] [INFO] Checking activity reminders 
[2026-04-22 18:17:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:17:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:17:30] [INFO] Checking activity reminders 
[2026-04-22 18:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:17:47] [INFO] Checking activity reminders 
[2026-04-22 18:17:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:17:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:18:00] [INFO] Checking activity reminders 
[2026-04-22 18:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:18:17] [INFO] Checking activity reminders 
[2026-04-22 18:18:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:18:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:18:30] [INFO] Checking activity reminders 
[2026-04-22 18:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:18:47] [INFO] Checking activity reminders 
[2026-04-22 18:18:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:18:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:19:00] [INFO] Checking activity reminders 
[2026-04-22 18:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:19:18] [INFO] Checking activity reminders 
[2026-04-22 18:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:19:30] [INFO] Checking activity reminders 
[2026-04-22 18:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:19:48] [INFO] Checking activity reminders 
[2026-04-22 18:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:20:00] [INFO] Checking activity reminders 
[2026-04-22 18:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:20:18] [INFO] Checking activity reminders 
[2026-04-22 18:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:20:30] [INFO] Checking activity reminders 
[2026-04-22 18:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:20:48] [INFO] Checking activity reminders 
[2026-04-22 18:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:21:00] [INFO] Checking activity reminders 
[2026-04-22 18:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:21:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:21:30] [INFO] Checking activity reminders 
[2026-04-22 18:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:22:01] [INFO] Checking activity reminders 
[2026-04-22 18:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:22:31] [INFO] Checking activity reminders 
[2026-04-22 18:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:23:01] [INFO] Checking activity reminders 
[2026-04-22 18:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:23:04] [INFO] Activity save request {"post_data":{"contact_id":"3041","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خاموش","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:23:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:23:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:23:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3041","note_was_empty":true}
[2026-04-22 18:23:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"3041","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 18:23:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8e0d0999df8.11855676","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:23:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8e0d0999df8.11855676"}
[2026-04-22 18:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:23:04] [INFO] Updating virtual stage {"contact_id":"3041","stage_name":"deal_registered","force":false}
[2026-04-22 18:23:04] [INFO] Virtual stage successfully saved {"contact_id":"3041","stage_name":"deal_registered"}
[2026-04-22 18:23:04] [INFO] Virtual stage updated after activity save {"contact_id":"3041"}
[2026-04-22 18:23:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3041","person_id":"11523"}
[2026-04-22 18:23:12] [INFO] Checking activity reminders 
[2026-04-22 18:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:23:34] [INFO] Checking activity reminders 
[2026-04-22 18:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:23:42] [INFO] Checking activity reminders 
[2026-04-22 18:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:24:04] [INFO] Checking activity reminders 
[2026-04-22 18:24:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:24:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:24:12] [INFO] Checking activity reminders 
[2026-04-22 18:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:24:34] [INFO] Checking activity reminders 
[2026-04-22 18:24:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:24:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:24:43] [INFO] Checking activity reminders 
[2026-04-22 18:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:25:04] [INFO] Checking activity reminders 
[2026-04-22 18:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:25:13] [INFO] Checking activity reminders 
[2026-04-22 18:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:25:34] [INFO] Checking activity reminders 
[2026-04-22 18:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:25:43] [INFO] Checking activity reminders 
[2026-04-22 18:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:26:04] [INFO] Checking activity reminders 
[2026-04-22 18:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:26:13] [INFO] Checking activity reminders 
[2026-04-22 18:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:26:43] [INFO] Checking activity reminders 
[2026-04-22 18:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:27:13] [INFO] Checking activity reminders 
[2026-04-22 18:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:27:43] [INFO] Checking activity reminders 
[2026-04-22 18:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:28:13] [INFO] Checking activity reminders 
[2026-04-22 18:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:28:43] [INFO] Checking activity reminders 
[2026-04-22 18:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:29:14] [INFO] Checking activity reminders 
[2026-04-22 18:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:33:19] [INFO] Checking activity reminders 
[2026-04-22 18:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:33:49] [INFO] Checking activity reminders 
[2026-04-22 18:33:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:33:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:33:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:34:19] [INFO] Checking activity reminders 
[2026-04-22 18:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:34:49] [INFO] Checking activity reminders 
[2026-04-22 18:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:35:39] [INFO] Checking activity reminders 
[2026-04-22 18:35:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:35:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:36:09] [INFO] Checking activity reminders 
[2026-04-22 18:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:36:25] [INFO] Checking activity reminders 
[2026-04-22 18:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:36:56] [INFO] Checking activity reminders 
[2026-04-22 18:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:37:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"2247","deal_id":"local_69d6973144cfe0.96600410","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 18:37:20","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 18:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:37:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"2247","is_new_deal":false}
[2026-04-22 18:37:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 18:37:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 18:37:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 18:37:20] [INFO] getContactPrimaryPhone called {"contact_id":"2247"}
[2026-04-22 18:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:37:20] [INFO] getContactPrimaryPhone result {"contact_id":"2247","person_found":true,"primary_phone":"9373329069"}
[2026-04-22 18:37:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9373329069"}
[2026-04-22 18:37:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9373329069","contact_id":"2247","deal_id":"local_69d6973144cfe0.96600410","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 18:37:20"}
[2026-04-22 18:37:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6973144cfe0.96600410","contact_id":"2247","existing_deal_found":true,"existing_contact_id":"2247","existing_title":"معامله سوم 9373329069 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 18:37:20"}
[2026-04-22 18:37:20] [INFO] DealController.save validated payments {"deal_id":"local_69d6973144cfe0.96600410","contact_id":"2247","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-22 18:37:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2247","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 18:37:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6973144cfe0.96600410","contact_didar_id":"2247","title":"معامله سوم 9373329069 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9373329069","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"داوود زلفی","existing_deal":"YES","existing_deal_id":"local_69d6973144cfe0.96600410","existing_deal_status":"Pending","server_time":"2026-04-22 18:37:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 18:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:37:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6973144cfe0.96600410","contact_id":"2247","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9373329069 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-22 18:37:20","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 18:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:37:26] [INFO] Checking activity reminders 
[2026-04-22 18:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:37:56] [INFO] Checking activity reminders 
[2026-04-22 18:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:38:26] [INFO] Checking activity reminders 
[2026-04-22 18:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:38:56] [INFO] Checking activity reminders 
[2026-04-22 18:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:39:26] [INFO] Checking activity reminders 
[2026-04-22 18:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:39:56] [INFO] Checking activity reminders 
[2026-04-22 18:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:40:26] [INFO] Checking activity reminders 
[2026-04-22 18:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:40:56] [INFO] Checking activity reminders 
[2026-04-22 18:40:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:40:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:41:27] [INFO] Checking activity reminders 
[2026-04-22 18:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:41:57] [INFO] Checking activity reminders 
[2026-04-22 18:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:42:01] [INFO] Activity save request {"post_data":{"contact_id":"2247","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"دسترسی به هوش خودرو \r\nارجاع به اقای سهرابی","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:42:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:42:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:42:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2247","note_was_empty":true}
[2026-04-22 18:42:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"2247","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 18:42:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8e541abf375.16209318","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:42:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8e541abf375.16209318"}
[2026-04-22 18:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:42:01] [INFO] Updating virtual stage {"contact_id":"2247","stage_name":"deal_registered","force":false}
[2026-04-22 18:42:01] [INFO] Virtual stage successfully saved {"contact_id":"2247","stage_name":"deal_registered"}
[2026-04-22 18:42:01] [INFO] Virtual stage updated after activity save {"contact_id":"2247"}
[2026-04-22 18:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2247","person_id":"9353"}
[2026-04-22 18:42:08] [INFO] Checking activity reminders 
[2026-04-22 18:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:42:11] [INFO] Checking activity reminders 
[2026-04-22 18:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:42:31] [INFO] Activity save request {"post_data":{"contact_id":"1499","deal_id":"local_69d68fd22bb1b5.50176459","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 18:42:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1499","note_was_empty":true}
[2026-04-22 18:42:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"1499","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:31] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-22 18:42:31] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-22 18:42:31] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-22 18:42:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68fd22bb1b5.50176459","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-22 18:42:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8e55f316847.94458886","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8e55f316847.94458886"}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:31] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-22 18:42:31] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-22 18:42:31] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-22 18:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-22 18:42:35] [INFO] Checking activity reminders 
[2026-04-22 18:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:43:06] [INFO] Checking activity reminders 
[2026-04-22 18:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:43:36] [INFO] Checking activity reminders 
[2026-04-22 18:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:44:06] [INFO] Checking activity reminders 
[2026-04-22 18:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:44:36] [INFO] Checking activity reminders 
[2026-04-22 18:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:45:06] [INFO] Checking activity reminders 
[2026-04-22 18:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:45:36] [INFO] Checking activity reminders 
[2026-04-22 18:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:46:06] [INFO] Checking activity reminders 
[2026-04-22 18:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:46:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"check_reminders"}
[2026-04-22 18:46:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:09] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"get_leads"}
[2026-04-22 18:46:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:12] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:36] [INFO] Checking activity reminders 
[2026-04-22 18:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:46:38] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:38] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-22 18:46:46] [WARNING] Auth check failed - not authenticated {"session_id":"jijne4t9julh9dq44lh5hri60t","session_keys":[],"action":"log_client_event"}
[2026-04-22 18:46:46] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-22 18:46:46] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-22 18:46:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 18:46:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-22 18:46:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-22 18:46:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-22 18:46:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5535","person_id":"5199"}
[2026-04-22 18:47:01] [INFO] Lead update received {"contact_id":"5535","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:47:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5535","person_id":"5199"}
[2026-04-22 18:47:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5535","person_id":"5199"}
[2026-04-22 18:47:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5535","person_id":"5199"}
[2026-04-22 18:47:01] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5535"}
[2026-04-22 18:47:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5535","person_id":"5199"}
[2026-04-22 18:47:06] [INFO] Checking activity reminders 
[2026-04-22 18:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:47:17] [INFO] Checking activity reminders 
[2026-04-22 18:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:47:36] [INFO] Checking activity reminders 
[2026-04-22 18:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:47:37] [INFO] Checking activity reminders 
[2026-04-22 18:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:48:06] [INFO] Checking activity reminders 
[2026-04-22 18:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:48:08] [INFO] Checking activity reminders 
[2026-04-22 18:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:48:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-22 18:48:32] [INFO] Lead update received {"contact_id":"local_695cc30e201990.19043405","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:48:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-22 18:48:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-22 18:48:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-22 18:48:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_695cc30e201990.19043405"}
[2026-04-22 18:48:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc30e201990.19043405","person_id":"21535"}
[2026-04-22 18:48:37] [INFO] Checking activity reminders 
[2026-04-22 18:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:48:38] [INFO] Checking activity reminders 
[2026-04-22 18:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:49:07] [INFO] Checking activity reminders 
[2026-04-22 18:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:49:37] [INFO] Checking activity reminders 
[2026-04-22 18:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:50:03] [INFO] Checking activity reminders 
[2026-04-22 18:50:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:50:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:50:07] [INFO] Checking activity reminders 
[2026-04-22 18:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:50:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 18:50:19] [INFO] Lead update received {"contact_id":"7976","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 18:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 18:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 18:50:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7976"}
[2026-04-22 18:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-22 18:50:37] [INFO] Checking activity reminders 
[2026-04-22 18:50:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:50:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:50:42] [INFO] Checking activity reminders 
[2026-04-22 18:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:50:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 18:51:01","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-22 18:51:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","is_new_deal":false}
[2026-04-22 18:51:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:01] [INFO] getContactPrimaryPhone called {"contact_id":"5405"}
[2026-04-22 18:51:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:01] [INFO] getContactPrimaryPhone result {"contact_id":"5405","person_found":true,"primary_phone":"9120821013"}
[2026-04-22 18:51:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120821013"}
[2026-04-22 18:51:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120821013","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 18:51:01"}
[2026-04-22 18:51:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca54e8ca0810.10670708","contact_id":"5405","existing_deal_found":true,"existing_contact_id":"5405","existing_title":"معامله دوم 9120821013 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 18:51:01"}
[2026-04-22 18:51:07] [INFO] Checking activity reminders 
[2026-04-22 18:51:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:51:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:51:12] [INFO] Checking activity reminders 
[2026-04-22 18:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:51:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 18:51:13","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-22 18:51:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","is_new_deal":false}
[2026-04-22 18:51:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-22 18:51:13] [INFO] getContactPrimaryPhone called {"contact_id":"5405"}
[2026-04-22 18:51:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:13] [INFO] getContactPrimaryPhone result {"contact_id":"5405","person_found":true,"primary_phone":"9120821013"}
[2026-04-22 18:51:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120821013"}
[2026-04-22 18:51:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120821013","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 18:51:13"}
[2026-04-22 18:51:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca54e8ca0810.10670708","contact_id":"5405","existing_deal_found":true,"existing_contact_id":"5405","existing_title":"معامله دوم 9120821013 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 18:51:13"}
[2026-04-22 18:51:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:51:37] [INFO] Checking activity reminders 
[2026-04-22 18:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:51:42] [INFO] Checking activity reminders 
[2026-04-22 18:51:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:51:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:52:07] [INFO] Checking activity reminders 
[2026-04-22 18:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:52:18] [INFO] Checking activity reminders 
[2026-04-22 18:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:52:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:52:37] [INFO] Checking activity reminders 
[2026-04-22 18:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:52:48] [INFO] Checking activity reminders 
[2026-04-22 18:52:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:52:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:52:57] [INFO] Lead update received {"contact_id":"5405","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:52:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5405"}
[2026-04-22 18:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-22 18:53:07] [INFO] Checking activity reminders 
[2026-04-22 18:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:53:11] [INFO] Checking activity reminders 
[2026-04-22 18:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:53:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-22 18:53:32] [INFO] Lead update received {"contact_id":"999","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:53:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-22 18:53:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-22 18:53:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-22 18:53:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"999"}
[2026-04-22 18:53:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"999","person_id":"16868"}
[2026-04-22 18:53:38] [INFO] Checking activity reminders 
[2026-04-22 18:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:53:47] [INFO] Checking activity reminders 
[2026-04-22 18:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:53:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-22 18:54:08] [INFO] Checking activity reminders 
[2026-04-22 18:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:54:10] [INFO] Lead update received {"contact_id":"9541","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:54:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-22 18:54:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-22 18:54:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-22 18:54:10] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9541"}
[2026-04-22 18:54:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9541","person_id":"13092"}
[2026-04-22 18:54:24] [INFO] Checking activity reminders 
[2026-04-22 18:54:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:54:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:54:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9476","person_id":"11238"}
[2026-04-22 18:54:38] [INFO] Checking activity reminders 
[2026-04-22 18:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:54:54] [INFO] Checking activity reminders 
[2026-04-22 18:54:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:54:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:54:56] [INFO] Lead update received {"contact_id":"9476","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9476","person_id":"11238"}
[2026-04-22 18:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9476","person_id":"11238"}
[2026-04-22 18:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9476","person_id":"11238"}
[2026-04-22 18:54:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9476"}
[2026-04-22 18:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9476","person_id":"11238"}
[2026-04-22 18:55:08] [INFO] Checking activity reminders 
[2026-04-22 18:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:55:08] [INFO] Checking activity reminders 
[2026-04-22 18:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:55:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-22 18:55:29] [INFO] Checking activity reminders 
[2026-04-22 18:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:55:38] [INFO] Checking activity reminders 
[2026-04-22 18:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:55:51] [INFO] Lead update received {"contact_id":"873","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-22 18:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-22 18:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-22 18:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-22 18:55:51] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"873"}
[2026-04-22 18:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-22 18:56:04] [INFO] Checking activity reminders 
[2026-04-22 18:56:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:56:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:56:08] [INFO] Checking activity reminders 
[2026-04-22 18:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:56:34] [INFO] Checking activity reminders 
[2026-04-22 18:56:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:56:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:56:38] [INFO] Checking activity reminders 
[2026-04-22 18:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:57:04] [INFO] Checking activity reminders 
[2026-04-22 18:57:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:57:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:57:09] [INFO] Checking activity reminders 
[2026-04-22 18:57:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:57:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:57:34] [INFO] Checking activity reminders 
[2026-04-22 18:57:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:57:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:57:39] [INFO] Checking activity reminders 
[2026-04-22 18:57:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:57:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:58:04] [INFO] Checking activity reminders 
[2026-04-22 18:58:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:58:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:58:09] [INFO] Checking activity reminders 
[2026-04-22 18:58:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:58:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:58:34] [INFO] Checking activity reminders 
[2026-04-22 18:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:58:39] [INFO] Checking activity reminders 
[2026-04-22 18:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:59:04] [INFO] Checking activity reminders 
[2026-04-22 18:59:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:59:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:59:09] [INFO] Checking activity reminders 
[2026-04-22 18:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:59:34] [INFO] Checking activity reminders 
[2026-04-22 18:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 18:59:39] [INFO] Checking activity reminders 
[2026-04-22 18:59:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 18:59:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:00:04] [INFO] Checking activity reminders 
[2026-04-22 19:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:00:09] [INFO] Checking activity reminders 
[2026-04-22 19:00:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:00:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:00:34] [INFO] Checking activity reminders 
[2026-04-22 19:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:00:39] [INFO] Checking activity reminders 
[2026-04-22 19:00:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:00:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:01:04] [INFO] Checking activity reminders 
[2026-04-22 19:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:01:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:01:09] [INFO] Checking activity reminders 
[2026-04-22 19:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:01:35] [INFO] Checking activity reminders 
[2026-04-22 19:01:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:01:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:01:39] [INFO] Checking activity reminders 
[2026-04-22 19:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:02:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"797","deal_id":"local_699eae4416db12.15197353","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 19:02:01","session_id":"jijne4t9julh9dq44lh5hri60t"}
[2026-04-22 19:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:02:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"797","is_new_deal":false}
[2026-04-22 19:02:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 19:02:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 19:02:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 19:02:01] [INFO] getContactPrimaryPhone called {"contact_id":"797"}
[2026-04-22 19:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:02:01] [INFO] getContactPrimaryPhone result {"contact_id":"797","person_found":true,"primary_phone":"9163612664"}
[2026-04-22 19:02:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9163612664"}
[2026-04-22 19:02:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9163612664","contact_id":"797","deal_id":"local_699eae4416db12.15197353","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 19:02:01"}
[2026-04-22 19:02:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","existing_deal_found":true,"existing_contact_id":"797","existing_title":"معامله سوم 9163612664 | vip","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-22 19:02:01"}
[2026-04-22 19:02:01] [INFO] DealController.save validated payments {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 19:02:01] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"797","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-22 19:02:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699eae4416db12.15197353","contact_didar_id":"797","title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9163612664","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ناصر احمدی","existing_deal":"YES","existing_deal_id":"local_699eae4416db12.15197353","existing_deal_status":"Pending","server_time":"2026-04-22 19:02:01","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-22 19:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:02:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699eae4416db12.15197353","contact_id":"797","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-22 19:02:01","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 19:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:02:07] [INFO] Checking activity reminders 
[2026-04-22 19:02:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:02:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:02:09] [INFO] Checking activity reminders 
[2026-04-22 19:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:02:37] [INFO] Checking activity reminders 
[2026-04-22 19:02:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:02:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:02:40] [INFO] Checking activity reminders 
[2026-04-22 19:02:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:02:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:03:07] [INFO] Checking activity reminders 
[2026-04-22 19:03:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:03:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:03:10] [INFO] Checking activity reminders 
[2026-04-22 19:03:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:03:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:03:37] [INFO] Checking activity reminders 
[2026-04-22 19:03:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:03:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:03:40] [INFO] Checking activity reminders 
[2026-04-22 19:03:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:03:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:04:08] [INFO] Checking activity reminders 
[2026-04-22 19:04:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:04:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:04:10] [INFO] Checking activity reminders 
[2026-04-22 19:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:04:38] [INFO] Checking activity reminders 
[2026-04-22 19:04:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:04:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:04:40] [INFO] Checking activity reminders 
[2026-04-22 19:04:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:04:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:05:08] [INFO] Checking activity reminders 
[2026-04-22 19:05:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:05:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:05:10] [INFO] Checking activity reminders 
[2026-04-22 19:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:05:38] [INFO] Checking activity reminders 
[2026-04-22 19:05:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:05:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:05:40] [INFO] Checking activity reminders 
[2026-04-22 19:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:06:08] [INFO] Checking activity reminders 
[2026-04-22 19:06:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:06:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:06:10] [INFO] Checking activity reminders 
[2026-04-22 19:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:06:38] [INFO] Checking activity reminders 
[2026-04-22 19:06:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:06:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:06:40] [INFO] Checking activity reminders 
[2026-04-22 19:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:07:08] [INFO] Checking activity reminders 
[2026-04-22 19:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:07:10] [INFO] Checking activity reminders 
[2026-04-22 19:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:07:38] [INFO] Checking activity reminders 
[2026-04-22 19:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:07:40] [INFO] Checking activity reminders 
[2026-04-22 19:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:08:08] [INFO] Checking activity reminders 
[2026-04-22 19:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:08:11] [INFO] Checking activity reminders 
[2026-04-22 19:08:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:08:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:08:38] [INFO] Checking activity reminders 
[2026-04-22 19:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:08:41] [INFO] Checking activity reminders 
[2026-04-22 19:08:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:08:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:09:08] [INFO] Checking activity reminders 
[2026-04-22 19:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:09:11] [INFO] Checking activity reminders 
[2026-04-22 19:09:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:09:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:09:38] [INFO] Checking activity reminders 
[2026-04-22 19:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:09:41] [INFO] Checking activity reminders 
[2026-04-22 19:09:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:09:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:10:08] [INFO] Checking activity reminders 
[2026-04-22 19:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:10:11] [INFO] Checking activity reminders 
[2026-04-22 19:10:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:10:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:10:39] [INFO] Checking activity reminders 
[2026-04-22 19:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:10:41] [INFO] Checking activity reminders 
[2026-04-22 19:10:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:10:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:11:09] [INFO] Checking activity reminders 
[2026-04-22 19:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:11:11] [INFO] Checking activity reminders 
[2026-04-22 19:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:11:39] [INFO] Checking activity reminders 
[2026-04-22 19:11:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:11:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:11:41] [INFO] Checking activity reminders 
[2026-04-22 19:11:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:11:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:12:09] [INFO] Checking activity reminders 
[2026-04-22 19:12:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:12:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:12:11] [INFO] Checking activity reminders 
[2026-04-22 19:12:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:12:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:12:39] [INFO] Checking activity reminders 
[2026-04-22 19:12:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:12:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:13:09] [INFO] Checking activity reminders 
[2026-04-22 19:13:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:13:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:13:39] [INFO] Checking activity reminders 
[2026-04-22 19:13:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:13:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:13:46] [INFO] Checking activity reminders 
[2026-04-22 19:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:14:09] [INFO] Checking activity reminders 
[2026-04-22 19:14:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:14:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:14:16] [INFO] Checking activity reminders 
[2026-04-22 19:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:14:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-22 19:14:39] [INFO] Checking activity reminders 
[2026-04-22 19:14:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:14:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:14:51] [INFO] Checking activity reminders 
[2026-04-22 19:14:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:14:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:14:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:15:09] [INFO] Checking activity reminders 
[2026-04-22 19:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:15:21] [INFO] Checking activity reminders 
[2026-04-22 19:15:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:15:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:15:39] [INFO] Checking activity reminders 
[2026-04-22 19:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:15:51] [INFO] Checking activity reminders 
[2026-04-22 19:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:16:09] [INFO] Checking activity reminders 
[2026-04-22 19:16:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:16:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:16:21] [INFO] Checking activity reminders 
[2026-04-22 19:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:16:39] [INFO] Checking activity reminders 
[2026-04-22 19:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:16:51] [INFO] Checking activity reminders 
[2026-04-22 19:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:16:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"797","deal_id":"local_699eae4416db12.15197353","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-22 19:16:57","session_id":"l6q6ev0inpi6auna50igm11qeq"}
[2026-04-22 19:16:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:16:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"797","is_new_deal":false}
[2026-04-22 19:16:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-22 19:16:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 19:16:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-22 19:16:57] [INFO] getContactPrimaryPhone called {"contact_id":"797"}
[2026-04-22 19:16:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:16:57] [INFO] getContactPrimaryPhone result {"contact_id":"797","person_found":true,"primary_phone":"9163612664"}
[2026-04-22 19:16:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9163612664"}
[2026-04-22 19:16:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9163612664","contact_id":"797","deal_id":"local_699eae4416db12.15197353","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 19:16:57"}
[2026-04-22 19:16:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","existing_deal_found":true,"existing_contact_id":"797","existing_title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-22 19:16:57"}
[2026-04-22 19:16:57] [INFO] DealController.save validated payments {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","payments_count":4,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-22 19:16:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"797","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-22 19:16:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699eae4416db12.15197353","contact_didar_id":"797","title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9163612664","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":59000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ناصر احمدی","existing_deal":"YES","existing_deal_id":"local_699eae4416db12.15197353","existing_deal_status":"Pending","server_time":"2026-04-22 19:16:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-22 19:16:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:16:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699eae4416db12.15197353","contact_id":"797","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":59000000,"server_time":"2026-04-22 19:16:57","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-22 19:16:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:09] [INFO] Checking activity reminders 
[2026-04-22 19:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:17:21] [INFO] Checking activity reminders 
[2026-04-22 19:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:17:22] [INFO] Activity save request {"post_data":{"contact_id":"797","deal_id":"local_699eae4416db12.15197353","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"59 جمعا واریز \r\nتا اخر ماه تسویه ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 19:17:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"797","note_was_empty":true}
[2026-04-22 19:17:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"797","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:22] [INFO] Updating virtual stage {"contact_id":"797","stage_name":"deal_registered","force":false}
[2026-04-22 19:17:22] [INFO] Virtual stage successfully saved {"contact_id":"797","stage_name":"deal_registered"}
[2026-04-22 19:17:22] [INFO] Virtual stage updated after activity save {"contact_id":"797"}
[2026-04-22 19:17:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699eae4416db12.15197353","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-22 19:17:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8ed8a117ed0.37441813","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8ed8a117ed0.37441813"}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:22] [INFO] Updating virtual stage {"contact_id":"797","stage_name":"deal_registered","force":false}
[2026-04-22 19:17:22] [INFO] Virtual stage successfully saved {"contact_id":"797","stage_name":"deal_registered"}
[2026-04-22 19:17:22] [INFO] Virtual stage updated after activity save {"contact_id":"797"}
[2026-04-22 19:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-22 19:17:40] [INFO] Checking activity reminders 
[2026-04-22 19:17:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:17:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:17:43] [INFO] Checking activity reminders 
[2026-04-22 19:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:17:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:17:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:17:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:17:53] [INFO] generateDealTitle result {"contact_id":"20719","person_name":"فرهاد سرمستی","mobile":"9124887993","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9124887993"}
[2026-04-22 19:18:10] [INFO] Checking activity reminders 
[2026-04-22 19:18:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:18:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:18:13] [INFO] Checking activity reminders 
[2026-04-22 19:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:18:40] [INFO] Checking activity reminders 
[2026-04-22 19:18:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:18:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:18:43] [INFO] Checking activity reminders 
[2026-04-22 19:18:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:18:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:19:02] [INFO] Activity save request {"post_data":{"contact_id":"20719","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کار دولتی \/ حقوق بسته به شرایط نگرفته \r\nمشکل مالی \r\nمیخواست انصراف بده \/ عودت نداریم \r\nشرایط پرداخت گفتم در 2 مرحله واریز ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-22 19:19:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:19:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-22 19:19:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-22 19:19:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:19:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20719","note_was_empty":true}
[2026-04-22 19:19:02] [INFO] Didar write disabled; saving activity locally {"contact_id":"20719","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-22 19:19:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e8edeebf5d73.07531497","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-22 19:19:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:19:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69e8edeebf5d73.07531497"}
[2026-04-22 19:19:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:19:02] [INFO] Updating virtual stage {"contact_id":"20719","stage_name":"deal_registered","force":false}
[2026-04-22 19:19:02] [INFO] Virtual stage successfully saved {"contact_id":"20719","stage_name":"deal_registered"}
[2026-04-22 19:19:02] [INFO] Virtual stage updated after activity save {"contact_id":"20719"}
[2026-04-22 19:19:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-22 19:19:10] [INFO] Checking activity reminders 
[2026-04-22 19:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:19:14] [INFO] Checking activity reminders 
[2026-04-22 19:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:19:40] [INFO] Checking activity reminders 
[2026-04-22 19:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:19:44] [INFO] Checking activity reminders 
[2026-04-22 19:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:20:10] [INFO] Checking activity reminders 
[2026-04-22 19:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:20:14] [INFO] Checking activity reminders 
[2026-04-22 19:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:20:40] [INFO] Checking activity reminders 
[2026-04-22 19:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:20:44] [INFO] Checking activity reminders 
[2026-04-22 19:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:21:10] [INFO] Checking activity reminders 
[2026-04-22 19:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:21:14] [INFO] Checking activity reminders 
[2026-04-22 19:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:21:40] [INFO] Checking activity reminders 
[2026-04-22 19:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:21:44] [INFO] Checking activity reminders 
[2026-04-22 19:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:22:10] [INFO] Checking activity reminders 
[2026-04-22 19:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:22:40] [INFO] Checking activity reminders 
[2026-04-22 19:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:23:10] [INFO] Checking activity reminders 
[2026-04-22 19:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:23:40] [INFO] Checking activity reminders 
[2026-04-22 19:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:24:10] [INFO] Checking activity reminders 
[2026-04-22 19:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:24:41] [INFO] Checking activity reminders 
[2026-04-22 19:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:25:11] [INFO] Checking activity reminders 
[2026-04-22 19:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:25:41] [INFO] Checking activity reminders 
[2026-04-22 19:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:26:11] [INFO] Checking activity reminders 
[2026-04-22 19:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:26:41] [INFO] Checking activity reminders 
[2026-04-22 19:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:27:11] [INFO] Checking activity reminders 
[2026-04-22 19:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:27:41] [INFO] Checking activity reminders 
[2026-04-22 19:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:28:11] [INFO] Checking activity reminders 
[2026-04-22 19:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:28:41] [INFO] Checking activity reminders 
[2026-04-22 19:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:29:11] [INFO] Checking activity reminders 
[2026-04-22 19:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:29:41] [INFO] Checking activity reminders 
[2026-04-22 19:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:30:11] [INFO] Checking activity reminders 
[2026-04-22 19:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:30:41] [INFO] Checking activity reminders 
[2026-04-22 19:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:31:12] [INFO] Checking activity reminders 
[2026-04-22 19:31:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:31:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:31:42] [INFO] Checking activity reminders 
[2026-04-22 19:31:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:31:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:32:12] [INFO] Checking activity reminders 
[2026-04-22 19:32:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:32:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:32:42] [INFO] Checking activity reminders 
[2026-04-22 19:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:33:12] [INFO] Checking activity reminders 
[2026-04-22 19:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:33:42] [INFO] Checking activity reminders 
[2026-04-22 19:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-22 19:52:15] [INFO] Checking activity reminders 
[2026-04-22 19:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-22 19:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 00:13:15] [WARNING] Auth check failed - not authenticated {"session_id":"pcrbvhtbprrpjr8lm58clb79eu","session_keys":[],"action":"log_client_event"}
[2026-04-23 00:13:15] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-23 00:13:15] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 00:13:45] [INFO] Checking activity reminders 
[2026-04-23 00:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 00:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 00:14:16] [INFO] Checking activity reminders 
[2026-04-23 00:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 00:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 00:14:46] [INFO] Checking activity reminders 
[2026-04-23 00:14:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 00:14:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 00:15:16] [INFO] Checking activity reminders 
[2026-04-23 00:15:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 00:15:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:37:32] [WARNING] Auth check failed - not authenticated {"session_id":"dvdkr42mfeudairgi5rg0jm79f","session_keys":[],"action":"log_client_event"}
[2026-04-23 09:37:32] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-23 09:37:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 09:37:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 09:37:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 09:37:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 09:37:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21281","person_id":"15005"}
[2026-04-23 09:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21281","person_id":"15005"}
[2026-04-23 09:38:03] [INFO] Checking activity reminders 
[2026-04-23 09:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:38:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-23 09:38:33] [INFO] Checking activity reminders 
[2026-04-23 09:38:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:38:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:38:46] [INFO] Checking activity reminders 
[2026-04-23 09:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:38:53] [INFO] Checking activity reminders 
[2026-04-23 09:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:39:21] [INFO] Checking activity reminders 
[2026-04-23 09:39:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:39:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:57:16] [WARNING] Auth check failed - not authenticated {"session_id":"3q22ga7bjn3vga5cupq7jmnpc3","session_keys":[],"action":"log_client_event"}
[2026-04-23 09:57:16] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-23 09:57:16] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 09:57:21] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-23 09:57:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 09:57:26] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-23 09:57:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 09:57:32] [INFO] Checking activity reminders 
[2026-04-23 09:57:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:57:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:57:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16071","person_id":"18040"}
[2026-04-23 09:58:15] [INFO] Checking activity reminders 
[2026-04-23 09:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 09:59:31] [INFO] Checking activity reminders 
[2026-04-23 09:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 09:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:04:56] [INFO] Checking activity reminders 
[2026-04-23 10:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:05:26] [INFO] Checking activity reminders 
[2026-04-23 10:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:05:56] [INFO] Checking activity reminders 
[2026-04-23 10:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:07:33] [INFO] Checking activity reminders 
[2026-04-23 10:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:08:03] [INFO] Checking activity reminders 
[2026-04-23 10:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:08:34] [INFO] Checking activity reminders 
[2026-04-23 10:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:09:04] [INFO] Checking activity reminders 
[2026-04-23 10:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:09:34] [INFO] Checking activity reminders 
[2026-04-23 10:09:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:09:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:10:04] [INFO] Checking activity reminders 
[2026-04-23 10:10:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:10:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:10:34] [INFO] Checking activity reminders 
[2026-04-23 10:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:11:04] [INFO] Checking activity reminders 
[2026-04-23 10:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:11:34] [INFO] Checking activity reminders 
[2026-04-23 10:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:12:04] [INFO] Checking activity reminders 
[2026-04-23 10:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:12:34] [INFO] Checking activity reminders 
[2026-04-23 10:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:13:04] [INFO] Checking activity reminders 
[2026-04-23 10:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:13:20] [INFO] Checking activity reminders 
[2026-04-23 10:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:13:34] [INFO] Checking activity reminders 
[2026-04-23 10:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:13:43] [INFO] Checking activity reminders 
[2026-04-23 10:13:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:13:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:13:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-04-23 10:14:04] [INFO] Checking activity reminders 
[2026-04-23 10:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:14:13] [INFO] Checking activity reminders 
[2026-04-23 10:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:14:35] [INFO] Checking activity reminders 
[2026-04-23 10:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:15:05] [INFO] Checking activity reminders 
[2026-04-23 10:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:15:35] [INFO] Checking activity reminders 
[2026-04-23 10:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:16:05] [INFO] Checking activity reminders 
[2026-04-23 10:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:16:25] [INFO] Checking activity reminders 
[2026-04-23 10:16:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:16:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:16:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-04-23 10:16:35] [INFO] Checking activity reminders 
[2026-04-23 10:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:17:05] [INFO] Checking activity reminders 
[2026-04-23 10:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:17:11] [INFO] Checking activity reminders 
[2026-04-23 10:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:17:35] [INFO] Checking activity reminders 
[2026-04-23 10:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:18:05] [INFO] Checking activity reminders 
[2026-04-23 10:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:18:35] [INFO] Checking activity reminders 
[2026-04-23 10:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:19:05] [INFO] Checking activity reminders 
[2026-04-23 10:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:19:17] [WARNING] Auth check failed - not authenticated {"session_id":"av3jn1i1m34lu73io7ts5sjth7","session_keys":[],"action":"log_client_event"}
[2026-04-23 10:19:17] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-23 10:19:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 10:19:35] [INFO] Checking activity reminders 
[2026-04-23 10:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:19:42] [INFO] Checking activity reminders 
[2026-04-23 10:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:19:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"848","person_id":"717"}
[2026-04-23 10:19:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:19:48] [INFO] Checking activity reminders 
[2026-04-23 10:19:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:19:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:05] [INFO] Checking activity reminders 
[2026-04-23 10:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:12] [INFO] Checking activity reminders 
[2026-04-23 10:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:18] [INFO] Checking activity reminders 
[2026-04-23 10:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:35] [INFO] Checking activity reminders 
[2026-04-23 10:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:48] [INFO] Checking activity reminders 
[2026-04-23 10:20:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:20:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:20:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:21:05] [INFO] Checking activity reminders 
[2026-04-23 10:21:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:21:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:21:18] [INFO] Checking activity reminders 
[2026-04-23 10:21:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:21:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:21:31] [INFO] Checking activity reminders 
[2026-04-23 10:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:21:36] [INFO] Checking activity reminders 
[2026-04-23 10:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:21:48] [INFO] Checking activity reminders 
[2026-04-23 10:21:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:21:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:21:57] [INFO] Activity save request {"post_data":{"contact_id":"7976","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خواب بود میخوام تسویه بگیرم 1 ساعت دیگه تماس","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 10:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:21:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 10:21:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 10:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:21:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7976","note_was_empty":true}
[2026-04-23 10:21:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"7976","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-23 10:21:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9c18dbd75a9.89439586","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 10:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:21:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9c18dbd75a9.89439586"}
[2026-04-23 10:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:21:57] [INFO] Updating virtual stage {"contact_id":"7976","stage_name":"deal_registered","force":false}
[2026-04-23 10:21:57] [INFO] Virtual stage successfully saved {"contact_id":"7976","stage_name":"deal_registered"}
[2026-04-23 10:21:57] [INFO] Virtual stage updated after activity save {"contact_id":"7976"}
[2026-04-23 10:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-23 10:22:06] [INFO] Checking activity reminders 
[2026-04-23 10:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:22:18] [INFO] Checking activity reminders 
[2026-04-23 10:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:22:36] [INFO] Checking activity reminders 
[2026-04-23 10:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:22:48] [INFO] Checking activity reminders 
[2026-04-23 10:22:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:22:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:23:06] [INFO] Checking activity reminders 
[2026-04-23 10:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:23:18] [INFO] Checking activity reminders 
[2026-04-23 10:23:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:23:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:23:36] [INFO] Checking activity reminders 
[2026-04-23 10:23:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:23:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:23:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9978","deal_id":"local_69c7f9c1e95066.72087931","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 10:23:46","session_id":"3q22ga7bjn3vga5cupq7jmnpc3"}
[2026-04-23 10:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:23:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9978","is_new_deal":false}
[2026-04-23 10:23:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:23:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:23:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:23:46] [INFO] getContactPrimaryPhone called {"contact_id":"9978"}
[2026-04-23 10:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:23:46] [INFO] getContactPrimaryPhone result {"contact_id":"9978","person_found":true,"primary_phone":"9122232815"}
[2026-04-23 10:23:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122232815"}
[2026-04-23 10:23:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122232815","contact_id":"9978","deal_id":"local_69c7f9c1e95066.72087931","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 10:23:46"}
[2026-04-23 10:23:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","existing_deal_found":true,"existing_contact_id":"9978","existing_title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 10:23:46"}
[2026-04-23 10:23:47] [INFO] DealController.save validated payments {"deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-23 10:23:47] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 10:23:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7f9c1e95066.72087931","contact_didar_id":"9978","title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله چهارم 9122232815","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ابوالقیصی","existing_deal":"YES","existing_deal_id":"local_69c7f9c1e95066.72087931","existing_deal_status":"Pending","server_time":"2026-04-23 10:23:47","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-23 10:23:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:23:47] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-23 10:23:47","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 10:23:48] [INFO] Checking activity reminders 
[2026-04-23 10:23:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:23:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:24:06] [INFO] Checking activity reminders 
[2026-04-23 10:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:24:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:18] [INFO] Checking activity reminders 
[2026-04-23 10:24:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:24:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:24:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9978","deal_id":"local_69c7f9c1e95066.72087931","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 10:24:20","session_id":"3q22ga7bjn3vga5cupq7jmnpc3"}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9978","is_new_deal":false}
[2026-04-23 10:24:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:24:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:24:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 10:24:20] [INFO] getContactPrimaryPhone called {"contact_id":"9978"}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:20] [INFO] getContactPrimaryPhone result {"contact_id":"9978","person_found":true,"primary_phone":"9122232815"}
[2026-04-23 10:24:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9122232815"}
[2026-04-23 10:24:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9122232815","contact_id":"9978","deal_id":"local_69c7f9c1e95066.72087931","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 10:24:20"}
[2026-04-23 10:24:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","existing_deal_found":true,"existing_contact_id":"9978","existing_title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 10:24:20"}
[2026-04-23 10:24:20] [INFO] DealController.save validated payments {"deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-23 10:24:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9978","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 10:24:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7f9c1e95066.72087931","contact_didar_id":"9978","title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله چهارم 9122232815","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ابوالقیصی","existing_deal":"YES","existing_deal_id":"local_69c7f9c1e95066.72087931","existing_deal_status":"Pending","server_time":"2026-04-23 10:24:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:20] [INFO] Deal success processed {"contact_id":"9978","person_name":"ابوالقیصی","products_count":1}
[2026-04-23 10:24:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7f9c1e95066.72087931","contact_id":"9978","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9122232815 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-23 10:24:20","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:20] [INFO] Updating virtual stage {"contact_id":"9978","stage_name":"with_purchase","force":true}
[2026-04-23 10:24:20] [INFO] Virtual stage successfully saved {"contact_id":"9978","stage_name":"with_purchase"}
[2026-04-23 10:24:20] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9978","deal_id":"local_69c7f9c1e95066.72087931","target_stage":"with_purchase"}
[2026-04-23 10:24:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 10:24:49] [INFO] Checking activity reminders 
[2026-04-23 10:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:25:19] [INFO] Checking activity reminders 
[2026-04-23 10:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:25:26] [INFO] Checking activity reminders 
[2026-04-23 10:25:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:25:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:25:49] [INFO] Checking activity reminders 
[2026-04-23 10:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:25:56] [INFO] Checking activity reminders 
[2026-04-23 10:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:25:57] [INFO] Checking activity reminders 
[2026-04-23 10:25:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:25:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-23 10:26:19] [INFO] Checking activity reminders 
[2026-04-23 10:26:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:26:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:26:19] [INFO] Checking activity reminders 
[2026-04-23 10:26:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:26:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:26:27] [INFO] Checking activity reminders 
[2026-04-23 10:26:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:26:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:26:49] [INFO] Checking activity reminders 
[2026-04-23 10:26:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:26:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:26:57] [INFO] Checking activity reminders 
[2026-04-23 10:26:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:26:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:27:19] [INFO] Checking activity reminders 
[2026-04-23 10:27:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:27:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:27:27] [INFO] Checking activity reminders 
[2026-04-23 10:27:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:27:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:27:49] [INFO] Checking activity reminders 
[2026-04-23 10:27:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:27:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:27:57] [INFO] Checking activity reminders 
[2026-04-23 10:27:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:27:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:28:19] [INFO] Checking activity reminders 
[2026-04-23 10:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:28:27] [INFO] Checking activity reminders 
[2026-04-23 10:28:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:28:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:28:49] [INFO] Checking activity reminders 
[2026-04-23 10:28:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:28:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:28:57] [INFO] Checking activity reminders 
[2026-04-23 10:28:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:28:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:29:19] [INFO] Checking activity reminders 
[2026-04-23 10:29:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:29:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:29:27] [INFO] Checking activity reminders 
[2026-04-23 10:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:29:49] [INFO] Checking activity reminders 
[2026-04-23 10:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:29:57] [INFO] Checking activity reminders 
[2026-04-23 10:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:30:20] [INFO] Checking activity reminders 
[2026-04-23 10:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:30:27] [INFO] Checking activity reminders 
[2026-04-23 10:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:30:50] [INFO] Checking activity reminders 
[2026-04-23 10:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:30:57] [INFO] Checking activity reminders 
[2026-04-23 10:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:31:20] [INFO] Checking activity reminders 
[2026-04-23 10:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:31:28] [INFO] Checking activity reminders 
[2026-04-23 10:31:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:31:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:31:50] [INFO] Checking activity reminders 
[2026-04-23 10:31:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:31:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:31:58] [INFO] Checking activity reminders 
[2026-04-23 10:31:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:31:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:32:20] [INFO] Checking activity reminders 
[2026-04-23 10:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:32:28] [INFO] Checking activity reminders 
[2026-04-23 10:32:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:32:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:32:50] [INFO] Checking activity reminders 
[2026-04-23 10:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:32:58] [INFO] Checking activity reminders 
[2026-04-23 10:32:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:32:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:33:20] [INFO] Checking activity reminders 
[2026-04-23 10:33:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:33:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:33:28] [INFO] Checking activity reminders 
[2026-04-23 10:33:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:33:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:33:50] [INFO] Checking activity reminders 
[2026-04-23 10:33:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:33:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:33:58] [INFO] Checking activity reminders 
[2026-04-23 10:33:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:33:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:34:20] [INFO] Checking activity reminders 
[2026-04-23 10:34:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:34:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:34:28] [INFO] Checking activity reminders 
[2026-04-23 10:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:34:51] [INFO] Checking activity reminders 
[2026-04-23 10:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:34:58] [INFO] Checking activity reminders 
[2026-04-23 10:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:35:21] [INFO] Checking activity reminders 
[2026-04-23 10:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:35:28] [INFO] Checking activity reminders 
[2026-04-23 10:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:35:58] [INFO] Checking activity reminders 
[2026-04-23 10:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:36:09] [INFO] Checking activity reminders 
[2026-04-23 10:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:36:28] [INFO] Checking activity reminders 
[2026-04-23 10:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:36:47] [INFO] Checking activity reminders 
[2026-04-23 10:36:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:36:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:37:12] [INFO] Checking activity reminders 
[2026-04-23 10:37:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:37:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:37:17] [INFO] Checking activity reminders 
[2026-04-23 10:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:37:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:37:42] [INFO] Checking activity reminders 
[2026-04-23 10:37:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:37:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:37:47] [INFO] Checking activity reminders 
[2026-04-23 10:37:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:37:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:38:12] [INFO] Checking activity reminders 
[2026-04-23 10:38:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:38:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:38:17] [INFO] Checking activity reminders 
[2026-04-23 10:38:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:38:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:38:42] [INFO] Checking activity reminders 
[2026-04-23 10:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:38:47] [INFO] Checking activity reminders 
[2026-04-23 10:38:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:38:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:12] [INFO] Checking activity reminders 
[2026-04-23 10:39:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:17] [INFO] Checking activity reminders 
[2026-04-23 10:39:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:19] [INFO] Checking activity reminders 
[2026-04-23 10:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:20] [INFO] Checking activity reminders 
[2026-04-23 10:39:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:43] [INFO] Checking activity reminders 
[2026-04-23 10:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:39:51] [INFO] Checking activity reminders 
[2026-04-23 10:39:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:39:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:40:13] [INFO] Checking activity reminders 
[2026-04-23 10:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:40:21] [INFO] Checking activity reminders 
[2026-04-23 10:40:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:40:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:40:43] [INFO] Checking activity reminders 
[2026-04-23 10:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:40:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 10:40:51] [INFO] Checking activity reminders 
[2026-04-23 10:40:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:40:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:41:13] [INFO] Checking activity reminders 
[2026-04-23 10:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:41:21] [INFO] Checking activity reminders 
[2026-04-23 10:41:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:41:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:41:43] [INFO] Checking activity reminders 
[2026-04-23 10:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:41:51] [INFO] Checking activity reminders 
[2026-04-23 10:41:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:41:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:42:13] [INFO] Checking activity reminders 
[2026-04-23 10:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:42:21] [INFO] Checking activity reminders 
[2026-04-23 10:42:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:42:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:42:43] [INFO] Checking activity reminders 
[2026-04-23 10:42:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:42:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:42:51] [INFO] Checking activity reminders 
[2026-04-23 10:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:43:13] [INFO] Checking activity reminders 
[2026-04-23 10:43:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:43:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:43:21] [INFO] Checking activity reminders 
[2026-04-23 10:43:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:43:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:43:43] [INFO] Checking activity reminders 
[2026-04-23 10:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:43:51] [INFO] Checking activity reminders 
[2026-04-23 10:43:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:43:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:44:11] [INFO] Checking activity reminders 
[2026-04-23 10:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:44:13] [INFO] Checking activity reminders 
[2026-04-23 10:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:44:41] [INFO] Checking activity reminders 
[2026-04-23 10:44:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:44:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:44:43] [INFO] Checking activity reminders 
[2026-04-23 10:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:45:12] [INFO] Checking activity reminders 
[2026-04-23 10:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:45:13] [INFO] Checking activity reminders 
[2026-04-23 10:45:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:45:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:45:42] [INFO] Checking activity reminders 
[2026-04-23 10:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:45:43] [INFO] Checking activity reminders 
[2026-04-23 10:45:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:45:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:46:12] [INFO] Checking activity reminders 
[2026-04-23 10:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:46:13] [INFO] Checking activity reminders 
[2026-04-23 10:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:46:18] [INFO] Checking activity reminders 
[2026-04-23 10:46:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:46:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:46:42] [INFO] Checking activity reminders 
[2026-04-23 10:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:46:44] [INFO] Checking activity reminders 
[2026-04-23 10:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:47:12] [INFO] Checking activity reminders 
[2026-04-23 10:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:47:14] [INFO] Checking activity reminders 
[2026-04-23 10:47:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:47:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:47:42] [INFO] Checking activity reminders 
[2026-04-23 10:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:47:44] [INFO] Checking activity reminders 
[2026-04-23 10:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:47:52] [INFO] Checking activity reminders 
[2026-04-23 10:47:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:47:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:48:12] [INFO] Checking activity reminders 
[2026-04-23 10:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:48:14] [INFO] Checking activity reminders 
[2026-04-23 10:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:48:42] [INFO] Checking activity reminders 
[2026-04-23 10:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:48:44] [INFO] Checking activity reminders 
[2026-04-23 10:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:49:12] [INFO] Checking activity reminders 
[2026-04-23 10:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:49:14] [INFO] Checking activity reminders 
[2026-04-23 10:49:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:49:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:49:42] [INFO] Checking activity reminders 
[2026-04-23 10:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:49:44] [INFO] Checking activity reminders 
[2026-04-23 10:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:50:12] [INFO] Checking activity reminders 
[2026-04-23 10:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:50:14] [INFO] Checking activity reminders 
[2026-04-23 10:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:50:43] [INFO] Checking activity reminders 
[2026-04-23 10:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:50:44] [INFO] Checking activity reminders 
[2026-04-23 10:50:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:50:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:51:13] [INFO] Checking activity reminders 
[2026-04-23 10:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:51:14] [INFO] Checking activity reminders 
[2026-04-23 10:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:51:43] [INFO] Checking activity reminders 
[2026-04-23 10:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:51:44] [INFO] Checking activity reminders 
[2026-04-23 10:51:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:51:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:13] [INFO] Checking activity reminders 
[2026-04-23 10:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:14] [INFO] Checking activity reminders 
[2026-04-23 10:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:43] [INFO] Checking activity reminders 
[2026-04-23 10:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:44] [INFO] Checking activity reminders 
[2026-04-23 10:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:52] [INFO] Checking activity reminders 
[2026-04-23 10:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:52:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-23 10:53:13] [INFO] Checking activity reminders 
[2026-04-23 10:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:53:14] [INFO] Checking activity reminders 
[2026-04-23 10:53:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:53:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:53:43] [INFO] Checking activity reminders 
[2026-04-23 10:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:53:44] [INFO] Checking activity reminders 
[2026-04-23 10:53:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:53:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:54:13] [INFO] Checking activity reminders 
[2026-04-23 10:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:54:15] [INFO] Checking activity reminders 
[2026-04-23 10:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:54:43] [INFO] Checking activity reminders 
[2026-04-23 10:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:54:45] [INFO] Checking activity reminders 
[2026-04-23 10:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:56:53] [INFO] Checking activity reminders 
[2026-04-23 10:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:56:57] [INFO] Checking activity reminders 
[2026-04-23 10:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:57:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15821","person_id":"17907"}
[2026-04-23 10:57:22] [INFO] Checking activity reminders 
[2026-04-23 10:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:57:23] [INFO] Checking activity reminders 
[2026-04-23 10:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:57:27] [INFO] Checking activity reminders 
[2026-04-23 10:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:57:52] [INFO] Checking activity reminders 
[2026-04-23 10:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:57:57] [INFO] Checking activity reminders 
[2026-04-23 10:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:58:19] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 10:58:19","session_id":"av3jn1i1m34lu73io7ts5sjth7"}
[2026-04-23 10:58:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","is_new_deal":false}
[2026-04-23 10:58:19] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-23 10:58:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-23 10:58:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-23 10:58:19] [INFO] getContactPrimaryPhone called {"contact_id":"5973"}
[2026-04-23 10:58:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:19] [INFO] getContactPrimaryPhone result {"contact_id":"5973","person_found":true,"primary_phone":"9128991587"}
[2026-04-23 10:58:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128991587"}
[2026-04-23 10:58:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128991587","contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-23 10:58:19"}
[2026-04-23 10:58:19] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","existing_deal_found":true,"existing_contact_id":"5973","existing_title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-23 10:58:19"}
[2026-04-23 10:58:19] [INFO] DealController.save validated payments {"deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-23 10:58:19] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5973","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 10:58:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e8de52dc4235.61640199","contact_didar_id":"5973","title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9128991587","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بهراد","existing_deal":"YES","existing_deal_id":"local_69e8de52dc4235.61640199","existing_deal_status":"Pending","server_time":"2026-04-23 10:58:19","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-23 10:58:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:19] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":19000000,"server_time":"2026-04-23 10:58:19","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 10:58:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:22] [INFO] Checking activity reminders 
[2026-04-23 10:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:58:27] [INFO] Checking activity reminders 
[2026-04-23 10:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:58:33] [INFO] Activity save request {"post_data":{"contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"19 زد تسویه شنبه صبح","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 10:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 10:58:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 10:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5973","note_was_empty":true}
[2026-04-23 10:58:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"5973","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-23 10:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:33] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"deal_registered","force":false}
[2026-04-23 10:58:33] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"deal_registered"}
[2026-04-23 10:58:33] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-23 10:58:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8de52dc4235.61640199","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-23 10:58:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9ca21eab328.95590311","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 10:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9ca21eab328.95590311"}
[2026-04-23 10:58:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:33] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"deal_registered","force":false}
[2026-04-23 10:58:33] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"deal_registered"}
[2026-04-23 10:58:33] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-23 10:58:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-23 10:58:52] [INFO] Checking activity reminders 
[2026-04-23 10:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:58:58] [INFO] Checking activity reminders 
[2026-04-23 10:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:59:04] [INFO] Checking activity reminders 
[2026-04-23 10:59:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:59:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:59:22] [INFO] Checking activity reminders 
[2026-04-23 10:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:59:28] [INFO] Checking activity reminders 
[2026-04-23 10:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:59:34] [INFO] Checking activity reminders 
[2026-04-23 10:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 10:59:58] [INFO] Checking activity reminders 
[2026-04-23 10:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 10:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:00:04] [INFO] Checking activity reminders 
[2026-04-23 11:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:00:28] [INFO] Checking activity reminders 
[2026-04-23 11:00:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:00:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:00:34] [INFO] Checking activity reminders 
[2026-04-23 11:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:00:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:00:58] [INFO] Checking activity reminders 
[2026-04-23 11:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:04] [INFO] Checking activity reminders 
[2026-04-23 11:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:18] [INFO] Checking activity reminders 
[2026-04-23 11:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:28] [INFO] Checking activity reminders 
[2026-04-23 11:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:41] [INFO] Checking activity reminders 
[2026-04-23 11:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:54] [INFO] Checking activity reminders 
[2026-04-23 11:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:01:58] [INFO] Checking activity reminders 
[2026-04-23 11:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:03] [INFO] Checking activity reminders 
[2026-04-23 11:02:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:02:11] [INFO] Checking activity reminders 
[2026-04-23 11:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:28] [INFO] Checking activity reminders 
[2026-04-23 11:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:41] [INFO] Checking activity reminders 
[2026-04-23 11:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:41] [INFO] Checking activity reminders 
[2026-04-23 11:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:02:43] [INFO] Checking activity reminders 
[2026-04-23 11:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:03:11] [INFO] Checking activity reminders 
[2026-04-23 11:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:03:13] [INFO] Checking activity reminders 
[2026-04-23 11:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:03:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 11:03:30","session_id":"av3jn1i1m34lu73io7ts5sjth7"}
[2026-04-23 11:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11224","is_new_deal":false}
[2026-04-23 11:03:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-23 11:03:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 11:03:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 11:03:30] [INFO] getContactPrimaryPhone called {"contact_id":"11224"}
[2026-04-23 11:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:30] [INFO] getContactPrimaryPhone result {"contact_id":"11224","person_found":true,"primary_phone":"9367776843"}
[2026-04-23 11:03:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367776843"}
[2026-04-23 11:03:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367776843","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-23 11:03:30"}
[2026-04-23 11:03:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","existing_deal_found":true,"existing_contact_id":"11224","existing_title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-23 11:03:30"}
[2026-04-23 11:03:30] [INFO] DealController.save validated payments {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-23 11:03:30] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11224","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 11:03:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bd03f8b5e821.80397397","contact_didar_id":"11224","title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9367776843","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":55000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زارعی","existing_deal":"YES","existing_deal_id":"local_69bd03f8b5e821.80397397","existing_deal_status":"Pending","server_time":"2026-04-23 11:03:30","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-23 11:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":55000000,"server_time":"2026-04-23 11:03:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 11:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-23 11:03:39] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_152","deal_id":"local_69e37c72611085.81763851","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:03:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_152","note_was_empty":true}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:39] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered","force":false}
[2026-04-23 11:03:39] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered"}
[2026-04-23 11:03:39] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-23 11:03:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e37c72611085.81763851","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-23 11:03:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9cb5309f177.21497359","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9cb5309f177.21497359"}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:39] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered","force":false}
[2026-04-23 11:03:39] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_152","stage_name":"deal_registered"}
[2026-04-23 11:03:39] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_152"}
[2026-04-23 11:03:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-23 11:03:43] [INFO] Checking activity reminders 
[2026-04-23 11:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:04:13] [INFO] Checking activity reminders 
[2026-04-23 11:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:04:43] [INFO] Checking activity reminders 
[2026-04-23 11:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:05:13] [INFO] Checking activity reminders 
[2026-04-23 11:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:05:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:43] [INFO] Checking activity reminders 
[2026-04-23 11:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:05:43] [INFO] Checking activity reminders 
[2026-04-23 11:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:05:46] [INFO] Activity save request {"post_data":{"contact_id":"20974","deal_id":"local_69d691395fefb5.62385943","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:05:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20974","note_was_empty":true}
[2026-04-23 11:05:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"20974","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:46] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-23 11:05:46] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-23 11:05:46] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-23 11:05:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d691395fefb5.62385943","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-23 11:05:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9cbd248c5a7.22994974","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9cbd248c5a7.22994974"}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:05:46] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-23 11:05:46] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-23 11:05:46] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-23 11:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-23 11:06:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-23 11:06:13] [INFO] Checking activity reminders 
[2026-04-23 11:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:06:14] [INFO] Checking activity reminders 
[2026-04-23 11:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:06:44] [INFO] Checking activity reminders 
[2026-04-23 11:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:07:14] [INFO] Checking activity reminders 
[2026-04-23 11:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:07:44] [INFO] Checking activity reminders 
[2026-04-23 11:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:08:14] [INFO] Checking activity reminders 
[2026-04-23 11:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:08:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:23] [INFO] Checking activity reminders 
[2026-04-23 11:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:08:36] [INFO] Activity save request {"post_data":{"contact_id":"11454","deal_id":"local_6959f383bd4665.70878914","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:08:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11454","note_was_empty":true}
[2026-04-23 11:08:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"11454","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:36] [INFO] Updating virtual stage {"contact_id":"11454","stage_name":"deal_registered","force":false}
[2026-04-23 11:08:36] [INFO] Virtual stage successfully saved {"contact_id":"11454","stage_name":"deal_registered"}
[2026-04-23 11:08:36] [INFO] Virtual stage updated after activity save {"contact_id":"11454"}
[2026-04-23 11:08:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6959f383bd4665.70878914","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-23 11:08:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9cc7c8b4ca6.28938472","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9cc7c8b4ca6.28938472"}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:36] [INFO] Updating virtual stage {"contact_id":"11454","stage_name":"deal_registered","force":false}
[2026-04-23 11:08:36] [INFO] Virtual stage successfully saved {"contact_id":"11454","stage_name":"deal_registered"}
[2026-04-23 11:08:36] [INFO] Virtual stage updated after activity save {"contact_id":"11454"}
[2026-04-23 11:08:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-23 11:08:44] [INFO] Checking activity reminders 
[2026-04-23 11:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:09:14] [INFO] Checking activity reminders 
[2026-04-23 11:09:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:09:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:09:44] [INFO] Checking activity reminders 
[2026-04-23 11:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:10:14] [INFO] Checking activity reminders 
[2026-04-23 11:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:10:44] [INFO] Checking activity reminders 
[2026-04-23 11:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:11:11] [INFO] Checking activity reminders 
[2026-04-23 11:11:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:11:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:11:14] [INFO] Checking activity reminders 
[2026-04-23 11:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:11:44] [INFO] Checking activity reminders 
[2026-04-23 11:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:12:15] [INFO] Checking activity reminders 
[2026-04-23 11:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:12:45] [INFO] Checking activity reminders 
[2026-04-23 11:12:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:12:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:13:15] [INFO] Checking activity reminders 
[2026-04-23 11:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:13:45] [INFO] Checking activity reminders 
[2026-04-23 11:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:14:15] [INFO] Checking activity reminders 
[2026-04-23 11:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:14:45] [INFO] Checking activity reminders 
[2026-04-23 11:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:15:15] [INFO] Checking activity reminders 
[2026-04-23 11:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:15:45] [INFO] Checking activity reminders 
[2026-04-23 11:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:16:15] [INFO] Checking activity reminders 
[2026-04-23 11:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:16:45] [INFO] Checking activity reminders 
[2026-04-23 11:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:17:15] [INFO] Checking activity reminders 
[2026-04-23 11:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:17:45] [INFO] Checking activity reminders 
[2026-04-23 11:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:18:15] [INFO] Checking activity reminders 
[2026-04-23 11:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:18:46] [INFO] Checking activity reminders 
[2026-04-23 11:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:19:16] [INFO] Checking activity reminders 
[2026-04-23 11:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:19:46] [INFO] Checking activity reminders 
[2026-04-23 11:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:20:16] [INFO] Checking activity reminders 
[2026-04-23 11:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:20:42] [INFO] Checking activity reminders 
[2026-04-23 11:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:20:46] [INFO] Checking activity reminders 
[2026-04-23 11:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:21:11] [INFO] Checking activity reminders 
[2026-04-23 11:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:21:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15485","person_id":"15080"}
[2026-04-23 11:21:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9743","person_id":"17555"}
[2026-04-23 11:21:16] [INFO] Checking activity reminders 
[2026-04-23 11:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:21:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-23 11:21:41] [INFO] Checking activity reminders 
[2026-04-23 11:21:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:21:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:21:46] [INFO] Checking activity reminders 
[2026-04-23 11:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:22:16] [INFO] Checking activity reminders 
[2026-04-23 11:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:22:35] [INFO] Checking activity reminders 
[2026-04-23 11:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:22:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-23 11:22:46] [INFO] Checking activity reminders 
[2026-04-23 11:22:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:22:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:23:13] [WARNING] Auth check failed - not authenticated {"session_id":"kc0f9omn9r5bf9ptkhefsrhgmm","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:23:14] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-23 11:23:16] [INFO] Checking activity reminders 
[2026-04-23 11:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:23:20] [INFO] Checking activity reminders 
[2026-04-23 11:23:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:23:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:23:42] [WARNING] Auth check failed - not authenticated {"session_id":"kc0f9omn9r5bf9ptkhefsrhgmm","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:23:42] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-23 11:23:42] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-23 11:23:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 11:23:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 11:23:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 11:23:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 11:23:47] [INFO] Checking activity reminders 
[2026-04-23 11:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:23:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:13] [INFO] Checking activity reminders 
[2026-04-23 11:24:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:24:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:24:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:17] [INFO] Checking activity reminders 
[2026-04-23 11:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:24:26] [INFO] Lead update received {"contact_id":"21039","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-23 11:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:26] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21039"}
[2026-04-23 11:24:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 11:24:43] [INFO] Checking activity reminders 
[2026-04-23 11:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:24:47] [INFO] Checking activity reminders 
[2026-04-23 11:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:24:52] [INFO] Checking activity reminders 
[2026-04-23 11:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 11:25:13] [INFO] Checking activity reminders 
[2026-04-23 11:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:13] [INFO] Lead update received {"contact_id":"1004","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-23 11:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 11:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 11:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 11:25:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1004"}
[2026-04-23 11:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 11:25:17] [INFO] Checking activity reminders 
[2026-04-23 11:25:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:25:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:46] [INFO] Checking activity reminders 
[2026-04-23 11:25:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:25:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:47] [INFO] Checking activity reminders 
[2026-04-23 11:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-23 11:25:47] [INFO] Checking activity reminders 
[2026-04-23 11:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 11:26:17] [INFO] Checking activity reminders 
[2026-04-23 11:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:26:21] [INFO] Checking activity reminders 
[2026-04-23 11:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:26:47] [INFO] Checking activity reminders 
[2026-04-23 11:26:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:26:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:26:54] [INFO] Checking activity reminders 
[2026-04-23 11:26:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:26:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:27:17] [INFO] Checking activity reminders 
[2026-04-23 11:27:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:27:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:27:47] [INFO] Checking activity reminders 
[2026-04-23 11:27:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:27:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:28:05] [INFO] Activity save request {"post_data":{"contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"28 ساله \r\n4 ساله فست فود \r\nمشهد \r\nدر کانال های دیگه هم داره پیگیری میکنه \r\nپرزنت 405 \/ نوسان گیری و سیو سود کردن \r\n15 دقیقه مجدد زمان برای متقاعد کردن و مشاوره دادن گذاشتم \r\nدر 2 مرحله پرداخت ","activity_duration":"15","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:28:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20948","note_was_empty":true}
[2026-04-23 11:28:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"20948","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:05] [INFO] Updating virtual stage {"contact_id":"20948","stage_name":"deal_registered","force":false}
[2026-04-23 11:28:05] [INFO] Virtual stage successfully saved {"contact_id":"20948","stage_name":"deal_registered"}
[2026-04-23 11:28:05] [INFO] Virtual stage updated after activity save {"contact_id":"20948"}
[2026-04-23 11:28:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4da62000db2.97020551","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-23 11:28:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9d10d4183b1.48328014","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9d10d4183b1.48328014"}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:05] [INFO] Updating virtual stage {"contact_id":"20948","stage_name":"deal_registered","force":false}
[2026-04-23 11:28:05] [INFO] Virtual stage successfully saved {"contact_id":"20948","stage_name":"deal_registered"}
[2026-04-23 11:28:05] [INFO] Virtual stage updated after activity save {"contact_id":"20948"}
[2026-04-23 11:28:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:28:17] [INFO] Checking activity reminders 
[2026-04-23 11:28:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:28:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:28:24] [INFO] Checking activity reminders 
[2026-04-23 11:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:28:47] [INFO] Checking activity reminders 
[2026-04-23 11:28:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:28:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:29:18] [INFO] Checking activity reminders 
[2026-04-23 11:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:29:48] [INFO] Checking activity reminders 
[2026-04-23 11:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:30:18] [INFO] Checking activity reminders 
[2026-04-23 11:30:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:30:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:30:48] [INFO] Checking activity reminders 
[2026-04-23 11:30:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:30:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:31:18] [INFO] Checking activity reminders 
[2026-04-23 11:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:31:48] [INFO] Checking activity reminders 
[2026-04-23 11:31:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:31:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:32:18] [INFO] Checking activity reminders 
[2026-04-23 11:32:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:32:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:32:48] [INFO] Checking activity reminders 
[2026-04-23 11:32:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:32:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:33:18] [INFO] Checking activity reminders 
[2026-04-23 11:33:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:33:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:33:48] [INFO] Checking activity reminders 
[2026-04-23 11:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:34:18] [INFO] Checking activity reminders 
[2026-04-23 11:34:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:34:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:34:49] [INFO] Checking activity reminders 
[2026-04-23 11:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:35:19] [INFO] Checking activity reminders 
[2026-04-23 11:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:35:22] [INFO] Checking activity reminders 
[2026-04-23 11:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:35:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-23 11:35:49] [INFO] Checking activity reminders 
[2026-04-23 11:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:36:19] [INFO] Checking activity reminders 
[2026-04-23 11:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:36:49] [INFO] Checking activity reminders 
[2026-04-23 11:36:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:36:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:37:19] [INFO] Checking activity reminders 
[2026-04-23 11:37:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:37:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:37:49] [INFO] Checking activity reminders 
[2026-04-23 11:37:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:37:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:38:19] [INFO] Checking activity reminders 
[2026-04-23 11:38:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:38:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:38:49] [INFO] Checking activity reminders 
[2026-04-23 11:38:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:38:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:39:19] [INFO] Checking activity reminders 
[2026-04-23 11:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:39:29] [WARNING] Auth check failed - not authenticated {"session_id":"qnplbes9ostbp91v4semvvjkpr","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:39:30] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-23 11:39:37] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 11:39:37","session_id":"3q22ga7bjn3vga5cupq7jmnpc3"}
[2026-04-23 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:39:37] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20948","is_new_deal":false}
[2026-04-23 11:39:37] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:39:37] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:39:37] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:39:37] [INFO] getContactPrimaryPhone called {"contact_id":"20948"}
[2026-04-23 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:39:37] [INFO] getContactPrimaryPhone result {"contact_id":"20948","person_found":true,"primary_phone":"9152251602"}
[2026-04-23 11:39:37] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152251602"}
[2026-04-23 11:39:37] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152251602","contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 11:39:37"}
[2026-04-23 11:39:37] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","existing_deal_found":true,"existing_contact_id":"20948","existing_title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 11:39:37"}
[2026-04-23 11:39:37] [INFO] DealController.save validated payments {"deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-23 11:39:37] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20948","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 11:39:37] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d4da62000db2.97020551","contact_didar_id":"20948","title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9152251602","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":13500000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"احمد وحدتی","existing_deal":"YES","existing_deal_id":"local_69d4da62000db2.97020551","existing_deal_status":"Pending","server_time":"2026-04-23 11:39:37","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-23 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:39:37] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":13500000,"server_time":"2026-04-23 11:39:37","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 11:39:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:39:47] [WARNING] Auth check failed - not authenticated {"session_id":"qnplbes9ostbp91v4semvvjkpr","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:39:47] [WARNING] Login attempt failed - wrong password {"user_id":"6","identifier":"امیر سهرابی"}
[2026-04-23 11:39:50] [INFO] Checking activity reminders 
[2026-04-23 11:39:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:39:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:40:00] [WARNING] Auth check failed - not authenticated {"session_id":"qnplbes9ostbp91v4semvvjkpr","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:40:00] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-23 11:40:00] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-23 11:40:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 11:40:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 11:40:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 11:40:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 11:40:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:20] [INFO] Checking activity reminders 
[2026-04-23 11:40:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:40:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:40:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:30] [INFO] Checking activity reminders 
[2026-04-23 11:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:40:30] [INFO] Lead update received {"contact_id":"local_698722605ac306.97992795","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-23 11:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:30] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_698722605ac306.97992795"}
[2026-04-23 11:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:40:50] [INFO] Checking activity reminders 
[2026-04-23 11:40:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:40:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:41:20] [INFO] Checking activity reminders 
[2026-04-23 11:41:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:41:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:41:50] [INFO] Checking activity reminders 
[2026-04-23 11:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:42:06] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 11:42:06","session_id":"3q22ga7bjn3vga5cupq7jmnpc3"}
[2026-04-23 11:42:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:42:06] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20948","is_new_deal":false}
[2026-04-23 11:42:06] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:42:06] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:42:06] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 11:42:06] [INFO] getContactPrimaryPhone called {"contact_id":"20948"}
[2026-04-23 11:42:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:42:06] [INFO] getContactPrimaryPhone result {"contact_id":"20948","person_found":true,"primary_phone":"9152251602"}
[2026-04-23 11:42:06] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152251602"}
[2026-04-23 11:42:06] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152251602","contact_id":"20948","deal_id":"local_69d4da62000db2.97020551","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 11:42:06"}
[2026-04-23 11:42:06] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","existing_deal_found":true,"existing_contact_id":"20948","existing_title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 11:42:06"}
[2026-04-23 11:42:06] [INFO] DealController.save validated payments {"deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-23 11:42:06] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20948","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 11:42:06] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d4da62000db2.97020551","contact_didar_id":"20948","title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9152251602","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":13500000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"احمد وحدتی","existing_deal":"YES","existing_deal_id":"local_69d4da62000db2.97020551","existing_deal_status":"Pending","server_time":"2026-04-23 11:42:06","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-23 11:42:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:42:06] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d4da62000db2.97020551","contact_id":"20948","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9152251602 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":13500000,"server_time":"2026-04-23 11:42:06","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 11:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:42:20] [INFO] Checking activity reminders 
[2026-04-23 11:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:42:50] [INFO] Checking activity reminders 
[2026-04-23 11:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:43:20] [INFO] Checking activity reminders 
[2026-04-23 11:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:43:50] [INFO] Checking activity reminders 
[2026-04-23 11:43:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:43:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:44:20] [INFO] Checking activity reminders 
[2026-04-23 11:44:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:44:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:44:51] [INFO] Checking activity reminders 
[2026-04-23 11:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:45:21] [INFO] Checking activity reminders 
[2026-04-23 11:45:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:45:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:45:32] [INFO] Checking activity reminders 
[2026-04-23 11:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:45:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:45:51] [INFO] Checking activity reminders 
[2026-04-23 11:45:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:45:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:46:03] [INFO] Checking activity reminders 
[2026-04-23 11:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:46:21] [INFO] Checking activity reminders 
[2026-04-23 11:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:46:33] [INFO] Checking activity reminders 
[2026-04-23 11:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:46:51] [INFO] Checking activity reminders 
[2026-04-23 11:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:46:51] [INFO] Activity save request {"post_data":{"contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 بار پیگیری متقاعد کردم باشه کانال 6ماهه \/ زمین گذاشته برای فروش \/ 2تا ماشین ساینا خریده \r\nنقد نیست نقد بشه اطلاع میده خودش بهم این روزا","activity_duration":"40","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"برگزاری دوره","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:46:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:46:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:46:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_698722605ac306.97992795","note_was_empty":true}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:46:51] [INFO] Updating virtual stage {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered","force":false}
[2026-04-23 11:46:51] [INFO] Virtual stage successfully saved {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered"}
[2026-04-23 11:46:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_698722605ac306.97992795"}
[2026-04-23 11:46:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_698722605bf2c","stage":"برگزاری دوره","status_change":null}
[2026-04-23 11:46:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9d573a4a1b5.77087143","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:46:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9d573a4a1b5.77087143"}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:46:51] [INFO] Updating virtual stage {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered","force":false}
[2026-04-23 11:46:51] [INFO] Virtual stage successfully saved {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered"}
[2026-04-23 11:46:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_698722605ac306.97992795"}
[2026-04-23 11:46:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:03] [INFO] Checking activity reminders 
[2026-04-23 11:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:47:20] [INFO] Activity save request {"post_data":{"contact_id":"local_698722605ac306.97992795","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 بار پیگیری متقاعد کردم باشه کانال 6ماهه \/ زمین گذاشته برای فروش \/ 2تا ماشین ساینا خریده \r\nنقد نیست نقد بشه اطلاع میده خودش بهم این روزا","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 11:47:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_698722605ac306.97992795","note_was_empty":true}
[2026-04-23 11:47:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9d590062fb2.92159516","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9d590062fb2.92159516"}
[2026-04-23 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:20] [INFO] Updating virtual stage {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered","force":false}
[2026-04-23 11:47:20] [INFO] Virtual stage successfully saved {"contact_id":"local_698722605ac306.97992795","stage_name":"deal_registered"}
[2026-04-23 11:47:20] [INFO] Virtual stage updated after activity save {"contact_id":"local_698722605ac306.97992795"}
[2026-04-23 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 11:47:21] [INFO] Checking activity reminders 
[2026-04-23 11:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:47:36] [INFO] Checking activity reminders 
[2026-04-23 11:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:47:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-23 11:47:51] [INFO] Checking activity reminders 
[2026-04-23 11:47:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:47:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:47:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 11:47:58] [INFO] Checking activity reminders 
[2026-04-23 11:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:04] [INFO] Checking activity reminders 
[2026-04-23 11:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:16] [INFO] Checking activity reminders 
[2026-04-23 11:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:21] [INFO] Checking activity reminders 
[2026-04-23 11:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:21] [INFO] Checking activity reminders 
[2026-04-23 11:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:25] [INFO] Checking activity reminders 
[2026-04-23 11:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:38] [INFO] Checking activity reminders 
[2026-04-23 11:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:48:51] [INFO] Checking activity reminders 
[2026-04-23 11:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:49:08] [INFO] Checking activity reminders 
[2026-04-23 11:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:49:21] [INFO] Checking activity reminders 
[2026-04-23 11:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:49:38] [INFO] Checking activity reminders 
[2026-04-23 11:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:49:52] [INFO] Checking activity reminders 
[2026-04-23 11:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:50:08] [INFO] Checking activity reminders 
[2026-04-23 11:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:50:22] [INFO] Checking activity reminders 
[2026-04-23 11:50:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:50:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:50:38] [INFO] Checking activity reminders 
[2026-04-23 11:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:50:52] [INFO] Checking activity reminders 
[2026-04-23 11:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:51:08] [INFO] Checking activity reminders 
[2026-04-23 11:51:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:51:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:51:22] [INFO] Checking activity reminders 
[2026-04-23 11:51:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:51:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:51:38] [INFO] Checking activity reminders 
[2026-04-23 11:51:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:51:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:51:52] [INFO] Checking activity reminders 
[2026-04-23 11:51:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:51:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:08] [INFO] Checking activity reminders 
[2026-04-23 11:52:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:09] [INFO] Checking activity reminders 
[2026-04-23 11:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:22] [INFO] Checking activity reminders 
[2026-04-23 11:52:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:38] [INFO] Checking activity reminders 
[2026-04-23 11:52:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:45] [INFO] Checking activity reminders 
[2026-04-23 11:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:52:52] [INFO] Checking activity reminders 
[2026-04-23 11:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:08] [INFO] Checking activity reminders 
[2026-04-23 11:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:08] [INFO] Checking activity reminders 
[2026-04-23 11:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-23 11:53:22] [INFO] Checking activity reminders 
[2026-04-23 11:53:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:38] [INFO] Checking activity reminders 
[2026-04-23 11:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:38] [INFO] Checking activity reminders 
[2026-04-23 11:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:53:52] [INFO] Checking activity reminders 
[2026-04-23 11:53:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:53:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:54:09] [INFO] Checking activity reminders 
[2026-04-23 11:54:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:54:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:54:22] [INFO] Checking activity reminders 
[2026-04-23 11:54:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:54:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:54:53] [INFO] Checking activity reminders 
[2026-04-23 11:54:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:54:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:55:23] [INFO] Checking activity reminders 
[2026-04-23 11:55:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:55:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:55:53] [INFO] Checking activity reminders 
[2026-04-23 11:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:17] [INFO] Checking activity reminders 
[2026-04-23 11:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:23] [INFO] Checking activity reminders 
[2026-04-23 11:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:26] [WARNING] Auth check failed - not authenticated {"session_id":"c139s5j20nb7hug9cfnlcq1ojs","session_keys":[],"action":"log_client_event"}
[2026-04-23 11:56:26] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-23 11:56:26] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-23 11:56:27] [INFO] Checking activity reminders 
[2026-04-23 11:56:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 11:56:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 11:56:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 11:56:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 11:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-23 11:56:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-23 11:56:46] [INFO] Checking activity reminders 
[2026-04-23 11:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:48] [INFO] Checking activity reminders 
[2026-04-23 11:56:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:56:53] [INFO] Checking activity reminders 
[2026-04-23 11:56:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:56:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:09] [INFO] Checking activity reminders 
[2026-04-23 11:57:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:18] [INFO] Checking activity reminders 
[2026-04-23 11:57:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:23] [INFO] Checking activity reminders 
[2026-04-23 11:57:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:48] [INFO] Checking activity reminders 
[2026-04-23 11:57:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:53] [INFO] Checking activity reminders 
[2026-04-23 11:57:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:57:54] [INFO] Checking activity reminders 
[2026-04-23 11:57:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:57:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:58:07] [INFO] Checking activity reminders 
[2026-04-23 11:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:58:18] [INFO] Checking activity reminders 
[2026-04-23 11:58:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:58:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:58:23] [INFO] Checking activity reminders 
[2026-04-23 11:58:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:58:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:58:48] [INFO] Checking activity reminders 
[2026-04-23 11:58:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:58:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:58:53] [INFO] Checking activity reminders 
[2026-04-23 11:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:59:18] [INFO] Checking activity reminders 
[2026-04-23 11:59:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:59:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:59:23] [INFO] Checking activity reminders 
[2026-04-23 11:59:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:59:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:59:43] [INFO] Checking activity reminders 
[2026-04-23 11:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:59:48] [INFO] Checking activity reminders 
[2026-04-23 11:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 11:59:53] [INFO] Checking activity reminders 
[2026-04-23 11:59:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 11:59:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:00:18] [INFO] Checking activity reminders 
[2026-04-23 12:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:00:23] [WARNING] Auth check failed - not authenticated {"session_id":"7i0cd88ai6odamvcf8dafejtg1","session_keys":[],"action":"log_client_event"}
[2026-04-23 12:00:23] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-23 12:00:23] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-23 12:00:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 12:00:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 12:00:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 12:00:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 12:00:24] [INFO] Checking activity reminders 
[2026-04-23 12:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:00:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:00:48] [INFO] Checking activity reminders 
[2026-04-23 12:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:00:54] [INFO] Checking activity reminders 
[2026-04-23 12:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:00:54] [INFO] Checking activity reminders 
[2026-04-23 12:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:18] [INFO] Checking activity reminders 
[2026-04-23 12:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:22] [INFO] Checking activity reminders 
[2026-04-23 12:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:24] [INFO] Checking activity reminders 
[2026-04-23 12:01:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:48] [INFO] Checking activity reminders 
[2026-04-23 12:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:52] [INFO] Checking activity reminders 
[2026-04-23 12:01:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:01:54] [INFO] Checking activity reminders 
[2026-04-23 12:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:19] [INFO] Checking activity reminders 
[2026-04-23 12:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:22] [INFO] Checking activity reminders 
[2026-04-23 12:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:24] [INFO] Checking activity reminders 
[2026-04-23 12:02:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:49] [INFO] Checking activity reminders 
[2026-04-23 12:02:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:54] [INFO] Checking activity reminders 
[2026-04-23 12:02:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:02:59] [INFO] Checking activity reminders 
[2026-04-23 12:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:03:19] [INFO] Checking activity reminders 
[2026-04-23 12:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:03:24] [INFO] Checking activity reminders 
[2026-04-23 12:03:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:03:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:03:49] [INFO] Checking activity reminders 
[2026-04-23 12:03:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:03:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:03:54] [INFO] Checking activity reminders 
[2026-04-23 12:03:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:03:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:04:10] [INFO] Checking activity reminders 
[2026-04-23 12:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:04:19] [INFO] Checking activity reminders 
[2026-04-23 12:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:04:24] [INFO] Checking activity reminders 
[2026-04-23 12:04:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:04:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:04:49] [INFO] Checking activity reminders 
[2026-04-23 12:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:04:54] [INFO] Checking activity reminders 
[2026-04-23 12:04:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:04:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:05:19] [INFO] Checking activity reminders 
[2026-04-23 12:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:05:24] [INFO] Checking activity reminders 
[2026-04-23 12:05:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:05:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:05:49] [INFO] Checking activity reminders 
[2026-04-23 12:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:05:55] [INFO] Checking activity reminders 
[2026-04-23 12:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:06:19] [INFO] Checking activity reminders 
[2026-04-23 12:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:06:25] [INFO] Checking activity reminders 
[2026-04-23 12:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:06:42] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5cf1280cb81.11074755","deal_id":"local_69b5cf1284c22","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\n","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:06:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b5cf1280cb81.11074755","note_was_empty":true}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:42] [INFO] Updating virtual stage {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered","force":false}
[2026-04-23 12:06:42] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered"}
[2026-04-23 12:06:42] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5cf1280cb81.11074755"}
[2026-04-23 12:06:42] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5cf1284c22","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-23 12:06:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9da1aa9d0d9.65970491","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9da1aa9d0d9.65970491"}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:42] [INFO] Updating virtual stage {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered","force":false}
[2026-04-23 12:06:42] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5cf1280cb81.11074755","stage_name":"deal_registered"}
[2026-04-23 12:06:42] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5cf1280cb81.11074755"}
[2026-04-23 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-23 12:06:49] [INFO] Checking activity reminders 
[2026-04-23 12:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:06:55] [INFO] Checking activity reminders 
[2026-04-23 12:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:07:20] [INFO] Checking activity reminders 
[2026-04-23 12:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:07:25] [INFO] Checking activity reminders 
[2026-04-23 12:07:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:07:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:07:40] [INFO] Checking activity reminders 
[2026-04-23 12:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:07:50] [INFO] Checking activity reminders 
[2026-04-23 12:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:07:55] [INFO] Checking activity reminders 
[2026-04-23 12:07:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:07:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:08:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:08:20] [INFO] Checking activity reminders 
[2026-04-23 12:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:08:25] [INFO] Checking activity reminders 
[2026-04-23 12:08:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:08:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:08:36] [INFO] Checking activity reminders 
[2026-04-23 12:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:08:50] [INFO] Checking activity reminders 
[2026-04-23 12:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:08:55] [INFO] Checking activity reminders 
[2026-04-23 12:08:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:08:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:09:20] [INFO] Checking activity reminders 
[2026-04-23 12:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:09:25] [INFO] Checking activity reminders 
[2026-04-23 12:09:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:09:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:09:50] [INFO] Checking activity reminders 
[2026-04-23 12:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:09:55] [INFO] Checking activity reminders 
[2026-04-23 12:09:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:09:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:10:20] [INFO] Checking activity reminders 
[2026-04-23 12:10:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:10:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:10:25] [INFO] Checking activity reminders 
[2026-04-23 12:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:10:50] [INFO] Checking activity reminders 
[2026-04-23 12:10:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:10:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:10:55] [INFO] Checking activity reminders 
[2026-04-23 12:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:11:20] [INFO] Checking activity reminders 
[2026-04-23 12:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:11:25] [INFO] Checking activity reminders 
[2026-04-23 12:11:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:11:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:11:50] [INFO] Checking activity reminders 
[2026-04-23 12:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:11:53] [INFO] Checking activity reminders 
[2026-04-23 12:11:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:11:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:11:55] [INFO] Checking activity reminders 
[2026-04-23 12:11:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:11:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:21] [INFO] Checking activity reminders 
[2026-04-23 12:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:24] [INFO] Checking activity reminders 
[2026-04-23 12:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:26] [INFO] Checking activity reminders 
[2026-04-23 12:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:49] [INFO] Activity save request {"post_data":{"contact_id":"12763","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"قبل از شلوغی ها ملک شخصی کل سرمایه خریده \r\nبرای کانال فعلا سرمایه نداره \r\nپرزنت کانال \r\nارسال لینک عمومی در بله ","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:12:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:12:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:12:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12763","note_was_empty":true}
[2026-04-23 12:12:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"12763","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 12:12:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9db896b9146.26006293","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:12:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9db896b9146.26006293"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:12:49] [INFO] Updating virtual stage {"contact_id":"12763","stage_name":"deal_registered","force":false}
[2026-04-23 12:12:49] [INFO] Virtual stage successfully saved {"contact_id":"12763","stage_name":"deal_registered"}
[2026-04-23 12:12:49] [INFO] Virtual stage updated after activity save {"contact_id":"12763"}
[2026-04-23 12:12:49] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 12:12:49","session_id":"7i0cd88ai6odamvcf8dafejtg1"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:12:49] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_698722605ac306.97992795","is_new_deal":false}
[2026-04-23 12:12:49] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-23 12:12:49] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:12:49] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:12:49] [INFO] getContactPrimaryPhone called {"contact_id":"local_698722605ac306.97992795"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:12:49] [INFO] getContactPrimaryPhone result {"contact_id":"local_698722605ac306.97992795","person_found":true,"primary_phone":"9143888219"}
[2026-04-23 12:12:49] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9143888219"}
[2026-04-23 12:12:49] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9143888219","contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-23 12:12:49"}
[2026-04-23 12:12:49] [INFO] DealController.save existing deal lookup {"deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","existing_deal_found":true,"existing_contact_id":"local_698722605ac306.97992795","existing_title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-23 12:12:49"}
[2026-04-23 12:12:49] [INFO] DealController.save validated payments {"deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","payments_count":1,"status":"pending","pipeline_stage":"برگزاری دوره"}
[2026-04-23 12:12:49] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_698722605ac306.97992795","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-23 12:12:49] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_698722605bf2c","contact_didar_id":"local_698722605ac306.97992795","title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9143888219","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای امید معظم","existing_deal":"YES","existing_deal_id":"local_698722605bf2c","existing_deal_status":"Pending","server_time":"2026-04-23 12:12:49","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:12:49] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"برگزاری دوره","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-23 12:12:49","ip_address":"5.116.252.108","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12763","person_id":"19210"}
[2026-04-23 12:12:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:12:51] [INFO] Checking activity reminders 
[2026-04-23 12:12:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:54] [INFO] Checking activity reminders 
[2026-04-23 12:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:12:56] [INFO] Checking activity reminders 
[2026-04-23 12:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:13:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 12:13:12","session_id":"7i0cd88ai6odamvcf8dafejtg1"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"local_698722605ac306.97992795","is_new_deal":false}
[2026-04-23 12:13:12] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-23 12:13:12] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:13:12] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:13:12] [INFO] getContactPrimaryPhone called {"contact_id":"local_698722605ac306.97992795"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [INFO] getContactPrimaryPhone result {"contact_id":"local_698722605ac306.97992795","person_found":true,"primary_phone":"9143888219"}
[2026-04-23 12:13:12] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9143888219"}
[2026-04-23 12:13:12] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9143888219","contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-23 12:13:12"}
[2026-04-23 12:13:12] [INFO] DealController.save existing deal lookup {"deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","existing_deal_found":true,"existing_contact_id":"local_698722605ac306.97992795","existing_title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-23 12:13:12"}
[2026-04-23 12:13:12] [INFO] DealController.save validated payments {"deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-23 12:13:12] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_698722605ac306.97992795","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-23 12:13:12] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_698722605bf2c","contact_didar_id":"local_698722605ac306.97992795","title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9143888219","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای امید معظم","existing_deal":"YES","existing_deal_id":"local_698722605bf2c","existing_deal_status":"Pending","server_time":"2026-04-23 12:13:12","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [INFO] Deal success processed {"contact_id":"local_698722605ac306.97992795","person_name":"اقای امید معظم","products_count":1}
[2026-04-23 12:13:12] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_698722605bf2c","contact_id":"local_698722605ac306.97992795","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9143888219 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-23 12:13:12","ip_address":"5.116.252.108","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [INFO] Updating virtual stage {"contact_id":"local_698722605ac306.97992795","stage_name":"with_purchase","force":true}
[2026-04-23 12:13:12] [INFO] Virtual stage successfully saved {"contact_id":"local_698722605ac306.97992795","stage_name":"with_purchase"}
[2026-04-23 12:13:12] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_698722605ac306.97992795","deal_id":"local_698722605bf2c","target_stage":"with_purchase"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698722605ac306.97992795","person_id":"21582"}
[2026-04-23 12:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:21] [INFO] Checking activity reminders 
[2026-04-23 12:13:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:13:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:13:26] [INFO] Checking activity reminders 
[2026-04-23 12:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:13:41] [INFO] Activity save request {"post_data":{"contact_id":"20955","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:13:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20955","note_was_empty":true}
[2026-04-23 12:13:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"20955","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 12:13:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9dbbdce2a99.33628187","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9dbbdce2a99.33628187"}
[2026-04-23 12:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:41] [INFO] Updating virtual stage {"contact_id":"20955","stage_name":"deal_registered","force":false}
[2026-04-23 12:13:41] [INFO] Virtual stage successfully saved {"contact_id":"20955","stage_name":"deal_registered"}
[2026-04-23 12:13:41] [INFO] Virtual stage updated after activity save {"contact_id":"20955"}
[2026-04-23 12:13:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-23 12:13:56] [INFO] Checking activity reminders 
[2026-04-23 12:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:14:26] [INFO] Checking activity reminders 
[2026-04-23 12:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:14:56] [INFO] Checking activity reminders 
[2026-04-23 12:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:15:27] [INFO] Checking activity reminders 
[2026-04-23 12:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:15:47] [INFO] Checking activity reminders 
[2026-04-23 12:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:15:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 12:16:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:16:17] [INFO] Checking activity reminders 
[2026-04-23 12:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:16:17] [INFO] Checking activity reminders 
[2026-04-23 12:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:16:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:16:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:16:20] [INFO] generateDealTitle result {"contact_id":"1004","person_name":"سلیمانی سلیمانی","mobile":"9126515659","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9126515659"}
[2026-04-23 12:16:42] [INFO] Checking activity reminders 
[2026-04-23 12:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:16:47] [INFO] Checking activity reminders 
[2026-04-23 12:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:17:21] [INFO] Checking activity reminders 
[2026-04-23 12:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:17:43] [INFO] Checking activity reminders 
[2026-04-23 12:17:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:17:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:17:46] [INFO] Checking activity reminders 
[2026-04-23 12:17:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:17:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:17:51] [INFO] Checking activity reminders 
[2026-04-23 12:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:18:16] [INFO] Checking activity reminders 
[2026-04-23 12:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:18:21] [INFO] Checking activity reminders 
[2026-04-23 12:18:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:18:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:18:39] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1004","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 12:18:39","session_id":"av3jn1i1m34lu73io7ts5sjth7"}
[2026-04-23 12:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:39] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1004","is_new_deal":true}
[2026-04-23 12:18:39] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-23 12:18:39] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:18:39] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-23 12:18:39] [INFO] getContactPrimaryPhone called {"contact_id":"1004"}
[2026-04-23 12:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:39] [INFO] getContactPrimaryPhone result {"contact_id":"1004","person_found":true,"primary_phone":"9126515659"}
[2026-04-23 12:18:39] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126515659"}
[2026-04-23 12:18:39] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126515659","contact_id":"1004","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-23 12:18:39"}
[2026-04-23 12:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:39] [INFO] generateDealTitle result {"contact_id":"1004","person_name":"سلیمانی سلیمانی","mobile":"9126515659","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9126515659"}
[2026-04-23 12:18:39] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"1004","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-23 12:18:39] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"1004","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 12:18:39] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"1004","title":"معامله دوم 9126515659 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9126515659","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":25000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"سلیمانی سلیمانی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-23 12:18:39","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-23 12:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:39] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-23 12:18:39] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"1004","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9126515659 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":25000000,"server_time":"2026-04-23 12:18:39","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 12:18:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:46] [INFO] Checking activity reminders 
[2026-04-23 12:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:18:52] [INFO] Checking activity reminders 
[2026-04-23 12:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:18:59] [INFO] Activity save request {"post_data":{"contact_id":"1004","deal_id":"local_69e9dce7896c06.65237231","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"حسبا ملی مرضیه زده 25ت \/ تسویه رو گفت اردیبهشت دیدم تسویه نکرده این مدت پیگیری شد","activity_duration":"15","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:18:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1004","note_was_empty":true}
[2026-04-23 12:18:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"1004","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:59] [INFO] Updating virtual stage {"contact_id":"1004","stage_name":"deal_registered","force":false}
[2026-04-23 12:18:59] [INFO] Virtual stage successfully saved {"contact_id":"1004","stage_name":"deal_registered"}
[2026-04-23 12:18:59] [INFO] Virtual stage updated after activity save {"contact_id":"1004"}
[2026-04-23 12:18:59] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e9dce7896c06.65237231","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-23 12:18:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9dcfb771327.81237894","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9dcfb771327.81237894"}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:18:59] [INFO] Updating virtual stage {"contact_id":"1004","stage_name":"deal_registered","force":false}
[2026-04-23 12:18:59] [INFO] Virtual stage successfully saved {"contact_id":"1004","stage_name":"deal_registered"}
[2026-04-23 12:18:59] [INFO] Virtual stage updated after activity save {"contact_id":"1004"}
[2026-04-23 12:18:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:19:16] [INFO] Checking activity reminders 
[2026-04-23 12:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:19:34] [INFO] Checking activity reminders 
[2026-04-23 12:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:19:36] [INFO] Checking activity reminders 
[2026-04-23 12:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:19:38] [INFO] Checking activity reminders 
[2026-04-23 12:19:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:19:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:19:46] [INFO] Checking activity reminders 
[2026-04-23 12:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:20:02] [INFO] Checking activity reminders 
[2026-04-23 12:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 12:20:16] [INFO] Checking activity reminders 
[2026-04-23 12:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:20:19] [INFO] Lead update received {"contact_id":"9978","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-23 12:20:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 12:20:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 12:20:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9978"}
[2026-04-23 12:20:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-23 12:20:26] [INFO] Checking activity reminders 
[2026-04-23 12:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:20:56] [INFO] Checking activity reminders 
[2026-04-23 12:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:21:26] [INFO] Checking activity reminders 
[2026-04-23 12:21:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:21:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:21:33] [INFO] Checking activity reminders 
[2026-04-23 12:21:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:21:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:21:35] [INFO] Checking activity reminders 
[2026-04-23 12:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:21:43] [INFO] Checking activity reminders 
[2026-04-23 12:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:22:06] [INFO] Checking activity reminders 
[2026-04-23 12:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:22:13] [INFO] Checking activity reminders 
[2026-04-23 12:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:22:36] [INFO] Checking activity reminders 
[2026-04-23 12:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:22:43] [INFO] Checking activity reminders 
[2026-04-23 12:22:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:22:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:22:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-23 12:22:51] [INFO] Checking activity reminders 
[2026-04-23 12:22:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:22:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:23:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:23:21] [INFO] Checking activity reminders 
[2026-04-23 12:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:23:52] [INFO] Checking activity reminders 
[2026-04-23 12:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:23:53] [INFO] Checking activity reminders 
[2026-04-23 12:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:22] [INFO] Checking activity reminders 
[2026-04-23 12:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:23] [INFO] Checking activity reminders 
[2026-04-23 12:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:24:32] [INFO] Checking activity reminders 
[2026-04-23 12:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:44] [INFO] Checking activity reminders 
[2026-04-23 12:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:52] [INFO] Checking activity reminders 
[2026-04-23 12:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:53] [INFO] Checking activity reminders 
[2026-04-23 12:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:24:54] [INFO] Checking activity reminders 
[2026-04-23 12:24:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:24:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:25:17] [INFO] Activity save request {"post_data":{"contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه اخر خرداد \/ کارمند حسابداری \/ پرزنت هوش کارشناسی میخواست فقط کارشناسی  باشه گفتم معامله سد خوبی میده زهرایی رو مثال زدم خبر میده 15ت","activity_duration":"25","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:25:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21039","note_was_empty":true}
[2026-04-23 12:25:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"21039","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:17] [INFO] Updating virtual stage {"contact_id":"21039","stage_name":"deal_registered","force":false}
[2026-04-23 12:25:17] [INFO] Virtual stage successfully saved {"contact_id":"21039","stage_name":"deal_registered"}
[2026-04-23 12:25:17] [INFO] Virtual stage updated after activity save {"contact_id":"21039"}
[2026-04-23 12:25:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b2c55f3bc7a8.91418428","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-23 12:25:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9de75a7daa4.16699666","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9de75a7daa4.16699666"}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:17] [INFO] Updating virtual stage {"contact_id":"21039","stage_name":"deal_registered","force":false}
[2026-04-23 12:25:17] [INFO] Virtual stage successfully saved {"contact_id":"21039","stage_name":"deal_registered"}
[2026-04-23 12:25:17] [INFO] Virtual stage updated after activity save {"contact_id":"21039"}
[2026-04-23 12:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-23 12:25:22] [INFO] Checking activity reminders 
[2026-04-23 12:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:25:23] [INFO] Checking activity reminders 
[2026-04-23 12:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:25:23] [INFO] Checking activity reminders 
[2026-04-23 12:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:25:52] [INFO] Checking activity reminders 
[2026-04-23 12:25:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:25:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:25:53] [INFO] Checking activity reminders 
[2026-04-23 12:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:26:22] [INFO] Checking activity reminders 
[2026-04-23 12:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:26:23] [INFO] Checking activity reminders 
[2026-04-23 12:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:26:52] [INFO] Checking activity reminders 
[2026-04-23 12:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:26:53] [INFO] Checking activity reminders 
[2026-04-23 12:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:27:22] [INFO] Checking activity reminders 
[2026-04-23 12:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:27:23] [INFO] Checking activity reminders 
[2026-04-23 12:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:27:52] [INFO] Checking activity reminders 
[2026-04-23 12:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:27:53] [INFO] Checking activity reminders 
[2026-04-23 12:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:28:22] [INFO] Checking activity reminders 
[2026-04-23 12:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:28:23] [INFO] Checking activity reminders 
[2026-04-23 12:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:28:53] [INFO] Checking activity reminders 
[2026-04-23 12:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:28:53] [INFO] Checking activity reminders 
[2026-04-23 12:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:29:23] [INFO] Checking activity reminders 
[2026-04-23 12:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:29:23] [INFO] Checking activity reminders 
[2026-04-23 12:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:29:53] [INFO] Checking activity reminders 
[2026-04-23 12:29:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:29:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:29:54] [INFO] Checking activity reminders 
[2026-04-23 12:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:30:23] [INFO] Checking activity reminders 
[2026-04-23 12:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:30:24] [INFO] Checking activity reminders 
[2026-04-23 12:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:30:53] [INFO] Checking activity reminders 
[2026-04-23 12:30:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:30:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:30:54] [INFO] Checking activity reminders 
[2026-04-23 12:30:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:30:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:31:23] [INFO] Checking activity reminders 
[2026-04-23 12:31:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:31:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:31:24] [INFO] Checking activity reminders 
[2026-04-23 12:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:31:53] [INFO] Checking activity reminders 
[2026-04-23 12:31:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:31:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:31:54] [INFO] Checking activity reminders 
[2026-04-23 12:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:31:58] [INFO] Activity save request {"post_data":{"contact_id":"5747","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در کانال پرواز و سواد کوهی بوده \r\nمشاوره ی اشتباه گرفته \/ متضرر شده \r\n4 ساله استاد پیگیری میکنه \r\nهر بار 15 دقیقه مشاوره جهت سرمایه گذاری و نحوه ی سیگنال دهی استاد توضیح میدم \r\nمجدد شماره کارت دریافت کرد \r\nبهش گفتم 6 ماهه در یافت کن در صورت تایید تمدید کنید \r\nدر ننهایت خودش تماس میگیره لازم به پیگیری من نیست ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:31:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:31:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:31:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:31:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:31:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5747","note_was_empty":true}
[2026-04-23 12:31:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"5747","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 12:31:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e0069d3396.07984428","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:31:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:31:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e0069d3396.07984428"}
[2026-04-23 12:31:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:31:58] [INFO] Updating virtual stage {"contact_id":"5747","stage_name":"deal_registered","force":false}
[2026-04-23 12:31:58] [INFO] Virtual stage successfully saved {"contact_id":"5747","stage_name":"deal_registered"}
[2026-04-23 12:31:58] [INFO] Virtual stage updated after activity save {"contact_id":"5747"}
[2026-04-23 12:31:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5747","person_id":"2839"}
[2026-04-23 12:32:23] [INFO] Checking activity reminders 
[2026-04-23 12:32:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:32:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:32:24] [INFO] Checking activity reminders 
[2026-04-23 12:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:32:53] [INFO] Checking activity reminders 
[2026-04-23 12:32:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:32:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:32:54] [INFO] Checking activity reminders 
[2026-04-23 12:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:33:23] [INFO] Checking activity reminders 
[2026-04-23 12:33:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:33:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:33:24] [INFO] Checking activity reminders 
[2026-04-23 12:33:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:33:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:33:53] [INFO] Checking activity reminders 
[2026-04-23 12:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:33:54] [INFO] Checking activity reminders 
[2026-04-23 12:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:34:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 12:34:23] [INFO] Checking activity reminders 
[2026-04-23 12:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:34:24] [INFO] Checking activity reminders 
[2026-04-23 12:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:34:54] [INFO] Checking activity reminders 
[2026-04-23 12:34:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:34:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:34:54] [INFO] Checking activity reminders 
[2026-04-23 12:34:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:34:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:35:24] [INFO] Checking activity reminders 
[2026-04-23 12:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:35:24] [INFO] Checking activity reminders 
[2026-04-23 12:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:35:54] [INFO] Checking activity reminders 
[2026-04-23 12:35:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:35:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:35:54] [INFO] Checking activity reminders 
[2026-04-23 12:35:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:35:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:36:24] [INFO] Checking activity reminders 
[2026-04-23 12:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:36:25] [INFO] Checking activity reminders 
[2026-04-23 12:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:36:54] [INFO] Checking activity reminders 
[2026-04-23 12:36:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:36:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:36:55] [INFO] Checking activity reminders 
[2026-04-23 12:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:37:24] [INFO] Checking activity reminders 
[2026-04-23 12:37:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:37:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:37:25] [INFO] Checking activity reminders 
[2026-04-23 12:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:37:54] [INFO] Checking activity reminders 
[2026-04-23 12:37:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:37:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:37:55] [INFO] Checking activity reminders 
[2026-04-23 12:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:38:24] [INFO] Checking activity reminders 
[2026-04-23 12:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:38:25] [INFO] Checking activity reminders 
[2026-04-23 12:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:38:54] [INFO] Checking activity reminders 
[2026-04-23 12:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:38:55] [INFO] Checking activity reminders 
[2026-04-23 12:38:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:38:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:03] [INFO] Checking activity reminders 
[2026-04-23 12:39:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:07] [INFO] Checking activity reminders 
[2026-04-23 12:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:17] [INFO] Activity save request {"post_data":{"contact_id":"12975","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:39:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:39:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:39:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12975","note_was_empty":true}
[2026-04-23 12:39:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"12975","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 12:39:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e1bd4dd893.38270480","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:39:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e1bd4dd893.38270480"}
[2026-04-23 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:39:17] [INFO] Updating virtual stage {"contact_id":"12975","stage_name":"deal_registered","force":false}
[2026-04-23 12:39:17] [INFO] Virtual stage successfully saved {"contact_id":"12975","stage_name":"deal_registered"}
[2026-04-23 12:39:17] [INFO] Virtual stage updated after activity save {"contact_id":"12975"}
[2026-04-23 12:39:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12975","person_id":"1599"}
[2026-04-23 12:39:23] [INFO] Checking activity reminders 
[2026-04-23 12:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:25] [INFO] Checking activity reminders 
[2026-04-23 12:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:26] [INFO] Checking activity reminders 
[2026-04-23 12:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:55] [INFO] Checking activity reminders 
[2026-04-23 12:39:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:39:56] [INFO] Checking activity reminders 
[2026-04-23 12:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:40:25] [INFO] Checking activity reminders 
[2026-04-23 12:40:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:40:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:40:26] [INFO] Checking activity reminders 
[2026-04-23 12:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:40:55] [INFO] Checking activity reminders 
[2026-04-23 12:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:40:56] [INFO] Checking activity reminders 
[2026-04-23 12:40:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:40:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:41:25] [INFO] Checking activity reminders 
[2026-04-23 12:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:41:26] [INFO] Checking activity reminders 
[2026-04-23 12:41:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:41:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:41:55] [INFO] Checking activity reminders 
[2026-04-23 12:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:41:56] [INFO] Checking activity reminders 
[2026-04-23 12:41:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:41:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:42:25] [INFO] Checking activity reminders 
[2026-04-23 12:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:42:26] [INFO] Checking activity reminders 
[2026-04-23 12:42:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:42:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:42:55] [INFO] Checking activity reminders 
[2026-04-23 12:42:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:42:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:42:56] [INFO] Checking activity reminders 
[2026-04-23 12:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:42:59] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-23 12:42:59] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-23 12:42:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 12:42:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 12:42:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 12:42:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 12:43:26] [INFO] Checking activity reminders 
[2026-04-23 12:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:43:26] [INFO] Checking activity reminders 
[2026-04-23 12:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:43:32] [INFO] Checking activity reminders 
[2026-04-23 12:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:43:41] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9159328009","09159328009"]}
[2026-04-23 12:43:41] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9159328009","09159328009"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-23 12:43:41] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9159328009","full_name":"لید جدید"}
[2026-04-23 12:43:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-23 12:43:41] [INFO] Notification created {"notification_id":"669","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-23 12:43:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 12:43:56] [INFO] Checking activity reminders 
[2026-04-23 12:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:43:56] [INFO] Checking activity reminders 
[2026-04-23 12:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:44:02] [INFO] Checking activity reminders 
[2026-04-23 12:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:44:26] [INFO] Checking activity reminders 
[2026-04-23 12:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:44:26] [INFO] Checking activity reminders 
[2026-04-23 12:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:44:56] [INFO] Checking activity reminders 
[2026-04-23 12:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:44:56] [INFO] Checking activity reminders 
[2026-04-23 12:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:45:26] [INFO] Checking activity reminders 
[2026-04-23 12:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:45:26] [INFO] Checking activity reminders 
[2026-04-23 12:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:45:56] [INFO] Checking activity reminders 
[2026-04-23 12:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:45:56] [INFO] Checking activity reminders 
[2026-04-23 12:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 12:46:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 12:46:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 12:46:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 12:46:26] [INFO] Checking activity reminders 
[2026-04-23 12:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:27] [INFO] Checking activity reminders 
[2026-04-23 12:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:38] [INFO] Checking activity reminders 
[2026-04-23 12:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-23 12:46:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-23 12:46:49] [INFO] Checking activity reminders 
[2026-04-23 12:46:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:56] [INFO] Checking activity reminders 
[2026-04-23 12:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:46:57] [INFO] Checking activity reminders 
[2026-04-23 12:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:05] [INFO] Checking activity reminders 
[2026-04-23 12:47:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-23 12:47:26] [INFO] Checking activity reminders 
[2026-04-23 12:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:27] [INFO] Checking activity reminders 
[2026-04-23 12:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:35] [INFO] Checking activity reminders 
[2026-04-23 12:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:56] [INFO] Checking activity reminders 
[2026-04-23 12:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:47:57] [INFO] Checking activity reminders 
[2026-04-23 12:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:11] [WARNING] Auth check failed - not authenticated {"session_id":"h62hacbleikp6e163c9ep72dpt","session_keys":[],"action":"log_client_event"}
[2026-04-23 12:48:11] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-23 12:48:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 12:48:23] [INFO] Checking activity reminders 
[2026-04-23 12:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:26] [INFO] Checking activity reminders 
[2026-04-23 12:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:27] [INFO] Checking activity reminders 
[2026-04-23 12:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:41] [INFO] Checking activity reminders 
[2026-04-23 12:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:54] [INFO] Checking activity reminders 
[2026-04-23 12:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:57] [INFO] Checking activity reminders 
[2026-04-23 12:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:48:57] [INFO] Checking activity reminders 
[2026-04-23 12:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:11] [INFO] Checking activity reminders 
[2026-04-23 12:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:24] [INFO] Checking activity reminders 
[2026-04-23 12:49:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:27] [INFO] Checking activity reminders 
[2026-04-23 12:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:28] [INFO] Checking activity reminders 
[2026-04-23 12:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:28] [INFO] Checking activity reminders 
[2026-04-23 12:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:49:41] [INFO] Checking activity reminders 
[2026-04-23 12:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:57] [INFO] Checking activity reminders 
[2026-04-23 12:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:49:58] [INFO] Checking activity reminders 
[2026-04-23 12:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:11] [INFO] Checking activity reminders 
[2026-04-23 12:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:18] [INFO] Checking activity reminders 
[2026-04-23 12:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:27] [INFO] Checking activity reminders 
[2026-04-23 12:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:29] [INFO] Checking activity reminders 
[2026-04-23 12:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:41] [INFO] Checking activity reminders 
[2026-04-23 12:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:57] [INFO] Checking activity reminders 
[2026-04-23 12:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:50:59] [INFO] Checking activity reminders 
[2026-04-23 12:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:11] [INFO] Checking activity reminders 
[2026-04-23 12:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:27] [INFO] Checking activity reminders 
[2026-04-23 12:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:29] [INFO] Checking activity reminders 
[2026-04-23 12:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:41] [INFO] Checking activity reminders 
[2026-04-23 12:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:57] [INFO] Checking activity reminders 
[2026-04-23 12:51:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:59] [INFO] Checking activity reminders 
[2026-04-23 12:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:51:59] [INFO] Checking activity reminders 
[2026-04-23 12:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:11] [INFO] Checking activity reminders 
[2026-04-23 12:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:27] [INFO] Checking activity reminders 
[2026-04-23 12:52:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:29] [INFO] Checking activity reminders 
[2026-04-23 12:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:41] [INFO] Checking activity reminders 
[2026-04-23 12:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:57] [INFO] Checking activity reminders 
[2026-04-23 12:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:52:59] [INFO] Checking activity reminders 
[2026-04-23 12:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:11] [INFO] Checking activity reminders 
[2026-04-23 12:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:27] [INFO] Checking activity reminders 
[2026-04-23 12:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:29] [INFO] Checking activity reminders 
[2026-04-23 12:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:42] [INFO] Checking activity reminders 
[2026-04-23 12:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:57] [INFO] Checking activity reminders 
[2026-04-23 12:53:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:53:59] [INFO] Checking activity reminders 
[2026-04-23 12:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:54:12] [INFO] Checking activity reminders 
[2026-04-23 12:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:54:27] [INFO] Checking activity reminders 
[2026-04-23 12:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:54:30] [INFO] Checking activity reminders 
[2026-04-23 12:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:54:42] [INFO] Checking activity reminders 
[2026-04-23 12:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:54:57] [INFO] Checking activity reminders 
[2026-04-23 12:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:00] [INFO] Checking activity reminders 
[2026-04-23 12:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:12] [INFO] Checking activity reminders 
[2026-04-23 12:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:27] [INFO] Checking activity reminders 
[2026-04-23 12:55:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:30] [INFO] Checking activity reminders 
[2026-04-23 12:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:42] [INFO] Checking activity reminders 
[2026-04-23 12:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:55:58] [INFO] Checking activity reminders 
[2026-04-23 12:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:00] [INFO] Checking activity reminders 
[2026-04-23 12:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:12] [INFO] Checking activity reminders 
[2026-04-23 12:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:28] [INFO] Checking activity reminders 
[2026-04-23 12:56:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:30] [INFO] Checking activity reminders 
[2026-04-23 12:56:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:42] [INFO] Checking activity reminders 
[2026-04-23 12:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:56:58] [INFO] Checking activity reminders 
[2026-04-23 12:56:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:56:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:00] [INFO] Checking activity reminders 
[2026-04-23 12:57:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:12] [INFO] Checking activity reminders 
[2026-04-23 12:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:28] [INFO] Checking activity reminders 
[2026-04-23 12:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:30] [INFO] Checking activity reminders 
[2026-04-23 12:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:42] [INFO] Checking activity reminders 
[2026-04-23 12:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:57:58] [INFO] Checking activity reminders 
[2026-04-23 12:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:00] [INFO] Checking activity reminders 
[2026-04-23 12:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:12] [INFO] Checking activity reminders 
[2026-04-23 12:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:28] [INFO] Checking activity reminders 
[2026-04-23 12:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:30] [INFO] Checking activity reminders 
[2026-04-23 12:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:39] [INFO] Activity save request {"post_data":{"contact_id":"13663","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تازه مغازه تنظیم موتور زدده مشتری و فروش کمه \r\nفعللا شرایط پرداخت کانال نداره \r\nارسال پیام در بله ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 12:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:58:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 12:58:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 12:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:58:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13663","note_was_empty":true}
[2026-04-23 12:58:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"13663","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 12:58:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e6471bc045.27261234","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 12:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:58:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e6471bc045.27261234"}
[2026-04-23 12:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:58:39] [INFO] Updating virtual stage {"contact_id":"13663","stage_name":"deal_registered","force":false}
[2026-04-23 12:58:39] [INFO] Virtual stage successfully saved {"contact_id":"13663","stage_name":"deal_registered"}
[2026-04-23 12:58:39] [INFO] Virtual stage updated after activity save {"contact_id":"13663"}
[2026-04-23 12:58:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:58:42] [INFO] Checking activity reminders 
[2026-04-23 12:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:58:58] [INFO] Checking activity reminders 
[2026-04-23 12:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:00] [INFO] Checking activity reminders 
[2026-04-23 12:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:03] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13663","deal_id":"local_69b5316689acd4.42167347","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-23 12:59:03","session_id":"3q22ga7bjn3vga5cupq7jmnpc3"}
[2026-04-23 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:59:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"13663","is_new_deal":false}
[2026-04-23 12:59:03] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 12:59:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 12:59:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-23 12:59:03] [INFO] getContactPrimaryPhone called {"contact_id":"13663"}
[2026-04-23 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:59:03] [INFO] getContactPrimaryPhone result {"contact_id":"13663","person_found":true,"primary_phone":"9184359007"}
[2026-04-23 12:59:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184359007"}
[2026-04-23 12:59:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184359007","contact_id":"13663","deal_id":"local_69b5316689acd4.42167347","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 12:59:03"}
[2026-04-23 12:59:03] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","existing_deal_found":true,"existing_contact_id":"13663","existing_title":"معامله سوم 9184359007 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-23 12:59:03"}
[2026-04-23 12:59:03] [INFO] DealController.save validated payments {"deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-23 12:59:03] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13663","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-23 12:59:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b5316689acd4.42167347","contact_didar_id":"13663","title":"معامله سوم 9184359007 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9184359007","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"اسماعیل حسینی","existing_deal":"YES","existing_deal_id":"local_69b5316689acd4.42167347","existing_deal_status":"Pending","server_time":"2026-04-23 12:59:03","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-23 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:59:03] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b5316689acd4.42167347","contact_id":"13663","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9184359007 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-23 12:59:03","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-23 12:59:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13663","person_id":"4240"}
[2026-04-23 12:59:12] [INFO] Checking activity reminders 
[2026-04-23 12:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:28] [INFO] Checking activity reminders 
[2026-04-23 12:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:31] [INFO] Checking activity reminders 
[2026-04-23 12:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:42] [INFO] Checking activity reminders 
[2026-04-23 12:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 12:59:58] [INFO] Checking activity reminders 
[2026-04-23 12:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 12:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:00:01] [INFO] Checking activity reminders 
[2026-04-23 13:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:00:31] [INFO] Checking activity reminders 
[2026-04-23 13:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:01:01] [INFO] Checking activity reminders 
[2026-04-23 13:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:01:31] [INFO] Checking activity reminders 
[2026-04-23 13:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:02:01] [INFO] Checking activity reminders 
[2026-04-23 13:02:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:02:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:02:31] [INFO] Checking activity reminders 
[2026-04-23 13:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:02:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:01] [INFO] Checking activity reminders 
[2026-04-23 13:03:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:03:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:03:21] [INFO] Checking activity reminders 
[2026-04-23 13:03:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:03:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:03:31] [INFO] Checking activity reminders 
[2026-04-23 13:03:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:03:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:03:40] [INFO] Activity save request {"post_data":{"contact_id":"8069","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شخص دیگه ای جواب داد \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:03:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8069","note_was_empty":true}
[2026-04-23 13:03:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"8069","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:03:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e774be4ae5.63092252","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e774be4ae5.63092252"}
[2026-04-23 13:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:40] [INFO] Updating virtual stage {"contact_id":"8069","stage_name":"deal_registered","force":false}
[2026-04-23 13:03:40] [INFO] Virtual stage successfully saved {"contact_id":"8069","stage_name":"deal_registered"}
[2026-04-23 13:03:40] [INFO] Virtual stage updated after activity save {"contact_id":"8069"}
[2026-04-23 13:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-23 13:03:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:02] [INFO] Checking activity reminders 
[2026-04-23 13:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:04:09] [INFO] Activity save request {"post_data":{"contact_id":"1950","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:04:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1950","note_was_empty":true}
[2026-04-23 13:04:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"1950","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:04:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e791eeaeb7.47604278","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e791eeaeb7.47604278"}
[2026-04-23 13:04:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:09] [INFO] Updating virtual stage {"contact_id":"1950","stage_name":"deal_registered","force":false}
[2026-04-23 13:04:09] [INFO] Virtual stage successfully saved {"contact_id":"1950","stage_name":"deal_registered"}
[2026-04-23 13:04:09] [INFO] Virtual stage updated after activity save {"contact_id":"1950"}
[2026-04-23 13:04:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-23 13:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:32] [INFO] Checking activity reminders 
[2026-04-23 13:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:04:35] [INFO] Activity save request {"post_data":{"contact_id":"975","deal_id":"local_69d68fb50cfcc9.99082614","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:04:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"975","note_was_empty":true}
[2026-04-23 13:04:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"975","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:35] [INFO] Updating virtual stage {"contact_id":"975","stage_name":"deal_registered","force":false}
[2026-04-23 13:04:35] [INFO] Virtual stage successfully saved {"contact_id":"975","stage_name":"deal_registered"}
[2026-04-23 13:04:35] [INFO] Virtual stage updated after activity save {"contact_id":"975"}
[2026-04-23 13:04:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68fb50cfcc9.99082614","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-23 13:04:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e7ab511064.59900173","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e7ab511064.59900173"}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:35] [INFO] Updating virtual stage {"contact_id":"975","stage_name":"deal_registered","force":false}
[2026-04-23 13:04:35] [INFO] Virtual stage successfully saved {"contact_id":"975","stage_name":"deal_registered"}
[2026-04-23 13:04:35] [INFO] Virtual stage updated after activity save {"contact_id":"975"}
[2026-04-23 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"975","person_id":"16190"}
[2026-04-23 13:04:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:02] [INFO] Checking activity reminders 
[2026-04-23 13:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:05:10] [INFO] Checking activity reminders 
[2026-04-23 13:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:05:21] [INFO] Activity save request {"post_data":{"contact_id":"956","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:05:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 13:05:21] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:05:21] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:05:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 13:05:21] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"956","note_was_empty":true}
[2026-04-23 13:05:21] [INFO] Didar write disabled; saving activity locally {"contact_id":"956","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:05:21] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e7d90edbd7.92060062","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:05:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 13:05:21] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e7d90edbd7.92060062"}
[2026-04-23 13:05:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 13:05:21] [INFO] Updating virtual stage {"contact_id":"956","stage_name":"deal_registered","force":false}
[2026-04-23 13:05:21] [INFO] Virtual stage successfully saved {"contact_id":"956","stage_name":"deal_registered"}
[2026-04-23 13:05:21] [INFO] Virtual stage updated after activity save {"contact_id":"956"}
[2026-04-23 13:05:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"956","person_id":"11262"}
[2026-04-23 13:05:34] [INFO] Checking activity reminders 
[2026-04-23 13:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:05:45] [INFO] Activity save request {"post_data":{"contact_id":"2633","deal_id":"local_69495317823959.58597259","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:05:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2633","note_was_empty":true}
[2026-04-23 13:05:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"2633","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:45] [INFO] Updating virtual stage {"contact_id":"2633","stage_name":"deal_registered","force":false}
[2026-04-23 13:05:45] [INFO] Virtual stage successfully saved {"contact_id":"2633","stage_name":"deal_registered"}
[2026-04-23 13:05:45] [INFO] Virtual stage updated after activity save {"contact_id":"2633"}
[2026-04-23 13:05:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69495317823959.58597259","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:05:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e7f1455de2.31720708","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e7f1455de2.31720708"}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:05:45] [INFO] Updating virtual stage {"contact_id":"2633","stage_name":"deal_registered","force":false}
[2026-04-23 13:05:45] [INFO] Virtual stage successfully saved {"contact_id":"2633","stage_name":"deal_registered"}
[2026-04-23 13:05:45] [INFO] Virtual stage updated after activity save {"contact_id":"2633"}
[2026-04-23 13:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2633","person_id":"17403"}
[2026-04-23 13:06:04] [INFO] Checking activity reminders 
[2026-04-23 13:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:06:34] [INFO] Checking activity reminders 
[2026-04-23 13:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:07:05] [INFO] Checking activity reminders 
[2026-04-23 13:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:07:35] [INFO] Checking activity reminders 
[2026-04-23 13:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:08:05] [INFO] Checking activity reminders 
[2026-04-23 13:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:08:22] [INFO] Checking activity reminders 
[2026-04-23 13:08:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:08:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:08:52] [INFO] Checking activity reminders 
[2026-04-23 13:08:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:08:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:08:59] [INFO] Activity save request {"post_data":{"contact_id":"12398","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"در تاریخ 2\/3 فیزیک چک دریافت و تحویل صندوق داده شد ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:08:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:08:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:08:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:08:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:08:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12398","note_was_empty":true}
[2026-04-23 13:08:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"12398","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:08:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9e8b3bf92b8.40330597","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:08:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:08:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9e8b3bf92b8.40330597"}
[2026-04-23 13:08:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:08:59] [INFO] Updating virtual stage {"contact_id":"12398","stage_name":"with_purchase","force":false}
[2026-04-23 13:08:59] [INFO] Virtual stage successfully saved {"contact_id":"12398","stage_name":"with_purchase"}
[2026-04-23 13:08:59] [INFO] Virtual stage updated after activity save {"contact_id":"12398"}
[2026-04-23 13:08:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:09:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-23 13:09:22] [INFO] Checking activity reminders 
[2026-04-23 13:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:09:52] [INFO] Checking activity reminders 
[2026-04-23 13:09:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:09:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:10:22] [INFO] Checking activity reminders 
[2026-04-23 13:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:10:52] [INFO] Checking activity reminders 
[2026-04-23 13:10:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:10:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:11:22] [INFO] Checking activity reminders 
[2026-04-23 13:11:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:11:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:11:52] [INFO] Checking activity reminders 
[2026-04-23 13:11:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:11:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:12:22] [INFO] Checking activity reminders 
[2026-04-23 13:12:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:12:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:12:53] [INFO] Checking activity reminders 
[2026-04-23 13:12:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:12:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:13:23] [INFO] Checking activity reminders 
[2026-04-23 13:13:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:13:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:13:53] [INFO] Checking activity reminders 
[2026-04-23 13:13:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:13:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:14:23] [INFO] Checking activity reminders 
[2026-04-23 13:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:14:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Activity save request {"post_data":{"contact_id":"12098","deal_id":"local_69bbafe4300401.30827081","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:14:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12098","note_was_empty":true}
[2026-04-23 13:14:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"12098","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-23 13:14:44] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-23 13:14:44] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-23 13:14:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbafe4300401.30827081","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:14:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9ea0c39ac57.95617990","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9ea0c39ac57.95617990"}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:44] [INFO] Updating virtual stage {"contact_id":"12098","stage_name":"deal_registered","force":false}
[2026-04-23 13:14:44] [INFO] Virtual stage successfully saved {"contact_id":"12098","stage_name":"deal_registered"}
[2026-04-23 13:14:44] [INFO] Virtual stage updated after activity save {"contact_id":"12098"}
[2026-04-23 13:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:14:53] [INFO] Checking activity reminders 
[2026-04-23 13:14:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:14:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:15:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5504","person_id":"14534"}
[2026-04-23 13:15:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5504","person_id":"14534"}
[2026-04-23 13:15:23] [INFO] Checking activity reminders 
[2026-04-23 13:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:15:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12098","person_id":"11453"}
[2026-04-23 13:15:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:15:53] [INFO] Checking activity reminders 
[2026-04-23 13:15:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:15:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:16:23] [INFO] Checking activity reminders 
[2026-04-23 13:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:16:28] [INFO] Activity save request {"post_data":{"contact_id":"13665","deal_id":"local_69b72bee5a3a19.06156210","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک داد خودم تماس میگیرم \r\n","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:16:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:16:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:16:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13665","note_was_empty":true}
[2026-04-23 13:16:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"13665","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:16:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:28] [INFO] Updating virtual stage {"contact_id":"13665","stage_name":"deal_registered","force":false}
[2026-04-23 13:16:28] [INFO] Virtual stage successfully saved {"contact_id":"13665","stage_name":"deal_registered"}
[2026-04-23 13:16:28] [INFO] Virtual stage updated after activity save {"contact_id":"13665"}
[2026-04-23 13:16:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72bee5a3a19.06156210","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:16:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9ea74eb97b8.40990624","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:16:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9ea74eb97b8.40990624"}
[2026-04-23 13:16:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:28] [INFO] Updating virtual stage {"contact_id":"13665","stage_name":"deal_registered","force":false}
[2026-04-23 13:16:28] [INFO] Virtual stage successfully saved {"contact_id":"13665","stage_name":"deal_registered"}
[2026-04-23 13:16:28] [INFO] Virtual stage updated after activity save {"contact_id":"13665"}
[2026-04-23 13:16:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13665","person_id":"10437"}
[2026-04-23 13:16:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:16:53] [INFO] Checking activity reminders 
[2026-04-23 13:16:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:16:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:17:15] [INFO] Activity save request {"post_data":{"contact_id":"15035","deal_id":"local_69d2100e4470e8.16765666","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nخودش تماس میگیره ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:17:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15035","note_was_empty":true}
[2026-04-23 13:17:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"15035","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:15] [INFO] Updating virtual stage {"contact_id":"15035","stage_name":"deal_registered","force":false}
[2026-04-23 13:17:15] [INFO] Virtual stage successfully saved {"contact_id":"15035","stage_name":"deal_registered"}
[2026-04-23 13:17:15] [INFO] Virtual stage updated after activity save {"contact_id":"15035"}
[2026-04-23 13:17:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d2100e4470e8.16765666","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:17:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9eaa3316ef1.19991676","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9eaa3316ef1.19991676"}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:15] [INFO] Updating virtual stage {"contact_id":"15035","stage_name":"deal_registered","force":false}
[2026-04-23 13:17:15] [INFO] Virtual stage successfully saved {"contact_id":"15035","stage_name":"deal_registered"}
[2026-04-23 13:17:15] [INFO] Virtual stage updated after activity save {"contact_id":"15035"}
[2026-04-23 13:17:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15035","person_id":"15980"}
[2026-04-23 13:17:23] [INFO] Checking activity reminders 
[2026-04-23 13:17:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:17:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:17:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:17:53] [INFO] Checking activity reminders 
[2026-04-23 13:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:18:23] [INFO] Checking activity reminders 
[2026-04-23 13:18:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:18:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:18:36] [INFO] Checking activity reminders 
[2026-04-23 13:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:18:41] [INFO] Activity save request {"post_data":{"contact_id":"5028","deal_id":"4979","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شنبه باید برم دفتر با بچه ها صحبت کنم چقدر سرمایه برای این کار بذارم باهاتون تماس میگیرم \r\n","activity_duration":"2","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:18:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5028","note_was_empty":true}
[2026-04-23 13:18:41] [INFO] Didar write disabled; saving activity locally {"contact_id":"5028","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:41] [INFO] Updating virtual stage {"contact_id":"5028","stage_name":"deal_registered","force":false}
[2026-04-23 13:18:41] [INFO] Virtual stage successfully saved {"contact_id":"5028","stage_name":"deal_registered"}
[2026-04-23 13:18:41] [INFO] Virtual stage updated after activity save {"contact_id":"5028"}
[2026-04-23 13:18:41] [INFO] Pipeline stage updated after activity save {"deal_id":"4979","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:18:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9eaf96a0506.94946200","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9eaf96a0506.94946200"}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:41] [INFO] Updating virtual stage {"contact_id":"5028","stage_name":"deal_registered","force":false}
[2026-04-23 13:18:41] [INFO] Virtual stage successfully saved {"contact_id":"5028","stage_name":"deal_registered"}
[2026-04-23 13:18:41] [INFO] Virtual stage updated after activity save {"contact_id":"5028"}
[2026-04-23 13:18:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5028","person_id":"3525"}
[2026-04-23 13:18:54] [INFO] Checking activity reminders 
[2026-04-23 13:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:19:06] [INFO] Checking activity reminders 
[2026-04-23 13:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:19:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:24] [INFO] Checking activity reminders 
[2026-04-23 13:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:19:28] [INFO] Activity save request {"post_data":{"contact_id":"88","deal_id":"local_69d6206a229041.44776372","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:19:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"88","note_was_empty":true}
[2026-04-23 13:19:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"88","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:28] [INFO] Updating virtual stage {"contact_id":"88","stage_name":"deal_registered","force":false}
[2026-04-23 13:19:28] [INFO] Virtual stage successfully saved {"contact_id":"88","stage_name":"deal_registered"}
[2026-04-23 13:19:28] [INFO] Virtual stage updated after activity save {"contact_id":"88"}
[2026-04-23 13:19:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6206a229041.44776372","stage":"تماس پیگیری","status_change":null}
[2026-04-23 13:19:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9eb2831a161.32651018","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9eb2831a161.32651018"}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:28] [INFO] Updating virtual stage {"contact_id":"88","stage_name":"deal_registered","force":false}
[2026-04-23 13:19:28] [INFO] Virtual stage successfully saved {"contact_id":"88","stage_name":"deal_registered"}
[2026-04-23 13:19:28] [INFO] Virtual stage updated after activity save {"contact_id":"88"}
[2026-04-23 13:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"88","person_id":"13963"}
[2026-04-23 13:19:36] [INFO] Checking activity reminders 
[2026-04-23 13:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:19:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 13:19:54] [INFO] Checking activity reminders 
[2026-04-23 13:19:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:19:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:20:06] [INFO] Checking activity reminders 
[2026-04-23 13:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:20:24] [INFO] Checking activity reminders 
[2026-04-23 13:20:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:20:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:20:27] [INFO] Activity save request {"post_data":{"contact_id":"5575","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سی ای پی هست \/ تمدید 6ماهه کانال اطلاع میده","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 13:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:20:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 13:20:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 13:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:20:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5575","note_was_empty":true}
[2026-04-23 13:20:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"5575","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-23 13:20:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9eb639eeee5.88150153","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 13:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:20:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9eb639eeee5.88150153"}
[2026-04-23 13:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:20:27] [INFO] Updating virtual stage {"contact_id":"5575","stage_name":"deal_registered","force":false}
[2026-04-23 13:20:27] [INFO] Virtual stage successfully saved {"contact_id":"5575","stage_name":"deal_registered"}
[2026-04-23 13:20:27] [INFO] Virtual stage updated after activity save {"contact_id":"5575"}
[2026-04-23 13:20:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-23 13:20:37] [INFO] Checking activity reminders 
[2026-04-23 13:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:20:37] [INFO] Lead update received {"contact_id":"2078","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-23 13:20:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 13:20:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 13:20:37] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2078"}
[2026-04-23 13:20:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 13:20:54] [INFO] Checking activity reminders 
[2026-04-23 13:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:21:07] [INFO] Checking activity reminders 
[2026-04-23 13:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:21:24] [INFO] Checking activity reminders 
[2026-04-23 13:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:21:37] [INFO] Checking activity reminders 
[2026-04-23 13:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:21:54] [INFO] Checking activity reminders 
[2026-04-23 13:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:22:07] [INFO] Checking activity reminders 
[2026-04-23 13:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:22:24] [INFO] Checking activity reminders 
[2026-04-23 13:22:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:22:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:22:37] [INFO] Checking activity reminders 
[2026-04-23 13:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:22:54] [INFO] Checking activity reminders 
[2026-04-23 13:22:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:22:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:23:07] [INFO] Checking activity reminders 
[2026-04-23 13:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:23:24] [INFO] Checking activity reminders 
[2026-04-23 13:23:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:23:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:23:37] [INFO] Checking activity reminders 
[2026-04-23 13:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:23:54] [INFO] Checking activity reminders 
[2026-04-23 13:23:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:23:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:24:08] [INFO] Checking activity reminders 
[2026-04-23 13:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:24:25] [INFO] Checking activity reminders 
[2026-04-23 13:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:24:38] [INFO] Checking activity reminders 
[2026-04-23 13:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:24:55] [INFO] Checking activity reminders 
[2026-04-23 13:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:25:08] [INFO] Checking activity reminders 
[2026-04-23 13:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:25:25] [INFO] Checking activity reminders 
[2026-04-23 13:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:25:38] [INFO] Checking activity reminders 
[2026-04-23 13:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:25:55] [INFO] Checking activity reminders 
[2026-04-23 13:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:26:08] [INFO] Checking activity reminders 
[2026-04-23 13:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:26:21] [INFO] Checking activity reminders 
[2026-04-23 13:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:26:25] [INFO] Checking activity reminders 
[2026-04-23 13:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:26:38] [INFO] Checking activity reminders 
[2026-04-23 13:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:26:55] [INFO] Checking activity reminders 
[2026-04-23 13:26:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:26:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:27:25] [INFO] Checking activity reminders 
[2026-04-23 13:27:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:27:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:27:55] [INFO] Checking activity reminders 
[2026-04-23 13:27:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:27:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:28:25] [INFO] Checking activity reminders 
[2026-04-23 13:28:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:28:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:28:55] [INFO] Checking activity reminders 
[2026-04-23 13:28:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:28:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:29:26] [INFO] Checking activity reminders 
[2026-04-23 13:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:29:56] [INFO] Checking activity reminders 
[2026-04-23 13:29:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:29:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:30:26] [INFO] Checking activity reminders 
[2026-04-23 13:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:30:56] [INFO] Checking activity reminders 
[2026-04-23 13:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:31:26] [INFO] Checking activity reminders 
[2026-04-23 13:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:31:56] [INFO] Checking activity reminders 
[2026-04-23 13:31:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:31:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:32:26] [INFO] Checking activity reminders 
[2026-04-23 13:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:32:56] [INFO] Checking activity reminders 
[2026-04-23 13:32:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:32:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:33:26] [INFO] Checking activity reminders 
[2026-04-23 13:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:33:56] [INFO] Checking activity reminders 
[2026-04-23 13:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:34:26] [INFO] Checking activity reminders 
[2026-04-23 13:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:57:11] [INFO] Checking activity reminders 
[2026-04-23 13:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:57:42] [INFO] Checking activity reminders 
[2026-04-23 13:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:58:12] [INFO] Checking activity reminders 
[2026-04-23 13:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:58:42] [INFO] Checking activity reminders 
[2026-04-23 13:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:59:12] [INFO] Checking activity reminders 
[2026-04-23 13:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 13:59:42] [INFO] Checking activity reminders 
[2026-04-23 13:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 13:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:00:12] [INFO] Checking activity reminders 
[2026-04-23 14:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:00:42] [INFO] Checking activity reminders 
[2026-04-23 14:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:01:13] [INFO] Checking activity reminders 
[2026-04-23 14:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:01:42] [INFO] Checking activity reminders 
[2026-04-23 14:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:02:12] [INFO] Checking activity reminders 
[2026-04-23 14:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:02:14] [INFO] Checking activity reminders 
[2026-04-23 14:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:02:45] [INFO] Checking activity reminders 
[2026-04-23 14:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:03:12] [INFO] Activity save request {"post_data":{"contact_id":"2078","deal_id":"local_69d695612b3f22.02031521","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"به تازگی دفتر با شریک زده \r\nبرای کانال10 واریز \r\n2 تا فقره چک ارسال \r\nاطلاعات در بله ارسال شد ","activity_duration":"10","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-23 14:03:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2078","note_was_empty":true}
[2026-04-23 14:03:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"2078","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:12] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-23 14:03:12] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-23 14:03:12] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-23 14:03:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d695612b3f22.02031521","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-23 14:03:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69e9f56874c3c2.26023525","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69e9f56874c3c2.26023525"}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:12] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-23 14:03:12] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-23 14:03:12] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-23 14:03:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-23 14:03:15] [INFO] Checking activity reminders 
[2026-04-23 14:03:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:03:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:03:45] [INFO] Checking activity reminders 
[2026-04-23 14:03:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:03:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:04:15] [INFO] Checking activity reminders 
[2026-04-23 14:04:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:04:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:04:45] [INFO] Checking activity reminders 
[2026-04-23 14:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:05:15] [INFO] Checking activity reminders 
[2026-04-23 14:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:05:45] [INFO] Checking activity reminders 
[2026-04-23 14:05:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:05:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:06:15] [INFO] Checking activity reminders 
[2026-04-23 14:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:06:45] [INFO] Checking activity reminders 
[2026-04-23 14:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:07:16] [INFO] Checking activity reminders 
[2026-04-23 14:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:07:46] [INFO] Checking activity reminders 
[2026-04-23 14:07:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:07:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:08:16] [INFO] Checking activity reminders 
[2026-04-23 14:08:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:08:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:08:46] [INFO] Checking activity reminders 
[2026-04-23 14:08:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:08:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:09:16] [INFO] Checking activity reminders 
[2026-04-23 14:09:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:09:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:09:46] [INFO] Checking activity reminders 
[2026-04-23 14:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:10:16] [INFO] Checking activity reminders 
[2026-04-23 14:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:10:46] [INFO] Checking activity reminders 
[2026-04-23 14:10:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:10:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:10:53] [INFO] Checking activity reminders 
[2026-04-23 14:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:10:56] [INFO] Checking activity reminders 
[2026-04-23 14:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:10:58] [INFO] Checking activity reminders 
[2026-04-23 14:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:11:13] [INFO] Checking activity reminders 
[2026-04-23 14:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:11:43] [INFO] Checking activity reminders 
[2026-04-23 14:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:13:15] [INFO] Checking activity reminders 
[2026-04-23 14:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:13:45] [INFO] Checking activity reminders 
[2026-04-23 14:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:14:15] [INFO] Checking activity reminders 
[2026-04-23 14:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:14:45] [INFO] Checking activity reminders 
[2026-04-23 14:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:15:15] [INFO] Checking activity reminders 
[2026-04-23 14:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:15:45] [INFO] Checking activity reminders 
[2026-04-23 14:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:16:16] [INFO] Checking activity reminders 
[2026-04-23 14:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:16:46] [INFO] Checking activity reminders 
[2026-04-23 14:16:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:16:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 14:17:16] [INFO] Checking activity reminders 
[2026-04-23 14:17:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-23 14:17:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-23 16:08:03] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-04-23 16:08:03] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-04-23 16:08:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-23 16:08:04] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 16:08:04] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 16:08:04] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-23 16:08:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-23 16:08:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-23 16:08:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 10:05:08] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 10:05:08] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-25 10:05:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 10:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:35] [INFO] Lead update received {"contact_id":"local_69e9e2c5e5b6f8.17849159","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 10:05:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:35] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-25 10:05:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:05:39] [INFO] Checking activity reminders 
[2026-04-25 10:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:06:08] [INFO] Activity save request {"post_data":{"contact_id":"local_69e9e2c5e5b6f8.17849159","deal_id":"local_69e9e2c5e72a6","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"معرف اقای رحمانی \/ پرزنت کانال 79تا اخر شال 6ماهه 39 ت سه شنبه این هفته اطلاع","activity_duration":"25","direction":"incoming","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 10:06:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e9e2c5e5b6f8.17849159","note_was_empty":true}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:08] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"new","force":false}
[2026-04-25 10:06:08] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"new"}
[2026-04-25 10:06:08] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-25 10:06:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e9e2c5e72a6","stage":"تماس پیگیری","status_change":null}
[2026-04-25 10:06:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec60d8815884.54799037","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec60d8815884.54799037"}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:08] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-25 10:06:08] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-25 10:06:08] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-25 10:06:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-25 10:06:09] [INFO] Checking activity reminders 
[2026-04-25 10:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:06:12] [WARNING] Auth check failed - not authenticated {"session_id":"7le35k89ov9lhs5rduu7j9gqdo","session_keys":[],"action":"log_client_event"}
[2026-04-25 10:06:12] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-25 10:06:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 10:06:17] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-25 10:06:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 10:06:23] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-25 10:06:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 10:06:42] [INFO] Checking activity reminders 
[2026-04-25 10:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-25 10:06:53] [INFO] Checking activity reminders 
[2026-04-25 10:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:07:11] [INFO] Checking activity reminders 
[2026-04-25 10:07:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:07:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:07:23] [INFO] Checking activity reminders 
[2026-04-25 10:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:07:42] [INFO] Checking activity reminders 
[2026-04-25 10:07:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:07:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:08:12] [INFO] Checking activity reminders 
[2026-04-25 10:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:08:42] [INFO] Checking activity reminders 
[2026-04-25 10:08:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:08:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:09:12] [INFO] Checking activity reminders 
[2026-04-25 10:09:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:09:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:09:42] [INFO] Checking activity reminders 
[2026-04-25 10:09:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:09:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:10:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:10:12] [INFO] Checking activity reminders 
[2026-04-25 10:10:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:10:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:10:42] [INFO] Checking activity reminders 
[2026-04-25 10:10:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:10:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:11:08] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 10:11:08","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 10:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","is_new_deal":false}
[2026-04-25 10:11:08] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:08] [INFO] getContactPrimaryPhone called {"contact_id":"14954"}
[2026-04-25 10:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:08] [INFO] getContactPrimaryPhone result {"contact_id":"14954","person_found":true,"primary_phone":"9184915906"}
[2026-04-25 10:11:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184915906"}
[2026-04-25 10:11:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184915906","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 10:11:08"}
[2026-04-25 10:11:08] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","existing_deal_found":true,"existing_contact_id":"14954","existing_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 10:11:08"}
[2026-04-25 10:11:08] [INFO] DealController.save validated payments {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","payments_count":3,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-25 10:11:08] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"14954","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 10:11:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6208c590c62.46842710","contact_didar_id":"14954","title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9184915906","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مجتبی جولاهی","existing_deal":"YES","existing_deal_id":"local_69d6208c590c62.46842710","existing_deal_status":"Pending","server_time":"2026-04-25 10:11:08","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 10:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:08] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-25 10:11:08","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 10:11:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:12] [INFO] Checking activity reminders 
[2026-04-25 10:11:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:11:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:11:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 10:11:24","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14954","is_new_deal":false}
[2026-04-25 10:11:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 10:11:24] [INFO] getContactPrimaryPhone called {"contact_id":"14954"}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:24] [INFO] getContactPrimaryPhone result {"contact_id":"14954","person_found":true,"primary_phone":"9184915906"}
[2026-04-25 10:11:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184915906"}
[2026-04-25 10:11:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184915906","contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 10:11:24"}
[2026-04-25 10:11:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","existing_deal_found":true,"existing_contact_id":"14954","existing_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 10:11:24"}
[2026-04-25 10:11:24] [INFO] DealController.save validated payments {"deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","payments_count":3,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-25 10:11:24] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"14954","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 10:11:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6208c590c62.46842710","contact_didar_id":"14954","title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9184915906","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مجتبی جولاهی","existing_deal":"YES","existing_deal_id":"local_69d6208c590c62.46842710","existing_deal_status":"Pending","server_time":"2026-04-25 10:11:24","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:24] [INFO] Deal success processed {"contact_id":"14954","person_name":"مجتبی جولاهی","products_count":1}
[2026-04-25 10:11:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6208c590c62.46842710","contact_id":"14954","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9184915906 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-25 10:11:24","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:24] [INFO] Updating virtual stage {"contact_id":"14954","stage_name":"with_purchase","force":true}
[2026-04-25 10:11:24] [INFO] Virtual stage successfully saved {"contact_id":"14954","stage_name":"with_purchase"}
[2026-04-25 10:11:24] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14954","deal_id":"local_69d6208c590c62.46842710","target_stage":"with_purchase"}
[2026-04-25 10:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-25 10:11:43] [INFO] Checking activity reminders 
[2026-04-25 10:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:11:49] [INFO] Checking activity reminders 
[2026-04-25 10:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:12:19] [INFO] Checking activity reminders 
[2026-04-25 10:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:12:49] [INFO] Checking activity reminders 
[2026-04-25 10:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:12:50] [INFO] Checking activity reminders 
[2026-04-25 10:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:13:19] [INFO] Checking activity reminders 
[2026-04-25 10:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:13:20] [INFO] Checking activity reminders 
[2026-04-25 10:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:13:49] [INFO] Checking activity reminders 
[2026-04-25 10:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:13:50] [INFO] Checking activity reminders 
[2026-04-25 10:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:14:19] [INFO] Checking activity reminders 
[2026-04-25 10:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:14:20] [INFO] Checking activity reminders 
[2026-04-25 10:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:14:49] [INFO] Checking activity reminders 
[2026-04-25 10:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:14:50] [INFO] Checking activity reminders 
[2026-04-25 10:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:15:19] [INFO] Checking activity reminders 
[2026-04-25 10:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:15:21] [INFO] Checking activity reminders 
[2026-04-25 10:15:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:15:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:15:49] [INFO] Checking activity reminders 
[2026-04-25 10:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:15:51] [INFO] Checking activity reminders 
[2026-04-25 10:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:16:19] [INFO] Checking activity reminders 
[2026-04-25 10:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:16:21] [INFO] Checking activity reminders 
[2026-04-25 10:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:16:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 10:16:46","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 10:16:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:16:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:16:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20875","is_new_deal":false}
[2026-04-25 10:16:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 10:16:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 10:16:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 10:16:46] [INFO] getContactPrimaryPhone called {"contact_id":"20875"}
[2026-04-25 10:16:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:16:46] [INFO] getContactPrimaryPhone result {"contact_id":"20875","person_found":true,"primary_phone":"9193400253"}
[2026-04-25 10:16:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193400253"}
[2026-04-25 10:16:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193400253","contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 10:16:46"}
[2026-04-25 10:16:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","existing_deal_found":true,"existing_contact_id":"20875","existing_title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 10:16:46"}
[2026-04-25 10:16:46] [INFO] DealController.save validated payments {"deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","payments_count":3,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-25 10:16:46] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20875","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 10:16:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699f170c1e62f1.09215329","contact_didar_id":"20875","title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9193400253","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"جواد بیگی","existing_deal":"YES","existing_deal_id":"local_699f170c1e62f1.09215329","existing_deal_status":"Pending","server_time":"2026-04-25 10:16:46","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 10:16:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:16:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699f170c1e62f1.09215329","contact_id":"20875","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9193400253 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-25 10:16:46","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 10:16:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:16:49] [INFO] Checking activity reminders 
[2026-04-25 10:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:16:51] [INFO] Checking activity reminders 
[2026-04-25 10:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:17:04] [INFO] Activity save request {"post_data":{"contact_id":"20875","deal_id":"local_699f170c1e62f1.09215329","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه شد تا اخر شهریور 6ماهه بعدش باید تمدید کنه","activity_duration":"5","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 10:17:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20875","note_was_empty":true}
[2026-04-25 10:17:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"20875","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"with_purchase","force":false}
[2026-04-25 10:17:04] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"with_purchase"}
[2026-04-25 10:17:04] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699f170c1e62f1.09215329","stage":"اتمام","status_change":"Won"}
[2026-04-25 10:17:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec6368acd5c4.02082189","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec6368acd5c4.02082189"}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:04] [INFO] Updating virtual stage {"contact_id":"20875","stage_name":"with_purchase","force":false}
[2026-04-25 10:17:04] [INFO] Virtual stage successfully saved {"contact_id":"20875","stage_name":"with_purchase"}
[2026-04-25 10:17:04] [INFO] Virtual stage updated after activity save {"contact_id":"20875"}
[2026-04-25 10:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-25 10:17:19] [INFO] Checking activity reminders 
[2026-04-25 10:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:17:21] [INFO] Checking activity reminders 
[2026-04-25 10:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:17:49] [INFO] Checking activity reminders 
[2026-04-25 10:17:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:17:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:17:51] [INFO] Checking activity reminders 
[2026-04-25 10:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:18:20] [INFO] Checking activity reminders 
[2026-04-25 10:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:18:21] [INFO] Checking activity reminders 
[2026-04-25 10:18:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:18:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:18:50] [INFO] Checking activity reminders 
[2026-04-25 10:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:18:51] [INFO] Checking activity reminders 
[2026-04-25 10:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:19:20] [INFO] Checking activity reminders 
[2026-04-25 10:19:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:19:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:19:22] [INFO] Checking activity reminders 
[2026-04-25 10:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:19:50] [INFO] Checking activity reminders 
[2026-04-25 10:19:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:19:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:19:52] [INFO] Checking activity reminders 
[2026-04-25 10:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:20:20] [INFO] Checking activity reminders 
[2026-04-25 10:20:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:20:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:20:23] [INFO] Checking activity reminders 
[2026-04-25 10:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:20:50] [INFO] Checking activity reminders 
[2026-04-25 10:20:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:20:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:21:20] [INFO] Checking activity reminders 
[2026-04-25 10:21:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:21:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:21:50] [INFO] Checking activity reminders 
[2026-04-25 10:21:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:21:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:29:16] [INFO] Checking activity reminders 
[2026-04-25 10:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:29:46] [INFO] Checking activity reminders 
[2026-04-25 10:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:30:16] [INFO] Checking activity reminders 
[2026-04-25 10:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:30:46] [INFO] Checking activity reminders 
[2026-04-25 10:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:31:16] [INFO] Checking activity reminders 
[2026-04-25 10:31:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:31:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:31:47] [INFO] Checking activity reminders 
[2026-04-25 10:31:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:31:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:32:17] [INFO] Checking activity reminders 
[2026-04-25 10:32:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:32:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:32:47] [INFO] Checking activity reminders 
[2026-04-25 10:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:33:17] [INFO] Checking activity reminders 
[2026-04-25 10:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:33:47] [INFO] Checking activity reminders 
[2026-04-25 10:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:34:17] [INFO] Checking activity reminders 
[2026-04-25 10:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:34:47] [INFO] Checking activity reminders 
[2026-04-25 10:34:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:34:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:35:17] [INFO] Checking activity reminders 
[2026-04-25 10:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:35:40] [INFO] Checking activity reminders 
[2026-04-25 10:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:35:47] [INFO] Checking activity reminders 
[2026-04-25 10:35:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:35:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:36:00] [INFO] Checking activity reminders 
[2026-04-25 10:36:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:36:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:36:12] [INFO] Checking activity reminders 
[2026-04-25 10:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:36:30] [INFO] Checking activity reminders 
[2026-04-25 10:36:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:36:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:37:00] [INFO] Checking activity reminders 
[2026-04-25 10:37:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:37:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:37:23] [INFO] Checking activity reminders 
[2026-04-25 10:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:37:26] [INFO] Checking activity reminders 
[2026-04-25 10:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:37:45] [INFO] Checking activity reminders 
[2026-04-25 10:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:37:56] [INFO] Checking activity reminders 
[2026-04-25 10:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:38:15] [INFO] Checking activity reminders 
[2026-04-25 10:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:38:26] [INFO] Checking activity reminders 
[2026-04-25 10:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:38:46] [INFO] Checking activity reminders 
[2026-04-25 10:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:38:57] [INFO] Checking activity reminders 
[2026-04-25 10:38:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:38:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:39:16] [INFO] Checking activity reminders 
[2026-04-25 10:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:39:27] [INFO] Checking activity reminders 
[2026-04-25 10:39:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:39:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:39:46] [INFO] Checking activity reminders 
[2026-04-25 10:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:39:57] [INFO] Checking activity reminders 
[2026-04-25 10:39:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:39:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:40:16] [INFO] Checking activity reminders 
[2026-04-25 10:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:40:27] [INFO] Checking activity reminders 
[2026-04-25 10:40:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:40:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:40:46] [INFO] Checking activity reminders 
[2026-04-25 10:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:40:57] [INFO] Checking activity reminders 
[2026-04-25 10:40:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:40:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:41:16] [INFO] Checking activity reminders 
[2026-04-25 10:41:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:41:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:41:27] [INFO] Checking activity reminders 
[2026-04-25 10:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:41:46] [INFO] Checking activity reminders 
[2026-04-25 10:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:41:57] [INFO] Checking activity reminders 
[2026-04-25 10:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:42:16] [INFO] Checking activity reminders 
[2026-04-25 10:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:42:27] [INFO] Checking activity reminders 
[2026-04-25 10:42:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:42:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:42:46] [INFO] Checking activity reminders 
[2026-04-25 10:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:42:57] [INFO] Checking activity reminders 
[2026-04-25 10:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:43:17] [INFO] Checking activity reminders 
[2026-04-25 10:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:43:18] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"log_client_event"}
[2026-04-25 10:43:18] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-25 10:43:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 10:43:28] [INFO] Checking activity reminders 
[2026-04-25 10:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:43:43] [INFO] Checking activity reminders 
[2026-04-25 10:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:43:47] [INFO] Checking activity reminders 
[2026-04-25 10:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:43:58] [INFO] Checking activity reminders 
[2026-04-25 10:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:44:03] [INFO] Checking activity reminders 
[2026-04-25 10:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:44:17] [INFO] Checking activity reminders 
[2026-04-25 10:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:44:28] [INFO] Checking activity reminders 
[2026-04-25 10:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:44:47] [INFO] Checking activity reminders 
[2026-04-25 10:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:44:58] [INFO] Checking activity reminders 
[2026-04-25 10:44:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:44:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:45:17] [INFO] Checking activity reminders 
[2026-04-25 10:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:45:28] [INFO] Checking activity reminders 
[2026-04-25 10:45:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:45:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:45:47] [INFO] Checking activity reminders 
[2026-04-25 10:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:45:58] [INFO] Checking activity reminders 
[2026-04-25 10:45:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:45:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:46:17] [INFO] Checking activity reminders 
[2026-04-25 10:46:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:46:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:46:28] [INFO] Checking activity reminders 
[2026-04-25 10:46:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:46:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:46:47] [INFO] Checking activity reminders 
[2026-04-25 10:46:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:46:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:46:58] [INFO] Checking activity reminders 
[2026-04-25 10:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:47:17] [INFO] Checking activity reminders 
[2026-04-25 10:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:47:28] [INFO] Checking activity reminders 
[2026-04-25 10:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:47:48] [INFO] Checking activity reminders 
[2026-04-25 10:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:47:58] [INFO] Checking activity reminders 
[2026-04-25 10:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:48:16] [INFO] Checking activity reminders 
[2026-04-25 10:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:48:18] [INFO] Checking activity reminders 
[2026-04-25 10:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:48:28] [INFO] Checking activity reminders 
[2026-04-25 10:48:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:48:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:48:48] [INFO] Checking activity reminders 
[2026-04-25 10:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:48:58] [INFO] Checking activity reminders 
[2026-04-25 10:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:49:18] [INFO] Checking activity reminders 
[2026-04-25 10:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:49:29] [INFO] Checking activity reminders 
[2026-04-25 10:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:49:48] [INFO] Checking activity reminders 
[2026-04-25 10:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:49:59] [INFO] Checking activity reminders 
[2026-04-25 10:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:50:18] [INFO] Checking activity reminders 
[2026-04-25 10:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:50:29] [INFO] Checking activity reminders 
[2026-04-25 10:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 10:50:49] [INFO] Checking activity reminders 
[2026-04-25 10:50:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:50:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:50:59] [INFO] Checking activity reminders 
[2026-04-25 10:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:51:19] [INFO] Checking activity reminders 
[2026-04-25 10:51:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:51:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:51:29] [INFO] Checking activity reminders 
[2026-04-25 10:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:51:49] [INFO] Checking activity reminders 
[2026-04-25 10:51:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:51:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:51:59] [INFO] Checking activity reminders 
[2026-04-25 10:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:52:19] [INFO] Checking activity reminders 
[2026-04-25 10:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:52:29] [INFO] Checking activity reminders 
[2026-04-25 10:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:52:49] [INFO] Checking activity reminders 
[2026-04-25 10:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:52:59] [INFO] Checking activity reminders 
[2026-04-25 10:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:53:19] [INFO] Checking activity reminders 
[2026-04-25 10:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:53:29] [INFO] Checking activity reminders 
[2026-04-25 10:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:53:49] [INFO] Checking activity reminders 
[2026-04-25 10:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:53:59] [INFO] Checking activity reminders 
[2026-04-25 10:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:54:19] [INFO] Checking activity reminders 
[2026-04-25 10:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:54:29] [INFO] Checking activity reminders 
[2026-04-25 10:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:54:50] [INFO] Checking activity reminders 
[2026-04-25 10:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:55:00] [INFO] Checking activity reminders 
[2026-04-25 10:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:55:20] [INFO] Checking activity reminders 
[2026-04-25 10:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:55:30] [INFO] Checking activity reminders 
[2026-04-25 10:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:55:50] [INFO] Checking activity reminders 
[2026-04-25 10:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:56:00] [INFO] Checking activity reminders 
[2026-04-25 10:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:56:20] [INFO] Checking activity reminders 
[2026-04-25 10:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:56:30] [INFO] Checking activity reminders 
[2026-04-25 10:56:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:56:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:56:50] [INFO] Checking activity reminders 
[2026-04-25 10:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:57:00] [INFO] Checking activity reminders 
[2026-04-25 10:57:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:57:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:57:20] [INFO] Checking activity reminders 
[2026-04-25 10:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:57:30] [INFO] Checking activity reminders 
[2026-04-25 10:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:57:50] [INFO] Checking activity reminders 
[2026-04-25 10:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:58:00] [INFO] Checking activity reminders 
[2026-04-25 10:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:58:20] [INFO] Checking activity reminders 
[2026-04-25 10:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:58:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17137","person_id":"6255"}
[2026-04-25 10:58:30] [INFO] Checking activity reminders 
[2026-04-25 10:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:58:50] [INFO] Checking activity reminders 
[2026-04-25 10:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:59:00] [INFO] Checking activity reminders 
[2026-04-25 10:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:59:20] [INFO] Checking activity reminders 
[2026-04-25 10:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:59:31] [INFO] Checking activity reminders 
[2026-04-25 10:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 10:59:50] [INFO] Checking activity reminders 
[2026-04-25 10:59:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 10:59:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:00:01] [INFO] Checking activity reminders 
[2026-04-25 11:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:00:21] [INFO] Checking activity reminders 
[2026-04-25 11:00:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:00:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:00:31] [INFO] Checking activity reminders 
[2026-04-25 11:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:00:51] [INFO] Checking activity reminders 
[2026-04-25 11:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:01:01] [INFO] Checking activity reminders 
[2026-04-25 11:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:01:21] [INFO] Checking activity reminders 
[2026-04-25 11:01:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:01:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:01:31] [INFO] Checking activity reminders 
[2026-04-25 11:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:01:51] [INFO] Checking activity reminders 
[2026-04-25 11:01:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:01:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:02:01] [INFO] Checking activity reminders 
[2026-04-25 11:02:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:02:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:02:21] [INFO] Checking activity reminders 
[2026-04-25 11:02:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:02:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:02:31] [INFO] Checking activity reminders 
[2026-04-25 11:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:02:51] [INFO] Checking activity reminders 
[2026-04-25 11:02:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:02:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:03:01] [INFO] Checking activity reminders 
[2026-04-25 11:03:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:03:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:03:21] [INFO] Checking activity reminders 
[2026-04-25 11:03:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:03:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:03:32] [INFO] Checking activity reminders 
[2026-04-25 11:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:03:51] [INFO] Checking activity reminders 
[2026-04-25 11:03:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:03:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:04:02] [INFO] Checking activity reminders 
[2026-04-25 11:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:04:21] [INFO] Checking activity reminders 
[2026-04-25 11:04:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:04:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:04:32] [INFO] Checking activity reminders 
[2026-04-25 11:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:04:51] [INFO] Checking activity reminders 
[2026-04-25 11:04:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:04:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:05:02] [INFO] Checking activity reminders 
[2026-04-25 11:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:05:21] [INFO] Checking activity reminders 
[2026-04-25 11:05:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:05:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:05:32] [INFO] Checking activity reminders 
[2026-04-25 11:05:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:05:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:05:51] [INFO] Checking activity reminders 
[2026-04-25 11:05:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:05:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:06:02] [INFO] Checking activity reminders 
[2026-04-25 11:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:06:22] [INFO] Checking activity reminders 
[2026-04-25 11:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:06:32] [INFO] Checking activity reminders 
[2026-04-25 11:06:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:06:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:06:52] [INFO] Checking activity reminders 
[2026-04-25 11:06:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:06:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:07:02] [INFO] Checking activity reminders 
[2026-04-25 11:07:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:07:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:07:22] [INFO] Checking activity reminders 
[2026-04-25 11:07:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:07:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:07:32] [INFO] Checking activity reminders 
[2026-04-25 11:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:07:52] [INFO] Checking activity reminders 
[2026-04-25 11:07:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:07:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:08:02] [INFO] Checking activity reminders 
[2026-04-25 11:08:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:08:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:08:22] [INFO] Checking activity reminders 
[2026-04-25 11:08:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:08:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:08:32] [INFO] Checking activity reminders 
[2026-04-25 11:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:08:52] [INFO] Checking activity reminders 
[2026-04-25 11:08:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:08:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:09:02] [INFO] Checking activity reminders 
[2026-04-25 11:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:09:22] [INFO] Checking activity reminders 
[2026-04-25 11:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:09:33] [INFO] Checking activity reminders 
[2026-04-25 11:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:09:52] [INFO] Checking activity reminders 
[2026-04-25 11:09:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:09:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:10:03] [INFO] Checking activity reminders 
[2026-04-25 11:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:10:22] [INFO] Checking activity reminders 
[2026-04-25 11:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:10:33] [INFO] Checking activity reminders 
[2026-04-25 11:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:10:52] [INFO] Checking activity reminders 
[2026-04-25 11:10:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:10:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:11:03] [INFO] Checking activity reminders 
[2026-04-25 11:11:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:11:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:11:23] [INFO] Checking activity reminders 
[2026-04-25 11:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:11:33] [INFO] Checking activity reminders 
[2026-04-25 11:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:11:53] [INFO] Checking activity reminders 
[2026-04-25 11:11:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:11:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:12:03] [INFO] Checking activity reminders 
[2026-04-25 11:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:12:23] [INFO] Checking activity reminders 
[2026-04-25 11:12:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:12:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:12:33] [INFO] Checking activity reminders 
[2026-04-25 11:12:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:12:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:12:53] [INFO] Checking activity reminders 
[2026-04-25 11:12:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:12:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:13:03] [INFO] Checking activity reminders 
[2026-04-25 11:13:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:13:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:13:23] [INFO] Checking activity reminders 
[2026-04-25 11:13:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:13:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:13:33] [INFO] Checking activity reminders 
[2026-04-25 11:13:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:13:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:13:53] [INFO] Checking activity reminders 
[2026-04-25 11:13:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:13:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:14:03] [INFO] Checking activity reminders 
[2026-04-25 11:14:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:14:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:14:23] [INFO] Checking activity reminders 
[2026-04-25 11:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:14:33] [INFO] Checking activity reminders 
[2026-04-25 11:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:14:53] [INFO] Checking activity reminders 
[2026-04-25 11:14:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:14:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:14:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:15:03] [INFO] Checking activity reminders 
[2026-04-25 11:15:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:15:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:15:23] [INFO] Checking activity reminders 
[2026-04-25 11:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:15:34] [INFO] Checking activity reminders 
[2026-04-25 11:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:15:53] [INFO] Checking activity reminders 
[2026-04-25 11:15:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:15:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:16:04] [INFO] Checking activity reminders 
[2026-04-25 11:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:16:23] [INFO] Checking activity reminders 
[2026-04-25 11:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:16:34] [INFO] Checking activity reminders 
[2026-04-25 11:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:16:53] [INFO] Checking activity reminders 
[2026-04-25 11:16:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:16:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:17:04] [INFO] Checking activity reminders 
[2026-04-25 11:17:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:17:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:17:24] [INFO] Checking activity reminders 
[2026-04-25 11:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:17:34] [INFO] Checking activity reminders 
[2026-04-25 11:17:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:17:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:17:54] [INFO] Checking activity reminders 
[2026-04-25 11:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:18:04] [INFO] Checking activity reminders 
[2026-04-25 11:18:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:18:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:18:24] [INFO] Checking activity reminders 
[2026-04-25 11:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:18:34] [INFO] Checking activity reminders 
[2026-04-25 11:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:18:54] [INFO] Checking activity reminders 
[2026-04-25 11:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:19:04] [INFO] Checking activity reminders 
[2026-04-25 11:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:19:24] [INFO] Checking activity reminders 
[2026-04-25 11:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:19:34] [INFO] Checking activity reminders 
[2026-04-25 11:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:19:42] [INFO] Checking activity reminders 
[2026-04-25 11:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:19:54] [INFO] Checking activity reminders 
[2026-04-25 11:19:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:19:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:20:12] [INFO] Checking activity reminders 
[2026-04-25 11:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:20:24] [INFO] Checking activity reminders 
[2026-04-25 11:20:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:20:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:20:42] [INFO] Checking activity reminders 
[2026-04-25 11:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:20:54] [INFO] Checking activity reminders 
[2026-04-25 11:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:21:12] [INFO] Checking activity reminders 
[2026-04-25 11:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:21:24] [INFO] Checking activity reminders 
[2026-04-25 11:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:21:42] [INFO] Checking activity reminders 
[2026-04-25 11:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:21:54] [INFO] Checking activity reminders 
[2026-04-25 11:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:22:11] [INFO] Checking activity reminders 
[2026-04-25 11:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:22:24] [INFO] Checking activity reminders 
[2026-04-25 11:22:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:22:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:22:41] [INFO] Checking activity reminders 
[2026-04-25 11:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:22:54] [INFO] Checking activity reminders 
[2026-04-25 11:22:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:22:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:23:12] [INFO] Checking activity reminders 
[2026-04-25 11:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:23:25] [INFO] Checking activity reminders 
[2026-04-25 11:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:23:42] [INFO] Checking activity reminders 
[2026-04-25 11:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:23:46] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 11:23:46","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 11:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:23:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"21039","is_new_deal":false}
[2026-04-25 11:23:46] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 11:23:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 11:23:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 11:23:46] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 11:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:23:46] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 11:23:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 11:23:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 11:23:46"}
[2026-04-25 11:23:46] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b2c55f3bc7a8.91418428","contact_id":"21039","existing_deal_found":true,"existing_contact_id":"21039","existing_title":"معامله دوم 9126856192 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 11:23:46"}
[2026-04-25 11:23:46] [INFO] DealController.save validated payments {"deal_id":"local_69b2c55f3bc7a8.91418428","contact_id":"21039","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 11:23:46] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21039","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 11:23:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b2c55f3bc7a8.91418428","contact_didar_id":"21039","title":"معامله دوم 9126856192 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9126856192","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":39500000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورکریم پورکریم","existing_deal":"YES","existing_deal_id":"local_69b2c55f3bc7a8.91418428","existing_deal_status":"Pending","server_time":"2026-04-25 11:23:46","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 11:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:23:46] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b2c55f3bc7a8.91418428","contact_id":"21039","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9126856192 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":39500000,"server_time":"2026-04-25 11:23:46","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 11:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:23:55] [INFO] Checking activity reminders 
[2026-04-25 11:23:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:23:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:24:12] [INFO] Checking activity reminders 
[2026-04-25 11:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:24:25] [INFO] Checking activity reminders 
[2026-04-25 11:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:24:42] [INFO] Checking activity reminders 
[2026-04-25 11:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:24:55] [INFO] Checking activity reminders 
[2026-04-25 11:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:25:12] [INFO] Checking activity reminders 
[2026-04-25 11:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:25:25] [INFO] Checking activity reminders 
[2026-04-25 11:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:25:42] [INFO] Checking activity reminders 
[2026-04-25 11:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:25:55] [INFO] Checking activity reminders 
[2026-04-25 11:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:26:12] [INFO] Checking activity reminders 
[2026-04-25 11:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:26:25] [INFO] Checking activity reminders 
[2026-04-25 11:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:26:42] [INFO] Checking activity reminders 
[2026-04-25 11:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:26:55] [INFO] Checking activity reminders 
[2026-04-25 11:26:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:26:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:27:12] [INFO] Checking activity reminders 
[2026-04-25 11:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:27:25] [INFO] Checking activity reminders 
[2026-04-25 11:27:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:27:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:27:42] [INFO] Checking activity reminders 
[2026-04-25 11:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:27:55] [INFO] Checking activity reminders 
[2026-04-25 11:27:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:27:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:27:57] [INFO] Activity save request {"post_data":{"contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تغییر فاکتور 6ماهه تا اخر شهریور ماه \/ 500 ت مانده ارجاع داده میشه به هوش کارشناسی 15ت میشه 7ت الان میزنه تسویه اول خرداد \/ مانده میمونه 7500 ت ","activity_duration":"20","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 11:27:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21039","note_was_empty":true}
[2026-04-25 11:27:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"21039","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Updating virtual stage {"contact_id":"21039","stage_name":"with_purchase","force":false}
[2026-04-25 11:27:57] [INFO] Virtual stage successfully saved {"contact_id":"21039","stage_name":"with_purchase"}
[2026-04-25 11:27:57] [INFO] Virtual stage updated after activity save {"contact_id":"21039"}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b2c55f3bc7a8.91418428","stage":"اتمام","status_change":"Won"}
[2026-04-25 11:27:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7405326498.36520808","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7405326498.36520808"}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:27:57] [INFO] Updating virtual stage {"contact_id":"21039","stage_name":"with_purchase","force":false}
[2026-04-25 11:27:57] [INFO] Virtual stage successfully saved {"contact_id":"21039","stage_name":"with_purchase"}
[2026-04-25 11:27:57] [INFO] Virtual stage updated after activity save {"contact_id":"21039"}
[2026-04-25 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:28:07] [INFO] Checking activity reminders 
[2026-04-25 11:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:28:12] [INFO] Checking activity reminders 
[2026-04-25 11:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:28:42] [INFO] Checking activity reminders 
[2026-04-25 11:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:28:58] [INFO] Checking activity reminders 
[2026-04-25 11:28:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:28:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:29:13] [INFO] Checking activity reminders 
[2026-04-25 11:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:29:28] [INFO] Checking activity reminders 
[2026-04-25 11:29:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:29:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:29:43] [INFO] Checking activity reminders 
[2026-04-25 11:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:30:13] [INFO] Checking activity reminders 
[2026-04-25 11:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:30:43] [INFO] Checking activity reminders 
[2026-04-25 11:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:31:13] [INFO] Checking activity reminders 
[2026-04-25 11:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:31:43] [INFO] Checking activity reminders 
[2026-04-25 11:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:32:13] [INFO] Checking activity reminders 
[2026-04-25 11:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:32:44] [INFO] Checking activity reminders 
[2026-04-25 11:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:33:14] [INFO] Checking activity reminders 
[2026-04-25 11:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:33:44] [INFO] Checking activity reminders 
[2026-04-25 11:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:33:46] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 11:33:46] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 11:33:46] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 11:33:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 11:33:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 11:33:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 11:33:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 11:34:10] [INFO] Checking activity reminders 
[2026-04-25 11:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:34:14] [INFO] Checking activity reminders 
[2026-04-25 11:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:34:44] [INFO] Checking activity reminders 
[2026-04-25 11:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:34:51] [INFO] Checking activity reminders 
[2026-04-25 11:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:35:01] [INFO] Checking activity reminders 
[2026-04-25 11:35:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:35:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:35:14] [INFO] Checking activity reminders 
[2026-04-25 11:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:35:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:35:34] [INFO] Checking activity reminders 
[2026-04-25 11:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:35:44] [INFO] Checking activity reminders 
[2026-04-25 11:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:36:04] [INFO] Checking activity reminders 
[2026-04-25 11:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:36:14] [INFO] Checking activity reminders 
[2026-04-25 11:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:36:26] [INFO] Checking activity reminders 
[2026-04-25 11:36:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:36:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:36:45] [INFO] Checking activity reminders 
[2026-04-25 11:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:36:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 11:36:48","session_id":"f7s162f524cnh6tle7t1dcv1ev"}
[2026-04-25 11:36:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:36:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21039","is_new_deal":false}
[2026-04-25 11:36:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 11:36:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 11:36:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 11:36:48] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 11:36:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:36:48] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 11:36:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 11:36:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"local_69b2c55f3bc7a8.91418428","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-25 11:36:48"}
[2026-04-25 11:36:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b2c55f3bc7a8.91418428","contact_id":"21039","existing_deal_found":true,"existing_contact_id":"21039","existing_title":"معامله دوم 9126856192 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-25 11:36:48"}
[2026-04-25 11:36:56] [INFO] Checking activity reminders 
[2026-04-25 11:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:37:13] [INFO] Checking activity reminders 
[2026-04-25 11:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:37:15] [INFO] Checking activity reminders 
[2026-04-25 11:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:37:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:37:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:37:27] [INFO] Checking activity reminders 
[2026-04-25 11:37:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:37:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:37:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:37:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:37:27] [INFO] generateDealTitle result {"contact_id":"21039","person_name":"پورکریم پورکریم","mobile":"9126856192","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9126856192"}
[2026-04-25 11:37:43] [INFO] Checking activity reminders 
[2026-04-25 11:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:37:45] [INFO] Checking activity reminders 
[2026-04-25 11:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:38:15] [INFO] Checking activity reminders 
[2026-04-25 11:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:38:45] [INFO] Checking activity reminders 
[2026-04-25 11:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:39:15] [INFO] Checking activity reminders 
[2026-04-25 11:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:39:45] [INFO] Checking activity reminders 
[2026-04-25 11:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:39:45] [INFO] Checking activity reminders 
[2026-04-25 11:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:39:46] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"21039","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 11:39:46","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 11:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:46] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21039","is_new_deal":true}
[2026-04-25 11:39:46] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-25 11:39:46] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-25 11:39:46] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-25 11:39:46] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 11:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:46] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 11:39:46] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 11:39:46] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 11:39:46"}
[2026-04-25 11:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:46] [INFO] generateDealTitle result {"contact_id":"21039","person_name":"پورکریم پورکریم","mobile":"9126856192","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9126856192"}
[2026-04-25 11:39:46] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21039","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-25 11:39:46] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21039","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 11:39:46] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21039","title":"معامله سوم 9126856192 | هوش خودرو","base_title_used":"معامله سوم 9126856192","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":5000000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورکریم پورکریم","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-25 11:39:46","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 11:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:46] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-25 11:39:46] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21039","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9126856192 | هوش خودرو","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":5000000,"payment_amount":0,"server_time":"2026-04-25 11:39:46","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 11:39:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:39:48] [INFO] generateDealTitle result {"contact_id":"21039","person_name":"پورکریم پورکریم","mobile":"9126856192","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9126856192"}
[2026-04-25 11:40:11] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"21039","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 11:40:11","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 11:40:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:40:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21039","is_new_deal":true}
[2026-04-25 11:40:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-25 11:40:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-25 11:40:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-25 11:40:11] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 11:40:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:40:11] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 11:40:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 11:40:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 11:40:11"}
[2026-04-25 11:40:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:40:11] [INFO] generateDealTitle result {"contact_id":"21039","person_name":"پورکریم پورکریم","mobile":"9126856192","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9126856192"}
[2026-04-25 11:40:11] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21039","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-25 11:40:11] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21039","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 11:40:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21039","title":"معامله چهارم 9126856192 | کارشناسی حضوری","base_title_used":"معامله چهارم 9126856192","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورکریم پورکریم","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-25 11:40:11","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 11:40:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:40:11] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-25 11:40:11] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21039","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله چهارم 9126856192 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-25 11:40:11","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 11:40:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 11:40:15] [INFO] Checking activity reminders 
[2026-04-25 11:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:40:15] [INFO] Checking activity reminders 
[2026-04-25 11:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:40:45] [INFO] Checking activity reminders 
[2026-04-25 11:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:40:45] [INFO] Checking activity reminders 
[2026-04-25 11:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:41:15] [INFO] Checking activity reminders 
[2026-04-25 11:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:41:15] [INFO] Checking activity reminders 
[2026-04-25 11:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:41:45] [INFO] Checking activity reminders 
[2026-04-25 11:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:41:45] [INFO] Checking activity reminders 
[2026-04-25 11:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:42:15] [INFO] Checking activity reminders 
[2026-04-25 11:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:42:16] [INFO] Checking activity reminders 
[2026-04-25 11:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:42:45] [INFO] Checking activity reminders 
[2026-04-25 11:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:42:46] [INFO] Checking activity reminders 
[2026-04-25 11:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:43:15] [INFO] Checking activity reminders 
[2026-04-25 11:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:43:16] [INFO] Checking activity reminders 
[2026-04-25 11:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:43:45] [INFO] Checking activity reminders 
[2026-04-25 11:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:43:46] [INFO] Checking activity reminders 
[2026-04-25 11:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:44:15] [INFO] Checking activity reminders 
[2026-04-25 11:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:44:16] [INFO] Checking activity reminders 
[2026-04-25 11:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:44:46] [INFO] Checking activity reminders 
[2026-04-25 11:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:44:46] [INFO] Checking activity reminders 
[2026-04-25 11:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:45:16] [INFO] Checking activity reminders 
[2026-04-25 11:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:45:16] [INFO] Checking activity reminders 
[2026-04-25 11:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:45:46] [INFO] Checking activity reminders 
[2026-04-25 11:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:45:46] [INFO] Checking activity reminders 
[2026-04-25 11:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:46:16] [INFO] Checking activity reminders 
[2026-04-25 11:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:46:16] [INFO] Checking activity reminders 
[2026-04-25 11:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:46:46] [INFO] Checking activity reminders 
[2026-04-25 11:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:46:46] [INFO] Checking activity reminders 
[2026-04-25 11:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:47:16] [INFO] Checking activity reminders 
[2026-04-25 11:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:47:16] [INFO] Checking activity reminders 
[2026-04-25 11:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:47:26] [INFO] Activity save request {"post_data":{"contact_id":"14659","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"نمایندگی سایپا رفسنجان با برادر و پدرش \r\nپرزنت 405 \/ پشتیبانی استاد \r\nنمایشگاه جدید نزده در کرمان \r\nارسال اطلاعات \r\n20 واریز \r\nخرداد تسویه ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 11:47:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 11:47:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 11:47:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 11:47:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 11:47:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14659","note_was_empty":true}
[2026-04-25 11:47:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"14659","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 11:47:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec789678d475.92836315","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 11:47:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 11:47:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec789678d475.92836315"}
[2026-04-25 11:47:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 11:47:26] [INFO] Updating virtual stage {"contact_id":"14659","stage_name":"contact_followup","force":false}
[2026-04-25 11:47:26] [INFO] Virtual stage successfully saved {"contact_id":"14659","stage_name":"contact_followup"}
[2026-04-25 11:47:26] [INFO] Virtual stage updated after activity save {"contact_id":"14659"}
[2026-04-25 11:47:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14659","person_id":"16552"}
[2026-04-25 11:47:46] [INFO] Checking activity reminders 
[2026-04-25 11:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:47:46] [INFO] Checking activity reminders 
[2026-04-25 11:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:48:13] [INFO] Checking activity reminders 
[2026-04-25 11:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:48:16] [INFO] Checking activity reminders 
[2026-04-25 11:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:48:17] [INFO] Checking activity reminders 
[2026-04-25 11:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:48:46] [INFO] Checking activity reminders 
[2026-04-25 11:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:48:47] [INFO] Checking activity reminders 
[2026-04-25 11:48:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:48:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:49:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:49:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:49:13] [INFO] generateDealTitle result {"contact_id":"11386","person_name":"محمد شعبانی","mobile":"9128238965","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9128238965"}
[2026-04-25 11:49:16] [INFO] Checking activity reminders 
[2026-04-25 11:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:49:17] [INFO] Checking activity reminders 
[2026-04-25 11:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:49:46] [INFO] Checking activity reminders 
[2026-04-25 11:49:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:49:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:49:48] [INFO] Checking activity reminders 
[2026-04-25 11:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:50:16] [INFO] Checking activity reminders 
[2026-04-25 11:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:50:18] [INFO] Checking activity reminders 
[2026-04-25 11:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:50:26] [INFO] Activity save request {"post_data":{"contact_id":"11386","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"حقوق و قرارداد شرکت نبسته \/ تعدیل نیرو \r\nچالش مالی زیاد \r\nبهش 6 ماهه گفتم \/ در صورت تایید تماس ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 11:50:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:50:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 11:50:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 11:50:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:50:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11386","note_was_empty":true}
[2026-04-25 11:50:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"11386","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 11:50:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec794a7aab10.32681117","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 11:50:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:50:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec794a7aab10.32681117"}
[2026-04-25 11:50:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:50:26] [INFO] Updating virtual stage {"contact_id":"11386","stage_name":"deal_registered","force":false}
[2026-04-25 11:50:26] [INFO] Virtual stage successfully saved {"contact_id":"11386","stage_name":"deal_registered"}
[2026-04-25 11:50:26] [INFO] Virtual stage updated after activity save {"contact_id":"11386"}
[2026-04-25 11:50:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11386","person_id":"13985"}
[2026-04-25 11:50:46] [INFO] Checking activity reminders 
[2026-04-25 11:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:50:48] [INFO] Checking activity reminders 
[2026-04-25 11:50:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:50:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:51:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:51:17] [INFO] Checking activity reminders 
[2026-04-25 11:51:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:51:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:51:18] [INFO] Checking activity reminders 
[2026-04-25 11:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:51:47] [INFO] Checking activity reminders 
[2026-04-25 11:51:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:51:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:51:48] [INFO] Checking activity reminders 
[2026-04-25 11:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:52:17] [INFO] Checking activity reminders 
[2026-04-25 11:52:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:52:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:52:18] [INFO] Checking activity reminders 
[2026-04-25 11:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:52:47] [INFO] Checking activity reminders 
[2026-04-25 11:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:52:48] [INFO] Checking activity reminders 
[2026-04-25 11:52:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:52:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:53:17] [INFO] Checking activity reminders 
[2026-04-25 11:53:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:53:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:53:18] [INFO] Checking activity reminders 
[2026-04-25 11:53:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:53:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:53:47] [INFO] Checking activity reminders 
[2026-04-25 11:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:53:48] [INFO] Checking activity reminders 
[2026-04-25 11:53:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:53:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:54:17] [INFO] Checking activity reminders 
[2026-04-25 11:54:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:54:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:54:18] [INFO] Checking activity reminders 
[2026-04-25 11:54:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:54:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:54:47] [INFO] Checking activity reminders 
[2026-04-25 11:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:54:49] [INFO] Checking activity reminders 
[2026-04-25 11:54:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:54:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:55:17] [INFO] Checking activity reminders 
[2026-04-25 11:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:55:19] [INFO] Checking activity reminders 
[2026-04-25 11:55:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:55:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:55:47] [INFO] Checking activity reminders 
[2026-04-25 11:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:55:49] [INFO] Checking activity reminders 
[2026-04-25 11:55:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:55:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:56:17] [INFO] Checking activity reminders 
[2026-04-25 11:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:56:19] [INFO] Checking activity reminders 
[2026-04-25 11:56:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:56:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:56:30] [INFO] Activity save request {"post_data":{"contact_id":"21535","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت 405 \r\n6 ماهه \r\nمیگه دلیل تمدید نکردنم اینه که استاد سیگنال بلند مدت میگه \r\nبهش گفتم همه مدل شرایط در کانال حضور دارند\r\nبا توجه به شرایط و هدف خودت از سیگنال استفاده کن \r\nشرایط کشور و نوسانات بازار بالاست ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:56:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 11:56:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:56:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21535","note_was_empty":true}
[2026-04-25 11:56:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"21535","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 11:56:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7ab608a658.15518372","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:56:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7ab608a658.15518372"}
[2026-04-25 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:56:30] [INFO] Updating virtual stage {"contact_id":"21535","stage_name":"deal_registered","force":false}
[2026-04-25 11:56:30] [INFO] Virtual stage successfully saved {"contact_id":"21535","stage_name":"deal_registered"}
[2026-04-25 11:56:30] [INFO] Virtual stage updated after activity save {"contact_id":"21535"}
[2026-04-25 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 11:56:47] [INFO] Checking activity reminders 
[2026-04-25 11:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:56:49] [INFO] Checking activity reminders 
[2026-04-25 11:56:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:56:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:56:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 11:57:17] [INFO] Checking activity reminders 
[2026-04-25 11:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:57:19] [INFO] Checking activity reminders 
[2026-04-25 11:57:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:57:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:57:48] [INFO] Checking activity reminders 
[2026-04-25 11:57:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:57:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:57:49] [INFO] Checking activity reminders 
[2026-04-25 11:57:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:57:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:58:18] [INFO] Checking activity reminders 
[2026-04-25 11:58:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:58:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:58:19] [INFO] Checking activity reminders 
[2026-04-25 11:58:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:58:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:58:48] [INFO] Checking activity reminders 
[2026-04-25 11:58:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:58:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:58:49] [INFO] Checking activity reminders 
[2026-04-25 11:58:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:58:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:59:18] [INFO] Checking activity reminders 
[2026-04-25 11:59:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:59:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:59:19] [INFO] Checking activity reminders 
[2026-04-25 11:59:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:59:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:59:48] [INFO] Checking activity reminders 
[2026-04-25 11:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 11:59:49] [INFO] Checking activity reminders 
[2026-04-25 11:59:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 11:59:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:00:18] [INFO] Checking activity reminders 
[2026-04-25 12:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:00:20] [INFO] Checking activity reminders 
[2026-04-25 12:00:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:00:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:00:48] [INFO] Checking activity reminders 
[2026-04-25 12:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:00:50] [INFO] Checking activity reminders 
[2026-04-25 12:00:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:00:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:01:16] [INFO] Activity save request {"post_data":{"contact_id":"local_699954de0cdc67.80297391","deal_id":"local_699954de15bbc","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت دستگاه \r\nقیمت فقط قلم مگنت \r\nمانده حساب تسویه تا اخر ماه ","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:01:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_699954de0cdc67.80297391","note_was_empty":true}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:16] [INFO] Updating virtual stage {"contact_id":"local_699954de0cdc67.80297391","stage_name":"deal_registered","force":false}
[2026-04-25 12:01:16] [INFO] Virtual stage successfully saved {"contact_id":"local_699954de0cdc67.80297391","stage_name":"deal_registered"}
[2026-04-25 12:01:16] [INFO] Virtual stage updated after activity save {"contact_id":"local_699954de0cdc67.80297391"}
[2026-04-25 12:01:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699954de15bbc","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 12:01:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7bd4736c83.59560524","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7bd4736c83.59560524"}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:16] [INFO] Updating virtual stage {"contact_id":"local_699954de0cdc67.80297391","stage_name":"deal_registered","force":false}
[2026-04-25 12:01:16] [INFO] Virtual stage successfully saved {"contact_id":"local_699954de0cdc67.80297391","stage_name":"deal_registered"}
[2026-04-25 12:01:16] [INFO] Virtual stage updated after activity save {"contact_id":"local_699954de0cdc67.80297391"}
[2026-04-25 12:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699954de0cdc67.80297391","person_id":"21741"}
[2026-04-25 12:01:18] [INFO] Checking activity reminders 
[2026-04-25 12:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:01:20] [INFO] Checking activity reminders 
[2026-04-25 12:01:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:01:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:01:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:01:48] [INFO] Checking activity reminders 
[2026-04-25 12:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:01:50] [INFO] Checking activity reminders 
[2026-04-25 12:01:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:01:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:02:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"21039","deal_id":"local_69ec76cabf3c44.88177395","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 12:02:01","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 12:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:02:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"21039","is_new_deal":false}
[2026-04-25 12:02:01] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-25 12:02:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-25 12:02:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-25 12:02:01] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 12:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:02:01] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 12:02:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 12:02:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"local_69ec76cabf3c44.88177395","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 12:02:01"}
[2026-04-25 12:02:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ec76cabf3c44.88177395","contact_id":"21039","existing_deal_found":true,"existing_contact_id":"21039","existing_title":"معامله سوم 9126856192 | هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 12:02:01"}
[2026-04-25 12:02:01] [INFO] DealController.save validated payments {"deal_id":"local_69ec76cabf3c44.88177395","contact_id":"21039","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-25 12:02:01] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21039","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 12:02:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ec76cabf3c44.88177395","contact_didar_id":"21039","title":"معامله سوم 9126856192 | هوش خودرو","base_title_used":"معامله سوم 9126856192","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورکریم پورکریم","existing_deal":"YES","existing_deal_id":"local_69ec76cabf3c44.88177395","existing_deal_status":"Pending","server_time":"2026-04-25 12:02:01","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 12:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:02:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ec76cabf3c44.88177395","contact_id":"21039","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9126856192 | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-25 12:02:01","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 12:02:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:02:12] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc9d2e6210c3.45414163","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"مشاوره خودرو \r\nارجاع به پارسا \r\n","activity_duration":"3","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:02:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:02:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:02:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69dc9d2e6210c3.45414163","note_was_empty":true}
[2026-04-25 12:02:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7c0c17d6f0.49436409","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:02:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7c0c17d6f0.49436409"}
[2026-04-25 12:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:02:12] [INFO] Updating virtual stage {"contact_id":"local_69dc9d2e6210c3.45414163","stage_name":"contact_followup","force":false}
[2026-04-25 12:02:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc9d2e6210c3.45414163","stage_name":"contact_followup"}
[2026-04-25 12:02:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc9d2e6210c3.45414163"}
[2026-04-25 12:02:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-25 12:02:18] [INFO] Checking activity reminders 
[2026-04-25 12:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:02:20] [INFO] Checking activity reminders 
[2026-04-25 12:02:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:02:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:02:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:02:49] [INFO] Checking activity reminders 
[2026-04-25 12:02:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:02:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:02:50] [INFO] Checking activity reminders 
[2026-04-25 12:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:03:19] [INFO] Checking activity reminders 
[2026-04-25 12:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:03:20] [INFO] Checking activity reminders 
[2026-04-25 12:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:03:49] [INFO] Checking activity reminders 
[2026-04-25 12:03:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:03:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:03:50] [INFO] Checking activity reminders 
[2026-04-25 12:03:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:03:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:04:07] [INFO] Activity save request {"post_data":{"contact_id":"2078","deal_id":"local_69d695612b3f22.02031521","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:04:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2078","note_was_empty":true}
[2026-04-25 12:04:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"2078","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:07] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-25 12:04:07] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-25 12:04:07] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-25 12:04:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d695612b3f22.02031521","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-25 12:04:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7c7f916785.63051792","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7c7f916785.63051792"}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:07] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-25 12:04:07] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-25 12:04:07] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-25 12:04:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 12:04:18] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"21039","deal_id":"local_69ec76e3a950b7.49862304","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 12:04:18","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 12:04:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:18] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"21039","is_new_deal":false}
[2026-04-25 12:04:18] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-25 12:04:18] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-25 12:04:18] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-25 12:04:18] [INFO] getContactPrimaryPhone called {"contact_id":"21039"}
[2026-04-25 12:04:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:18] [INFO] getContactPrimaryPhone result {"contact_id":"21039","person_found":true,"primary_phone":"9126856192"}
[2026-04-25 12:04:18] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9126856192"}
[2026-04-25 12:04:18] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9126856192","contact_id":"21039","deal_id":"local_69ec76e3a950b7.49862304","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 12:04:18"}
[2026-04-25 12:04:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ec76e3a950b7.49862304","contact_id":"21039","existing_deal_found":true,"existing_contact_id":"21039","existing_title":"معامله چهارم 9126856192 | کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 12:04:18"}
[2026-04-25 12:04:18] [INFO] DealController.save validated payments {"deal_id":"local_69ec76e3a950b7.49862304","contact_id":"21039","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 12:04:18] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21039","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 12:04:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ec76e3a950b7.49862304","contact_didar_id":"21039","title":"معامله چهارم 9126856192 | کارشناسی حضوری","base_title_used":"معامله چهارم 9126856192","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":10000000,"payment_amount":2000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پورکریم پورکریم","existing_deal":"YES","existing_deal_id":"local_69ec76e3a950b7.49862304","existing_deal_status":"Pending","server_time":"2026-04-25 12:04:18","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 12:04:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ec76e3a950b7.49862304","contact_id":"21039","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله چهارم 9126856192 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":10000000,"payment_amount":2000000,"server_time":"2026-04-25 12:04:18","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 12:04:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:19] [INFO] Checking activity reminders 
[2026-04-25 12:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:04:20] [INFO] Checking activity reminders 
[2026-04-25 12:04:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:04:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:04:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:04:36] [INFO] Activity save request {"post_data":{"contact_id":"21039","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"7 ت واریز شد تسویه اول خرداد","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:04:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:04:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:04:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21039","note_was_empty":true}
[2026-04-25 12:04:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"21039","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 12:04:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7c9c9470d5.16209217","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:04:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7c9c9470d5.16209217"}
[2026-04-25 12:04:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:36] [INFO] Updating virtual stage {"contact_id":"21039","stage_name":"deal_registered","force":false}
[2026-04-25 12:04:36] [INFO] Virtual stage successfully saved {"contact_id":"21039","stage_name":"deal_registered"}
[2026-04-25 12:04:36] [INFO] Virtual stage updated after activity save {"contact_id":"21039"}
[2026-04-25 12:04:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:04:49] [INFO] Checking activity reminders 
[2026-04-25 12:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:04:50] [INFO] Checking activity reminders 
[2026-04-25 12:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:04:53] [INFO] Activity save request {"post_data":{"contact_id":"15491","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"موجودی چک پیگیری \r\nفردا ارسال شود به بانک ","activity_duration":"2","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:04:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:04:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:04:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15491","note_was_empty":true}
[2026-04-25 12:04:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"15491","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:04:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7cadaaaf21.43814955","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:04:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7cadaaaf21.43814955"}
[2026-04-25 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:04:53] [INFO] Updating virtual stage {"contact_id":"15491","stage_name":"with_purchase","force":false}
[2026-04-25 12:04:53] [INFO] Virtual stage successfully saved {"contact_id":"15491","stage_name":"with_purchase"}
[2026-04-25 12:04:53] [INFO] Virtual stage updated after activity save {"contact_id":"15491"}
[2026-04-25 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-25 12:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:05:19] [INFO] Checking activity reminders 
[2026-04-25 12:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:05:20] [INFO] Checking activity reminders 
[2026-04-25 12:05:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:05:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:05:50] [INFO] Checking activity reminders 
[2026-04-25 12:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:05:50] [INFO] Checking activity reminders 
[2026-04-25 12:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:05:59] [INFO] Activity save request {"post_data":{"contact_id":"1828","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nثبت نام فونیکس برقی \r\nگفتم استاد نظر مثبتب نداره \/ تصمیم با خودته","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:05:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:05:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:05:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:05:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:05:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1828","note_was_empty":true}
[2026-04-25 12:05:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"1828","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:05:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7cef34df47.75706313","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:05:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:05:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7cef34df47.75706313"}
[2026-04-25 12:05:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:05:59] [INFO] Updating virtual stage {"contact_id":"1828","stage_name":"with_purchase","force":false}
[2026-04-25 12:05:59] [INFO] Virtual stage successfully saved {"contact_id":"1828","stage_name":"with_purchase"}
[2026-04-25 12:05:59] [INFO] Virtual stage updated after activity save {"contact_id":"1828"}
[2026-04-25 12:05:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-25 12:06:20] [INFO] Checking activity reminders 
[2026-04-25 12:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:06:21] [INFO] Checking activity reminders 
[2026-04-25 12:06:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:06:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:06:50] [INFO] Checking activity reminders 
[2026-04-25 12:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:06:51] [INFO] Checking activity reminders 
[2026-04-25 12:06:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:06:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:07:20] [INFO] Checking activity reminders 
[2026-04-25 12:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:07:21] [INFO] Checking activity reminders 
[2026-04-25 12:07:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:07:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:07:50] [INFO] Checking activity reminders 
[2026-04-25 12:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:07:51] [INFO] Checking activity reminders 
[2026-04-25 12:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:08:20] [INFO] Checking activity reminders 
[2026-04-25 12:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:08:21] [INFO] Checking activity reminders 
[2026-04-25 12:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:08:50] [INFO] Checking activity reminders 
[2026-04-25 12:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:08:51] [INFO] Checking activity reminders 
[2026-04-25 12:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:09:20] [INFO] Checking activity reminders 
[2026-04-25 12:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:09:21] [INFO] Checking activity reminders 
[2026-04-25 12:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:09:50] [INFO] Checking activity reminders 
[2026-04-25 12:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:09:51] [INFO] Checking activity reminders 
[2026-04-25 12:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:10:21] [INFO] Checking activity reminders 
[2026-04-25 12:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:10:21] [INFO] Checking activity reminders 
[2026-04-25 12:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:10:51] [INFO] Checking activity reminders 
[2026-04-25 12:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:10:51] [INFO] Checking activity reminders 
[2026-04-25 12:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:11:21] [INFO] Checking activity reminders 
[2026-04-25 12:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:11:21] [INFO] Checking activity reminders 
[2026-04-25 12:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:11:51] [INFO] Checking activity reminders 
[2026-04-25 12:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:11:51] [INFO] Checking activity reminders 
[2026-04-25 12:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:12:20] [INFO] Checking activity reminders 
[2026-04-25 12:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:12:21] [INFO] Checking activity reminders 
[2026-04-25 12:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:12:50] [INFO] Checking activity reminders 
[2026-04-25 12:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:13:20] [INFO] Checking activity reminders 
[2026-04-25 12:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:13:50] [INFO] Checking activity reminders 
[2026-04-25 12:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:14:20] [INFO] Checking activity reminders 
[2026-04-25 12:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:14:35] [INFO] Checking activity reminders 
[2026-04-25 12:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:14:50] [INFO] Checking activity reminders 
[2026-04-25 12:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:14:56] [INFO] Checking activity reminders 
[2026-04-25 12:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:14:58] [INFO] Checking activity reminders 
[2026-04-25 12:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:15:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:15:28] [INFO] Checking activity reminders 
[2026-04-25 12:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:15:33] [INFO] Checking activity reminders 
[2026-04-25 12:15:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:15:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:15:58] [INFO] Checking activity reminders 
[2026-04-25 12:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:16:28] [INFO] Checking activity reminders 
[2026-04-25 12:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:16:31] [INFO] Activity save request {"post_data":{"contact_id":"local_69dc84ae9147f9.41801026","deal_id":"local_69dc84aea2652","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nخود شتماس میگیره ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:16:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69dc84ae9147f9.41801026","note_was_empty":true}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:31] [INFO] Updating virtual stage {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered","force":false}
[2026-04-25 12:16:31] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered"}
[2026-04-25 12:16:31] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc84ae9147f9.41801026"}
[2026-04-25 12:16:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69dc84aea2652","stage":"تماس پیگیری","status_change":null}
[2026-04-25 12:16:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec7f67a9b254.04398395","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec7f67a9b254.04398395"}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:31] [INFO] Updating virtual stage {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered","force":false}
[2026-04-25 12:16:31] [INFO] Virtual stage successfully saved {"contact_id":"local_69dc84ae9147f9.41801026","stage_name":"deal_registered"}
[2026-04-25 12:16:31] [INFO] Virtual stage updated after activity save {"contact_id":"local_69dc84ae9147f9.41801026"}
[2026-04-25 12:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc84ae9147f9.41801026","person_id":"22138"}
[2026-04-25 12:16:59] [INFO] Checking activity reminders 
[2026-04-25 12:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:17:29] [INFO] Checking activity reminders 
[2026-04-25 12:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:17:59] [INFO] Checking activity reminders 
[2026-04-25 12:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:18:29] [INFO] Checking activity reminders 
[2026-04-25 12:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:18:59] [INFO] Checking activity reminders 
[2026-04-25 12:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:19:29] [INFO] Checking activity reminders 
[2026-04-25 12:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:19:59] [INFO] Checking activity reminders 
[2026-04-25 12:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:20:29] [INFO] Checking activity reminders 
[2026-04-25 12:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:20:59] [INFO] Checking activity reminders 
[2026-04-25 12:20:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:20:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:21:29] [INFO] Checking activity reminders 
[2026-04-25 12:21:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:21:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:21:59] [INFO] Checking activity reminders 
[2026-04-25 12:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:22:08] [INFO] Activity save request {"post_data":{"contact_id":"1499","deal_id":"local_69d68fd22bb1b5.50176459","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیکار شده \r\nهنوز شغل و حقوق اسفند نگرفته ","activity_duration":"10","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:22:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1499","note_was_empty":true}
[2026-04-25 12:22:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"1499","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:08] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-25 12:22:08] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-25 12:22:08] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-25 12:22:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68fd22bb1b5.50176459","stage":"تماس پیگیری","status_change":null}
[2026-04-25 12:22:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec80b8166c07.24886297","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec80b8166c07.24886297"}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:08] [INFO] Updating virtual stage {"contact_id":"1499","stage_name":"deal_registered","force":false}
[2026-04-25 12:22:08] [INFO] Virtual stage successfully saved {"contact_id":"1499","stage_name":"deal_registered"}
[2026-04-25 12:22:08] [INFO] Virtual stage updated after activity save {"contact_id":"1499"}
[2026-04-25 12:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:30] [INFO] Checking activity reminders 
[2026-04-25 12:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:22:38] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"1499","deal_id":"local_69d68fd22bb1b5.50176459","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 12:22:38","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 12:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:38] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"1499","is_new_deal":false}
[2026-04-25 12:22:38] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 12:22:38] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 12:22:38] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 12:22:38] [INFO] getContactPrimaryPhone called {"contact_id":"1499"}
[2026-04-25 12:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:38] [INFO] getContactPrimaryPhone result {"contact_id":"1499","person_found":true,"primary_phone":"9210328323"}
[2026-04-25 12:22:38] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9210328323"}
[2026-04-25 12:22:38] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9210328323","contact_id":"1499","deal_id":"local_69d68fd22bb1b5.50176459","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 12:22:38"}
[2026-04-25 12:22:38] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d68fd22bb1b5.50176459","contact_id":"1499","existing_deal_found":true,"existing_contact_id":"1499","existing_title":"معامله دوم 9210328323 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 12:22:38"}
[2026-04-25 12:22:38] [INFO] DealController.save validated payments {"deal_id":"local_69d68fd22bb1b5.50176459","contact_id":"1499","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-25 12:22:38] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1499","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 12:22:38] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d68fd22bb1b5.50176459","contact_didar_id":"1499","title":"معامله دوم 9210328323 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9210328323","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسین شاهی","existing_deal":"YES","existing_deal_id":"local_69d68fd22bb1b5.50176459","existing_deal_status":"Pending","server_time":"2026-04-25 12:22:38","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 12:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:38] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d68fd22bb1b5.50176459","contact_id":"1499","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9210328323 | کانال VIP با پشتیبانی شش ماهه","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-25 12:22:38","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 12:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1499","person_id":"696"}
[2026-04-25 12:22:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:23:00] [INFO] Checking activity reminders 
[2026-04-25 12:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:23:30] [INFO] Checking activity reminders 
[2026-04-25 12:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:24:00] [INFO] Checking activity reminders 
[2026-04-25 12:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:24:30] [INFO] Checking activity reminders 
[2026-04-25 12:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:25:00] [INFO] Checking activity reminders 
[2026-04-25 12:25:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:25:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:25:30] [INFO] Checking activity reminders 
[2026-04-25 12:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:26:00] [INFO] Checking activity reminders 
[2026-04-25 12:26:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:26:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:26:30] [INFO] Checking activity reminders 
[2026-04-25 12:26:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:26:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:27:00] [INFO] Checking activity reminders 
[2026-04-25 12:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:27:31] [INFO] Checking activity reminders 
[2026-04-25 12:27:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:27:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:28:01] [INFO] Checking activity reminders 
[2026-04-25 12:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:28:10] [INFO] Checking activity reminders 
[2026-04-25 12:28:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:28:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:28:31] [INFO] Checking activity reminders 
[2026-04-25 12:28:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:28:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:28:40] [INFO] Checking activity reminders 
[2026-04-25 12:28:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:28:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:01] [INFO] Checking activity reminders 
[2026-04-25 12:29:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:29:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:10] [INFO] Checking activity reminders 
[2026-04-25 12:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:31] [INFO] Checking activity reminders 
[2026-04-25 12:29:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:29:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:35] [INFO] Checking activity reminders 
[2026-04-25 12:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:40] [INFO] Checking activity reminders 
[2026-04-25 12:29:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:29:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:29:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:30:05] [INFO] Checking activity reminders 
[2026-04-25 12:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:30:10] [INFO] Checking activity reminders 
[2026-04-25 12:30:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:30:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:30:35] [INFO] Checking activity reminders 
[2026-04-25 12:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:30:40] [INFO] Checking activity reminders 
[2026-04-25 12:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:31:05] [INFO] Checking activity reminders 
[2026-04-25 12:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:31:09] [INFO] Activity save request {"post_data":{"contact_id":"3256","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"احوال پرسی \r\nشرایط 6 ماهه کانال 405 پرزنت شد \r\nدر صورت تایید حضور اطلاع میده \r\nکانال عمومی استاد در بله دنبال ","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:31:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:31:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:31:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3256","note_was_empty":true}
[2026-04-25 12:31:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"3256","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:31:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec82d5dd5580.11767706","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:31:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec82d5dd5580.11767706"}
[2026-04-25 12:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:31:09] [INFO] Updating virtual stage {"contact_id":"3256","stage_name":"deal_registered","force":false}
[2026-04-25 12:31:09] [INFO] Virtual stage successfully saved {"contact_id":"3256","stage_name":"deal_registered"}
[2026-04-25 12:31:09] [INFO] Virtual stage updated after activity save {"contact_id":"3256"}
[2026-04-25 12:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3256","person_id":"12121"}
[2026-04-25 12:31:10] [INFO] Checking activity reminders 
[2026-04-25 12:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:31:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:35] [INFO] Checking activity reminders 
[2026-04-25 12:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:31:40] [INFO] Checking activity reminders 
[2026-04-25 12:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:31:54] [INFO] Activity save request {"post_data":{"contact_id":"20974","deal_id":"local_69d691395fefb5.62385943","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بانک بود شرایط صحبت نداشت \r\nخودش تماس ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:31:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20974","note_was_empty":true}
[2026-04-25 12:31:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"20974","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:54] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-25 12:31:54] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-25 12:31:54] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-25 12:31:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d691395fefb5.62385943","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-25 12:31:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec8302527a41.56870299","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec8302527a41.56870299"}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:31:54] [INFO] Updating virtual stage {"contact_id":"20974","stage_name":"deal_registered","force":false}
[2026-04-25 12:31:54] [INFO] Virtual stage successfully saved {"contact_id":"20974","stage_name":"deal_registered"}
[2026-04-25 12:31:54] [INFO] Virtual stage updated after activity save {"contact_id":"20974"}
[2026-04-25 12:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20974","person_id":"8065"}
[2026-04-25 12:32:05] [INFO] Checking activity reminders 
[2026-04-25 12:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:32:10] [INFO] Checking activity reminders 
[2026-04-25 12:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:32:36] [INFO] Checking activity reminders 
[2026-04-25 12:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:32:41] [INFO] Checking activity reminders 
[2026-04-25 12:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:33:06] [INFO] Checking activity reminders 
[2026-04-25 12:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:33:11] [INFO] Checking activity reminders 
[2026-04-25 12:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:33:36] [INFO] Checking activity reminders 
[2026-04-25 12:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:33:41] [INFO] Checking activity reminders 
[2026-04-25 12:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:34:06] [INFO] Checking activity reminders 
[2026-04-25 12:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:34:11] [INFO] Checking activity reminders 
[2026-04-25 12:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:34:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20970","person_id":"4290"}
[2026-04-25 12:34:36] [INFO] Checking activity reminders 
[2026-04-25 12:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:34:41] [INFO] Checking activity reminders 
[2026-04-25 12:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:34:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:35:06] [INFO] Checking activity reminders 
[2026-04-25 12:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:35:11] [INFO] Checking activity reminders 
[2026-04-25 12:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:35:36] [INFO] Checking activity reminders 
[2026-04-25 12:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:35:41] [INFO] Checking activity reminders 
[2026-04-25 12:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:36:06] [INFO] Checking activity reminders 
[2026-04-25 12:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:36:11] [INFO] Checking activity reminders 
[2026-04-25 12:36:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:36:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:36:37] [INFO] Checking activity reminders 
[2026-04-25 12:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:36:41] [INFO] Checking activity reminders 
[2026-04-25 12:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:37:07] [INFO] Checking activity reminders 
[2026-04-25 12:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:37:11] [INFO] Checking activity reminders 
[2026-04-25 12:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:37:37] [INFO] Checking activity reminders 
[2026-04-25 12:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:37:41] [INFO] Checking activity reminders 
[2026-04-25 12:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:38:07] [INFO] Checking activity reminders 
[2026-04-25 12:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:38:37] [INFO] Checking activity reminders 
[2026-04-25 12:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:39:07] [INFO] Checking activity reminders 
[2026-04-25 12:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:39:37] [INFO] Checking activity reminders 
[2026-04-25 12:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:40:07] [INFO] Checking activity reminders 
[2026-04-25 12:40:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:40:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:40:37] [INFO] Checking activity reminders 
[2026-04-25 12:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:41:07] [INFO] Checking activity reminders 
[2026-04-25 12:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:41:37] [INFO] Checking activity reminders 
[2026-04-25 12:41:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:41:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:42:08] [INFO] Checking activity reminders 
[2026-04-25 12:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:42:38] [INFO] Checking activity reminders 
[2026-04-25 12:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:43:08] [INFO] Checking activity reminders 
[2026-04-25 12:43:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:43:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:43:38] [INFO] Checking activity reminders 
[2026-04-25 12:43:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:43:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:44:08] [INFO] Checking activity reminders 
[2026-04-25 12:44:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:44:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:44:38] [INFO] Checking activity reminders 
[2026-04-25 12:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:45:08] [INFO] Checking activity reminders 
[2026-04-25 12:45:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:45:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:45:08] [INFO] Checking activity reminders 
[2026-04-25 12:45:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:45:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:45:38] [INFO] Checking activity reminders 
[2026-04-25 12:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:45:38] [INFO] Checking activity reminders 
[2026-04-25 12:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:46:08] [INFO] Checking activity reminders 
[2026-04-25 12:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:46:39] [INFO] Checking activity reminders 
[2026-04-25 12:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:47:09] [INFO] Checking activity reminders 
[2026-04-25 12:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:47:39] [INFO] Checking activity reminders 
[2026-04-25 12:47:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:47:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:48:09] [INFO] Checking activity reminders 
[2026-04-25 12:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:48:39] [INFO] Checking activity reminders 
[2026-04-25 12:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:49:09] [INFO] Checking activity reminders 
[2026-04-25 12:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:49:39] [INFO] Checking activity reminders 
[2026-04-25 12:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:50:09] [INFO] Checking activity reminders 
[2026-04-25 12:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:50:39] [INFO] Checking activity reminders 
[2026-04-25 12:50:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:50:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:51:09] [INFO] Checking activity reminders 
[2026-04-25 12:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:51:40] [INFO] Checking activity reminders 
[2026-04-25 12:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:52:10] [INFO] Checking activity reminders 
[2026-04-25 12:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:52:40] [INFO] Checking activity reminders 
[2026-04-25 12:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:53:10] [INFO] Checking activity reminders 
[2026-04-25 12:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:53:39] [INFO] Activity save request {"post_data":{"contact_id":"9062","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"یزد \r\nلاستیک فروش \/ یزد \r\nطلای فیزیکی \/ سرمایه گذاری \r\nمعدن روی و سرب 40 میلیارد با پسرخاله اش دکترای معدن داره و 4 تا کارشناس دیگه سرمایه گذاری \/ مثال اقای فیروزی براش زدم \r\nخیلی مقاومت میکنه میگه من از کارشناسان خبره استفاده کردم و گمانه زنی برای سود و بهره برداری از معدن داشتم \r\nبرای کانال فعلا تمرکزی برای سرمایه گذاری نداره \r\nارسال لینک کانال عمومی استاد در بله","activity_duration":"16","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:53:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:53:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:53:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:53:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:53:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9062","note_was_empty":true}
[2026-04-25 12:53:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"9062","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:53:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec881b77cff0.52838560","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:53:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:53:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec881b77cff0.52838560"}
[2026-04-25 12:53:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:53:39] [INFO] Updating virtual stage {"contact_id":"9062","stage_name":"deal_registered","force":false}
[2026-04-25 12:53:39] [INFO] Virtual stage successfully saved {"contact_id":"9062","stage_name":"deal_registered"}
[2026-04-25 12:53:39] [INFO] Virtual stage updated after activity save {"contact_id":"9062"}
[2026-04-25 12:53:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9062","person_id":"20100"}
[2026-04-25 12:53:40] [INFO] Checking activity reminders 
[2026-04-25 12:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:53:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 12:54:10] [INFO] Checking activity reminders 
[2026-04-25 12:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:54:22] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:22] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 12:54:22] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:24] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:24] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:26] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"get_person_profile"}
[2026-04-25 12:54:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:29] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:29] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:30] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:30] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:40] [INFO] Checking activity reminders 
[2026-04-25 12:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:54:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 12:54:40] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 12:54:40] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 12:54:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 12:54:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 12:54:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 12:54:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 12:54:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:55:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-25 12:55:07] [INFO] Checking activity reminders 
[2026-04-25 12:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:55:11] [INFO] Checking activity reminders 
[2026-04-25 12:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:55:19] [INFO] Activity save request {"post_data":{"contact_id":"6662","deal_id":"local_69e0a7ef632e25.73471656","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:55:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6662","note_was_empty":true}
[2026-04-25 12:55:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"6662","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:19] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-25 12:55:19] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-25 12:55:19] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-25 12:55:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e0a7ef632e25.73471656","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-25 12:55:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec887f9b3763.97682031","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec887f9b3763.97682031"}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:19] [INFO] Updating virtual stage {"contact_id":"6662","stage_name":"deal_registered","force":false}
[2026-04-25 12:55:19] [INFO] Virtual stage successfully saved {"contact_id":"6662","stage_name":"deal_registered"}
[2026-04-25 12:55:19] [INFO] Virtual stage updated after activity save {"contact_id":"6662"}
[2026-04-25 12:55:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6662","person_id":"13759"}
[2026-04-25 12:55:32] [INFO] Checking activity reminders 
[2026-04-25 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:55:35] [INFO] Checking activity reminders 
[2026-04-25 12:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20970","person_id":"4290"}
[2026-04-25 12:56:05] [INFO] Checking activity reminders 
[2026-04-25 12:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:56:35] [INFO] Checking activity reminders 
[2026-04-25 12:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:56:57] [INFO] Checking activity reminders 
[2026-04-25 12:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:57:05] [INFO] Checking activity reminders 
[2026-04-25 12:57:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:57:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:57:35] [INFO] Checking activity reminders 
[2026-04-25 12:57:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:57:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:58:05] [INFO] Checking activity reminders 
[2026-04-25 12:58:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:58:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:58:36] [INFO] Checking activity reminders 
[2026-04-25 12:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:59:06] [INFO] Checking activity reminders 
[2026-04-25 12:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 12:59:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Activity save request {"post_data":{"contact_id":"11768","deal_id":"local_699d72d59585d5.67909885","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 12:59:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11768","note_was_empty":true}
[2026-04-25 12:59:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"11768","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-25 12:59:30] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-25 12:59:30] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-25 12:59:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d72d59585d5.67909885","stage":"تماس پیگیری","status_change":null}
[2026-04-25 12:59:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec897a5d8649.30968314","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec897a5d8649.30968314"}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:30] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-25 12:59:30] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-25 12:59:30] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-25 12:59:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-25 12:59:36] [INFO] Checking activity reminders 
[2026-04-25 12:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 12:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:00:06] [INFO] Checking activity reminders 
[2026-04-25 13:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:00:36] [INFO] Checking activity reminders 
[2026-04-25 13:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:01:06] [INFO] Checking activity reminders 
[2026-04-25 13:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:01:36] [INFO] Checking activity reminders 
[2026-04-25 13:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:01:54] [INFO] Activity save request {"post_data":{"contact_id":"20955","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"با گروه پرواز کار میکنه \/ هزینه اش کمتر ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:01:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:01:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:01:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20955","note_was_empty":true}
[2026-04-25 13:01:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"20955","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:01:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec8a0a736036.24390130","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:01:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec8a0a736036.24390130"}
[2026-04-25 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:01:54] [INFO] Updating virtual stage {"contact_id":"20955","stage_name":"deal_registered","force":false}
[2026-04-25 13:01:54] [INFO] Virtual stage successfully saved {"contact_id":"20955","stage_name":"deal_registered"}
[2026-04-25 13:01:54] [INFO] Virtual stage updated after activity save {"contact_id":"20955"}
[2026-04-25 13:01:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20955","person_id":"17481"}
[2026-04-25 13:02:06] [INFO] Checking activity reminders 
[2026-04-25 13:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:02:36] [INFO] Checking activity reminders 
[2026-04-25 13:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:03:06] [INFO] Checking activity reminders 
[2026-04-25 13:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:03:36] [INFO] Checking activity reminders 
[2026-04-25 13:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:04:06] [INFO] Checking activity reminders 
[2026-04-25 13:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:04:37] [INFO] Checking activity reminders 
[2026-04-25 13:04:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:04:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:05:07] [INFO] Checking activity reminders 
[2026-04-25 13:05:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:05:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:05:12] [INFO] Checking activity reminders 
[2026-04-25 13:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:05:37] [INFO] Checking activity reminders 
[2026-04-25 13:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:05:42] [INFO] Checking activity reminders 
[2026-04-25 13:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:06:07] [INFO] Checking activity reminders 
[2026-04-25 13:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:06:12] [INFO] Checking activity reminders 
[2026-04-25 13:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:06:37] [INFO] Checking activity reminders 
[2026-04-25 13:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:06:42] [INFO] Checking activity reminders 
[2026-04-25 13:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:07:12] [INFO] Checking activity reminders 
[2026-04-25 13:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:07:43] [INFO] Checking activity reminders 
[2026-04-25 13:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:08:13] [INFO] Checking activity reminders 
[2026-04-25 13:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:08:43] [INFO] Checking activity reminders 
[2026-04-25 13:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:09:13] [INFO] Checking activity reminders 
[2026-04-25 13:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:09:43] [INFO] Checking activity reminders 
[2026-04-25 13:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:10:13] [INFO] Checking activity reminders 
[2026-04-25 13:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:10:43] [INFO] Checking activity reminders 
[2026-04-25 13:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:11:13] [INFO] Checking activity reminders 
[2026-04-25 13:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:11:43] [INFO] Checking activity reminders 
[2026-04-25 13:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:12:13] [INFO] Checking activity reminders 
[2026-04-25 13:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:12:43] [INFO] Checking activity reminders 
[2026-04-25 13:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:13:14] [INFO] Checking activity reminders 
[2026-04-25 13:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:13:44] [INFO] Checking activity reminders 
[2026-04-25 13:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:14:14] [INFO] Checking activity reminders 
[2026-04-25 13:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:14:24] [INFO] Checking activity reminders 
[2026-04-25 13:14:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:14:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:14:44] [INFO] Checking activity reminders 
[2026-04-25 13:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:14:54] [INFO] Checking activity reminders 
[2026-04-25 13:14:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:14:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:15:14] [INFO] Checking activity reminders 
[2026-04-25 13:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:15:24] [INFO] Checking activity reminders 
[2026-04-25 13:15:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:15:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:15:44] [INFO] Checking activity reminders 
[2026-04-25 13:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:15:54] [INFO] Checking activity reminders 
[2026-04-25 13:15:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:15:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:16:14] [INFO] Checking activity reminders 
[2026-04-25 13:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:16:24] [INFO] Checking activity reminders 
[2026-04-25 13:16:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:16:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:16:54] [INFO] Checking activity reminders 
[2026-04-25 13:16:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:16:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:17:24] [INFO] Checking activity reminders 
[2026-04-25 13:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:17:54] [INFO] Checking activity reminders 
[2026-04-25 13:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:18:52] [INFO] Checking activity reminders 
[2026-04-25 13:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:19:22] [INFO] Checking activity reminders 
[2026-04-25 13:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:19:52] [INFO] Checking activity reminders 
[2026-04-25 13:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:20:22] [INFO] Checking activity reminders 
[2026-04-25 13:20:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:20:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:20:47] [INFO] Checking activity reminders 
[2026-04-25 13:20:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:20:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:21:06] [INFO] Checking activity reminders 
[2026-04-25 13:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:21:08] [INFO] Checking activity reminders 
[2026-04-25 13:21:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:21:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:21:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:37] [INFO] Activity save request {"post_data":{"contact_id":"1360","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:21:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:21:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:21:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1360","note_was_empty":true}
[2026-04-25 13:21:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"1360","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:21:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec8ea9dec828.35807400","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:21:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec8ea9dec828.35807400"}
[2026-04-25 13:21:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:37] [INFO] Updating virtual stage {"contact_id":"1360","stage_name":"with_purchase","force":false}
[2026-04-25 13:21:37] [INFO] Virtual stage successfully saved {"contact_id":"1360","stage_name":"with_purchase"}
[2026-04-25 13:21:37] [INFO] Virtual stage updated after activity save {"contact_id":"1360"}
[2026-04-25 13:21:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-25 13:21:38] [INFO] Checking activity reminders 
[2026-04-25 13:21:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:21:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:21:53] [INFO] Checking activity reminders 
[2026-04-25 13:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:22:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:22:09] [INFO] Checking activity reminders 
[2026-04-25 13:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:22:23] [INFO] Checking activity reminders 
[2026-04-25 13:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:22:39] [INFO] Checking activity reminders 
[2026-04-25 13:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:22:53] [INFO] Checking activity reminders 
[2026-04-25 13:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:23:09] [INFO] Checking activity reminders 
[2026-04-25 13:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:23:23] [INFO] Checking activity reminders 
[2026-04-25 13:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:23:24] [INFO] Activity save request {"post_data":{"contact_id":"15563","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"1500طلا \/ 700 نقد \/ 400 صندق \/ \r\nشغل طراحی دکوراسیون داخلی \r\nطلا بفروشه ماشین بگیره طبق سیگنال استاد \/ خیر از نقد و صندوقش انجام بده \r\nبدهی وام داره 45ت ایناد میخوساتن مجدد وام بگیره فعلا معامله کنه سود کنه بعد","activity_duration":"30","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:23:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:23:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:23:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:23:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:23:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15563","note_was_empty":true}
[2026-04-25 13:23:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"15563","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 13:23:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec8f14628570.97576624","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:23:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:23:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec8f14628570.97576624"}
[2026-04-25 13:23:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:23:24] [INFO] Updating virtual stage {"contact_id":"15563","stage_name":"deal_registered","force":false}
[2026-04-25 13:23:24] [INFO] Virtual stage successfully saved {"contact_id":"15563","stage_name":"deal_registered"}
[2026-04-25 13:23:24] [INFO] Virtual stage updated after activity save {"contact_id":"15563"}
[2026-04-25 13:23:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-25 13:23:40] [INFO] Checking activity reminders 
[2026-04-25 13:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:24:10] [INFO] Checking activity reminders 
[2026-04-25 13:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:24:40] [INFO] Checking activity reminders 
[2026-04-25 13:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:25:10] [INFO] Checking activity reminders 
[2026-04-25 13:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:25:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:40] [INFO] Checking activity reminders 
[2026-04-25 13:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:25:57] [INFO] Activity save request {"post_data":{"contact_id":"3985","deal_id":"local_694fa0e99ee6a6.87234985","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ\r\nپیامک  ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:25:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3985","note_was_empty":true}
[2026-04-25 13:25:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"3985","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:57] [INFO] Updating virtual stage {"contact_id":"3985","stage_name":"deal_registered","force":false}
[2026-04-25 13:25:57] [INFO] Virtual stage successfully saved {"contact_id":"3985","stage_name":"deal_registered"}
[2026-04-25 13:25:57] [INFO] Virtual stage updated after activity save {"contact_id":"3985"}
[2026-04-25 13:25:57] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694fa0e99ee6a6.87234985","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-25 13:25:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec8fad404240.04072179","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec8fad404240.04072179"}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:25:57] [INFO] Updating virtual stage {"contact_id":"3985","stage_name":"deal_registered","force":false}
[2026-04-25 13:25:57] [INFO] Virtual stage successfully saved {"contact_id":"3985","stage_name":"deal_registered"}
[2026-04-25 13:25:57] [INFO] Virtual stage updated after activity save {"contact_id":"3985"}
[2026-04-25 13:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3985","person_id":"16551"}
[2026-04-25 13:26:07] [INFO] Checking activity reminders 
[2026-04-25 13:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:26:10] [INFO] Checking activity reminders 
[2026-04-25 13:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:26:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:26:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69916201b8ff81.49897806","person_id":"21677"}
[2026-04-25 13:26:27] [INFO] Checking activity reminders 
[2026-04-25 13:26:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:26:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:26:37] [INFO] Checking activity reminders 
[2026-04-25 13:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:26:57] [INFO] Checking activity reminders 
[2026-04-25 13:26:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:26:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:27:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 13:27:00","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 13:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5973","is_new_deal":false}
[2026-04-25 13:27:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 13:27:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 13:27:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 13:27:00] [INFO] getContactPrimaryPhone called {"contact_id":"5973"}
[2026-04-25 13:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:00] [INFO] getContactPrimaryPhone result {"contact_id":"5973","person_found":true,"primary_phone":"9128991587"}
[2026-04-25 13:27:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128991587"}
[2026-04-25 13:27:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128991587","contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 13:27:00"}
[2026-04-25 13:27:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","existing_deal_found":true,"existing_contact_id":"5973","existing_title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 13:27:00"}
[2026-04-25 13:27:00] [INFO] DealController.save validated payments {"deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-25 13:27:00] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5973","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 13:27:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e8de52dc4235.61640199","contact_didar_id":"5973","title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9128991587","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بهراد","existing_deal":"YES","existing_deal_id":"local_69e8de52dc4235.61640199","existing_deal_status":"Pending","server_time":"2026-04-25 13:27:00","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 13:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e8de52dc4235.61640199","contact_id":"5973","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9128991587 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-25 13:27:00","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 13:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:07] [INFO] Checking activity reminders 
[2026-04-25 13:27:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:27:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:27:27] [INFO] Checking activity reminders 
[2026-04-25 13:27:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:27:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:27:31] [INFO] Activity save request {"post_data":{"contact_id":"5973","deal_id":"local_69e8de52dc4235.61640199","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه شد تا اخر مهر دسترسی داره\r\nبرای مجرد 206 معامله کرد ","activity_duration":"15","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:27:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5973","note_was_empty":true}
[2026-04-25 13:27:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"5973","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"with_purchase","force":false}
[2026-04-25 13:27:31] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"with_purchase"}
[2026-04-25 13:27:31] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8de52dc4235.61640199","stage":"اتمام","status_change":"Won"}
[2026-04-25 13:27:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec900b0be2f4.74297208","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec900b0be2f4.74297208"}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:31] [INFO] Updating virtual stage {"contact_id":"5973","stage_name":"with_purchase","force":false}
[2026-04-25 13:27:31] [INFO] Virtual stage successfully saved {"contact_id":"5973","stage_name":"with_purchase"}
[2026-04-25 13:27:31] [INFO] Virtual stage updated after activity save {"contact_id":"5973"}
[2026-04-25 13:27:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:40] [INFO] Checking activity reminders 
[2026-04-25 13:27:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:27:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:27:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-25 13:27:57] [INFO] Checking activity reminders 
[2026-04-25 13:27:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:27:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:28:10] [INFO] Checking activity reminders 
[2026-04-25 13:28:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:28:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:28:26] [INFO] Activity save request {"post_data":{"contact_id":"15950","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 13:28:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:28:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 13:28:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15950","note_was_empty":true}
[2026-04-25 13:28:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"15950","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:28:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec9042772680.22399652","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 13:28:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec9042772680.22399652"}
[2026-04-25 13:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 13:28:26] [INFO] Updating virtual stage {"contact_id":"15950","stage_name":"deal_registered","force":false}
[2026-04-25 13:28:26] [INFO] Virtual stage successfully saved {"contact_id":"15950","stage_name":"deal_registered"}
[2026-04-25 13:28:26] [INFO] Virtual stage updated after activity save {"contact_id":"15950"}
[2026-04-25 13:28:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15950","person_id":"40"}
[2026-04-25 13:28:28] [INFO] Checking activity reminders 
[2026-04-25 13:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:28:40] [INFO] Checking activity reminders 
[2026-04-25 13:28:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:28:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:28:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:28:58] [INFO] Checking activity reminders 
[2026-04-25 13:28:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:28:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:29:10] [INFO] Checking activity reminders 
[2026-04-25 13:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:29:28] [INFO] Checking activity reminders 
[2026-04-25 13:29:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:29:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:29:34] [INFO] Checking activity reminders 
[2026-04-25 13:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:29:40] [INFO] Checking activity reminders 
[2026-04-25 13:29:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:29:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:30:11] [INFO] Checking activity reminders 
[2026-04-25 13:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:30:41] [INFO] Checking activity reminders 
[2026-04-25 13:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:31:09] [INFO] Activity save request {"post_data":{"contact_id":"1850","deal_id":"local_69d224856d6d87.15261957","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک پیگیری مالی","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:31:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1850","note_was_empty":true}
[2026-04-25 13:31:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"1850","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:09] [INFO] Updating virtual stage {"contact_id":"1850","stage_name":"deal_registered","force":false}
[2026-04-25 13:31:09] [INFO] Virtual stage successfully saved {"contact_id":"1850","stage_name":"deal_registered"}
[2026-04-25 13:31:09] [INFO] Virtual stage updated after activity save {"contact_id":"1850"}
[2026-04-25 13:31:09] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d224856d6d87.15261957","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 13:31:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec90e55797c0.56654746","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec90e55797c0.56654746"}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:09] [INFO] Updating virtual stage {"contact_id":"1850","stage_name":"deal_registered","force":false}
[2026-04-25 13:31:09] [INFO] Virtual stage successfully saved {"contact_id":"1850","stage_name":"deal_registered"}
[2026-04-25 13:31:09] [INFO] Virtual stage updated after activity save {"contact_id":"1850"}
[2026-04-25 13:31:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-25 13:31:11] [INFO] Checking activity reminders 
[2026-04-25 13:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:31:30] [INFO] Checking activity reminders 
[2026-04-25 13:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:31:30] [INFO] Checking activity reminders 
[2026-04-25 13:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:31:32] [INFO] Checking activity reminders 
[2026-04-25 13:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:31:36] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 13:31:41] [INFO] Checking activity reminders 
[2026-04-25 13:31:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:31:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:32:06] [INFO] Checking activity reminders 
[2026-04-25 13:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:32:11] [INFO] Checking activity reminders 
[2026-04-25 13:32:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:32:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:32:36] [INFO] Checking activity reminders 
[2026-04-25 13:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:32:41] [INFO] Checking activity reminders 
[2026-04-25 13:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:32:49] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 13:32:49] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 13:32:49] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 13:33:06] [INFO] Checking activity reminders 
[2026-04-25 13:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:33:11] [INFO] Checking activity reminders 
[2026-04-25 13:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:33:36] [INFO] Checking activity reminders 
[2026-04-25 13:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:33:41] [INFO] Checking activity reminders 
[2026-04-25 13:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:34:06] [INFO] Checking activity reminders 
[2026-04-25 13:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:34:11] [INFO] Checking activity reminders 
[2026-04-25 13:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:34:36] [INFO] Checking activity reminders 
[2026-04-25 13:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:34:41] [INFO] Checking activity reminders 
[2026-04-25 13:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:35:06] [INFO] Checking activity reminders 
[2026-04-25 13:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:35:37] [INFO] Checking activity reminders 
[2026-04-25 13:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:36:07] [INFO] Checking activity reminders 
[2026-04-25 13:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:36:37] [INFO] Checking activity reminders 
[2026-04-25 13:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:37:07] [INFO] Checking activity reminders 
[2026-04-25 13:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:37:37] [INFO] Checking activity reminders 
[2026-04-25 13:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:38:07] [INFO] Checking activity reminders 
[2026-04-25 13:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:38:37] [INFO] Checking activity reminders 
[2026-04-25 13:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:39:07] [INFO] Checking activity reminders 
[2026-04-25 13:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:39:37] [INFO] Checking activity reminders 
[2026-04-25 13:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:40:07] [INFO] Checking activity reminders 
[2026-04-25 13:40:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:40:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:40:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:40:37] [INFO] Checking activity reminders 
[2026-04-25 13:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:41:07] [INFO] Checking activity reminders 
[2026-04-25 13:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:41:35] [INFO] Activity save request {"post_data":{"contact_id":"7666","deal_id":"local_69d6909d3aa6b0.45939408","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط 6 اهه اطلاع داده شد \r\nبعد از کلی پیچوندن متوجه شدم در کانال دیگه ای عضو هست \r\n","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:41:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7666","note_was_empty":true}
[2026-04-25 13:41:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"7666","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:35] [INFO] Updating virtual stage {"contact_id":"7666","stage_name":"deal_registered","force":false}
[2026-04-25 13:41:35] [INFO] Virtual stage successfully saved {"contact_id":"7666","stage_name":"deal_registered"}
[2026-04-25 13:41:35] [INFO] Virtual stage updated after activity save {"contact_id":"7666"}
[2026-04-25 13:41:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6909d3aa6b0.45939408","stage":"تماس پیگیری","status_change":null}
[2026-04-25 13:41:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec9357e1d724.65773337","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec9357e1d724.65773337"}
[2026-04-25 13:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:35] [INFO] Updating virtual stage {"contact_id":"7666","stage_name":"deal_registered","force":false}
[2026-04-25 13:41:35] [INFO] Virtual stage successfully saved {"contact_id":"7666","stage_name":"deal_registered"}
[2026-04-25 13:41:35] [INFO] Virtual stage updated after activity save {"contact_id":"7666"}
[2026-04-25 13:41:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:41:37] [INFO] Checking activity reminders 
[2026-04-25 13:41:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:41:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:42:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7666","deal_id":"local_69d6909d3aa6b0.45939408","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 13:42:01","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 13:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:42:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7666","is_new_deal":false}
[2026-04-25 13:42:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 13:42:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:42:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:42:01] [INFO] getContactPrimaryPhone called {"contact_id":"7666"}
[2026-04-25 13:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:42:01] [INFO] getContactPrimaryPhone result {"contact_id":"7666","person_found":true,"primary_phone":"9330667795"}
[2026-04-25 13:42:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9330667795"}
[2026-04-25 13:42:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9330667795","contact_id":"7666","deal_id":"local_69d6909d3aa6b0.45939408","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 13:42:01"}
[2026-04-25 13:42:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6909d3aa6b0.45939408","contact_id":"7666","existing_deal_found":true,"existing_contact_id":"7666","existing_title":"معامله سوم 9330667795 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 13:42:01"}
[2026-04-25 13:42:01] [INFO] DealController.save validated payments {"deal_id":"local_69d6909d3aa6b0.45939408","contact_id":"7666","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-25 13:42:01] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7666","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 13:42:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6909d3aa6b0.45939408","contact_didar_id":"7666","title":"معامله سوم 9330667795 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9330667795","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امیر نصیری","existing_deal":"YES","existing_deal_id":"local_69d6909d3aa6b0.45939408","existing_deal_status":"Pending","server_time":"2026-04-25 13:42:01","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 13:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:42:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6909d3aa6b0.45939408","contact_id":"7666","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9330667795 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-25 13:42:01","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 13:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7666","person_id":"49"}
[2026-04-25 13:42:09] [INFO] Checking activity reminders 
[2026-04-25 13:42:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:42:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:42:11] [INFO] Checking activity reminders 
[2026-04-25 13:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:42:13] [INFO] Checking activity reminders 
[2026-04-25 13:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:42:15] [INFO] Checking activity reminders 
[2026-04-25 13:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:42:30] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"log_client_event"}
[2026-04-25 13:42:30] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"check_reminders"}
[2026-04-25 13:42:30] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"log_client_event"}
[2026-04-25 13:42:45] [INFO] Checking activity reminders 
[2026-04-25 13:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:43:15] [INFO] Checking activity reminders 
[2026-04-25 13:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:43:30] [INFO] Checking activity reminders 
[2026-04-25 13:43:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:43:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:43:45] [INFO] Checking activity reminders 
[2026-04-25 13:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:44:15] [INFO] Checking activity reminders 
[2026-04-25 13:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:44:18] [INFO] Checking activity reminders 
[2026-04-25 13:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:44:19] [INFO] Checking activity reminders 
[2026-04-25 13:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:44:21] [INFO] Checking activity reminders 
[2026-04-25 13:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:44:40] [INFO] Checking activity reminders 
[2026-04-25 13:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:45:10] [INFO] Checking activity reminders 
[2026-04-25 13:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:45:40] [INFO] Checking activity reminders 
[2026-04-25 13:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:46:10] [INFO] Checking activity reminders 
[2026-04-25 13:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:46:40] [INFO] Checking activity reminders 
[2026-04-25 13:46:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:46:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:47:10] [INFO] Checking activity reminders 
[2026-04-25 13:47:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:47:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:47:27] [INFO] Checking activity reminders 
[2026-04-25 13:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:47:40] [INFO] Checking activity reminders 
[2026-04-25 13:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:47:57] [INFO] Checking activity reminders 
[2026-04-25 13:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:48:10] [INFO] Checking activity reminders 
[2026-04-25 13:48:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:48:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:48:27] [INFO] Checking activity reminders 
[2026-04-25 13:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:48:40] [INFO] Checking activity reminders 
[2026-04-25 13:48:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:48:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:48:57] [INFO] Checking activity reminders 
[2026-04-25 13:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:49:10] [INFO] Checking activity reminders 
[2026-04-25 13:49:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:49:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:49:28] [INFO] Checking activity reminders 
[2026-04-25 13:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:49:41] [INFO] Checking activity reminders 
[2026-04-25 13:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:49:58] [INFO] Checking activity reminders 
[2026-04-25 13:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:50:11] [INFO] Checking activity reminders 
[2026-04-25 13:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:50:28] [INFO] Checking activity reminders 
[2026-04-25 13:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:50:41] [INFO] Checking activity reminders 
[2026-04-25 13:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:50:58] [INFO] Checking activity reminders 
[2026-04-25 13:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:51:11] [INFO] Checking activity reminders 
[2026-04-25 13:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:51:28] [INFO] Checking activity reminders 
[2026-04-25 13:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:51:41] [INFO] Checking activity reminders 
[2026-04-25 13:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:52:11] [INFO] Checking activity reminders 
[2026-04-25 13:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:52:41] [INFO] Checking activity reminders 
[2026-04-25 13:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:52:43] [INFO] Checking activity reminders 
[2026-04-25 13:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:53:11] [INFO] Checking activity reminders 
[2026-04-25 13:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:53:13] [INFO] Checking activity reminders 
[2026-04-25 13:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:53:41] [INFO] Checking activity reminders 
[2026-04-25 13:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:53:43] [INFO] Checking activity reminders 
[2026-04-25 13:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:54:11] [INFO] Checking activity reminders 
[2026-04-25 13:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:54:13] [INFO] Checking activity reminders 
[2026-04-25 13:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:54:41] [INFO] Checking activity reminders 
[2026-04-25 13:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:54:43] [INFO] Checking activity reminders 
[2026-04-25 13:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:55:12] [INFO] Checking activity reminders 
[2026-04-25 13:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:55:13] [INFO] Checking activity reminders 
[2026-04-25 13:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:55:42] [INFO] Checking activity reminders 
[2026-04-25 13:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:55:44] [INFO] Checking activity reminders 
[2026-04-25 13:55:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:55:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:55:56] [INFO] Checking activity reminders 
[2026-04-25 13:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:56:12] [INFO] Checking activity reminders 
[2026-04-25 13:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:56:17] [INFO] Activity save request {"post_data":{"contact_id":"7371","deal_id":"local_69bbaeb8c2a9f6.57498797","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nپیامک ارسال \r\nقیمت اشتراک یکساله و 6 ماهه ارسال \r\nمیگه استاد همش میگه طلا بخرید خب خودم میخرم \r\nاز کانال رضایت نداشت \r\nخیلی تیکه میندازه ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 13:56:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7371","note_was_empty":true}
[2026-04-25 13:56:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"7371","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:17] [INFO] Updating virtual stage {"contact_id":"7371","stage_name":"deal_registered","force":false}
[2026-04-25 13:56:17] [INFO] Virtual stage successfully saved {"contact_id":"7371","stage_name":"deal_registered"}
[2026-04-25 13:56:17] [INFO] Virtual stage updated after activity save {"contact_id":"7371"}
[2026-04-25 13:56:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbaeb8c2a9f6.57498797","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-25 13:56:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec96c96ab9e2.10552012","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec96c96ab9e2.10552012"}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:17] [INFO] Updating virtual stage {"contact_id":"7371","stage_name":"deal_registered","force":false}
[2026-04-25 13:56:17] [INFO] Virtual stage successfully saved {"contact_id":"7371","stage_name":"deal_registered"}
[2026-04-25 13:56:17] [INFO] Virtual stage updated after activity save {"contact_id":"7371"}
[2026-04-25 13:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:42] [INFO] Checking activity reminders 
[2026-04-25 13:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:56:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7371","deal_id":"local_69bbaeb8c2a9f6.57498797","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 13:56:57","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 13:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7371","is_new_deal":false}
[2026-04-25 13:56:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 13:56:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:56:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:56:57] [INFO] getContactPrimaryPhone called {"contact_id":"7371"}
[2026-04-25 13:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:57] [INFO] getContactPrimaryPhone result {"contact_id":"7371","person_found":true,"primary_phone":"9107784835"}
[2026-04-25 13:56:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9107784835"}
[2026-04-25 13:56:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9107784835","contact_id":"7371","deal_id":"local_69bbaeb8c2a9f6.57498797","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 13:56:57"}
[2026-04-25 13:56:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bbaeb8c2a9f6.57498797","contact_id":"7371","existing_deal_found":true,"existing_contact_id":"7371","existing_title":"معامله سوم 9107784835 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 13:56:57"}
[2026-04-25 13:56:57] [INFO] DealController.save validated payments {"deal_id":"local_69bbaeb8c2a9f6.57498797","contact_id":"7371","payments_count":0,"status":"lost","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-25 13:56:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7371","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 13:56:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bbaeb8c2a9f6.57498797","contact_didar_id":"7371","title":"معامله سوم 9107784835 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9107784835","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسین موسوی","existing_deal":"YES","existing_deal_id":"local_69bbaeb8c2a9f6.57498797","existing_deal_status":"Pending","server_time":"2026-04-25 13:56:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 13:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:56:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bbaeb8c2a9f6.57498797","contact_id":"7371","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9107784835 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس عدم پاسخ","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-25 13:56:57","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 13:56:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7371","person_id":"14772"}
[2026-04-25 13:57:12] [INFO] Checking activity reminders 
[2026-04-25 13:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:57:42] [INFO] Checking activity reminders 
[2026-04-25 13:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:57:47] [WARNING] Auth check failed - not authenticated {"session_id":"dg2kek3cvlsochaeko06b6tb4a","session_keys":[],"action":"log_client_event"}
[2026-04-25 13:57:47] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 13:57:47] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 13:57:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 13:57:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 13:57:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 13:57:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 13:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:12] [INFO] Checking activity reminders 
[2026-04-25 13:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:58:17] [INFO] Checking activity reminders 
[2026-04-25 13:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:58:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:31] [INFO] Lead update received {"contact_id":"17294","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 13:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"17294"}
[2026-04-25 13:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 13:58:42] [INFO] Checking activity reminders 
[2026-04-25 13:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:58:59] [INFO] Checking activity reminders 
[2026-04-25 13:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:59:13] [INFO] Checking activity reminders 
[2026-04-25 13:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:59:14] [INFO] Checking activity reminders 
[2026-04-25 13:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:59:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:33] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11424","deal_id":"local_6953e7807b3ac8.68569431","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 13:59:33","session_id":"dg2kek3cvlsochaeko06b6tb4a"}
[2026-04-25 13:59:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:33] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11424","is_new_deal":false}
[2026-04-25 13:59:33] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 13:59:33] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:59:33] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 13:59:33] [INFO] getContactPrimaryPhone called {"contact_id":"11424"}
[2026-04-25 13:59:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:33] [INFO] getContactPrimaryPhone result {"contact_id":"11424","person_found":true,"primary_phone":"9188020144"}
[2026-04-25 13:59:33] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9188020144"}
[2026-04-25 13:59:33] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9188020144","contact_id":"11424","deal_id":"local_6953e7807b3ac8.68569431","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-25 13:59:33"}
[2026-04-25 13:59:33] [INFO] DealController.save existing deal lookup {"deal_id":"local_6953e7807b3ac8.68569431","contact_id":"11424","existing_deal_found":true,"existing_contact_id":"11424","existing_title":"معامله دوم 9188020144 | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-25 13:59:33"}
[2026-04-25 13:59:33] [INFO] DealController.save validated payments {"deal_id":"local_6953e7807b3ac8.68569431","contact_id":"11424","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 13:59:33] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"11424","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-25 13:59:33] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6953e7807b3ac8.68569431","contact_didar_id":"11424","title":"معامله دوم 9188020144 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9188020144","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":25000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"میثم میرزایی","existing_deal":"YES","existing_deal_id":"local_6953e7807b3ac8.68569431","existing_deal_status":"Pending","server_time":"2026-04-25 13:59:33","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-25 13:59:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:33] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6953e7807b3ac8.68569431","contact_id":"11424","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9188020144 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":25000000,"server_time":"2026-04-25 13:59:33","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 13:59:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:43] [INFO] Checking activity reminders 
[2026-04-25 13:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:59:44] [INFO] Checking activity reminders 
[2026-04-25 13:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 13:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 13:59:58] [INFO] Lead update received {"contact_id":"11424","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 13:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 13:59:58] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11424"}
[2026-04-25 13:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:00:13] [INFO] Checking activity reminders 
[2026-04-25 14:00:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:00:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:00:37] [INFO] Checking activity reminders 
[2026-04-25 14:00:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:00:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:00:43] [INFO] Checking activity reminders 
[2026-04-25 14:00:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:00:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:01:07] [INFO] Checking activity reminders 
[2026-04-25 14:01:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:01:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:01:13] [INFO] Checking activity reminders 
[2026-04-25 14:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:01:16] [INFO] Lead update received {"contact_id":"2130","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 14:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:01:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:01:16] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2130"}
[2026-04-25 14:01:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:01:42] [INFO] Checking activity reminders 
[2026-04-25 14:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:01:43] [INFO] Checking activity reminders 
[2026-04-25 14:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:02:12] [INFO] Checking activity reminders 
[2026-04-25 14:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:02:13] [INFO] Checking activity reminders 
[2026-04-25 14:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:02:14] [INFO] Lead update received {"contact_id":"5056","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 14:02:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:02:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:02:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:02:14] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5056"}
[2026-04-25 14:02:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:02:31] [INFO] Checking activity reminders 
[2026-04-25 14:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-25 14:02:42] [INFO] Checking activity reminders 
[2026-04-25 14:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:02:43] [INFO] Checking activity reminders 
[2026-04-25 14:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:02:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:03:01] [INFO] Checking activity reminders 
[2026-04-25 14:03:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:11] [INFO] Checking activity reminders 
[2026-04-25 14:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:13] [INFO] Checking activity reminders 
[2026-04-25 14:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:30] [INFO] Lead update received {"contact_id":"8044","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 14:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:03:30] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8044"}
[2026-04-25 14:03:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:03:32] [INFO] Checking activity reminders 
[2026-04-25 14:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:40] [INFO] Checking activity reminders 
[2026-04-25 14:03:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:43] [INFO] Checking activity reminders 
[2026-04-25 14:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:03:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:02] [INFO] Checking activity reminders 
[2026-04-25 14:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:04:11] [INFO] Checking activity reminders 
[2026-04-25 14:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:04:13] [INFO] Checking activity reminders 
[2026-04-25 14:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:04:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:04:32] [INFO] Checking activity reminders 
[2026-04-25 14:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:04:39] [INFO] Activity save request {"post_data":{"contact_id":"3149","deal_id":"local_69d604b8b3d1f2.77230727","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام در بله","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:04:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3149","note_was_empty":true}
[2026-04-25 14:04:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"3149","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:39] [INFO] Updating virtual stage {"contact_id":"3149","stage_name":"deal_registered","force":false}
[2026-04-25 14:04:39] [INFO] Virtual stage successfully saved {"contact_id":"3149","stage_name":"deal_registered"}
[2026-04-25 14:04:39] [INFO] Virtual stage updated after activity save {"contact_id":"3149"}
[2026-04-25 14:04:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d604b8b3d1f2.77230727","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-25 14:04:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec98bf0986c2.50549629","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec98bf0986c2.50549629"}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:39] [INFO] Updating virtual stage {"contact_id":"3149","stage_name":"deal_registered","force":false}
[2026-04-25 14:04:39] [INFO] Virtual stage successfully saved {"contact_id":"3149","stage_name":"deal_registered"}
[2026-04-25 14:04:39] [INFO] Virtual stage updated after activity save {"contact_id":"3149"}
[2026-04-25 14:04:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3149","person_id":"13736"}
[2026-04-25 14:04:41] [INFO] Lead update received {"contact_id":"2956","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 14:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:04:41] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2956"}
[2026-04-25 14:04:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:04:41] [INFO] Checking activity reminders 
[2026-04-25 14:04:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:04:43] [INFO] Checking activity reminders 
[2026-04-25 14:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:05:02] [INFO] Checking activity reminders 
[2026-04-25 14:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:05:09] [INFO] Checking activity reminders 
[2026-04-25 14:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:05:13] [INFO] Checking activity reminders 
[2026-04-25 14:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Activity save request {"post_data":{"contact_id":"3559","deal_id":"local_69d498b38d78f3.98740416","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ .\r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:05:43] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3559","note_was_empty":true}
[2026-04-25 14:05:43] [INFO] Didar write disabled; saving activity locally {"contact_id":"3559","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Updating virtual stage {"contact_id":"3559","stage_name":"deal_registered","force":false}
[2026-04-25 14:05:43] [INFO] Virtual stage successfully saved {"contact_id":"3559","stage_name":"deal_registered"}
[2026-04-25 14:05:43] [INFO] Virtual stage updated after activity save {"contact_id":"3559"}
[2026-04-25 14:05:43] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d498b38d78f3.98740416","stage":"تماس پیگیری","status_change":null}
[2026-04-25 14:05:43] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec98ff699871.37190715","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec98ff699871.37190715"}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:43] [INFO] Updating virtual stage {"contact_id":"3559","stage_name":"deal_registered","force":false}
[2026-04-25 14:05:43] [INFO] Virtual stage successfully saved {"contact_id":"3559","stage_name":"deal_registered"}
[2026-04-25 14:05:43] [INFO] Virtual stage updated after activity save {"contact_id":"3559"}
[2026-04-25 14:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-25 14:05:44] [INFO] Checking activity reminders 
[2026-04-25 14:05:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:05:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:04] [INFO] Checking activity reminders 
[2026-04-25 14:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:14] [INFO] Checking activity reminders 
[2026-04-25 14:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:34] [INFO] Checking activity reminders 
[2026-04-25 14:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:44] [INFO] Checking activity reminders 
[2026-04-25 14:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:46] [INFO] Activity save request {"post_data":{"contact_id":"17294","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری مانده چه تاریخی ؟","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:06:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17294","note_was_empty":true}
[2026-04-25 14:06:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"17294","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:06:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec993ea0ba45.60730481","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec993ea0ba45.60730481"}
[2026-04-25 14:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:46] [INFO] Updating virtual stage {"contact_id":"17294","stage_name":"deal_registered","force":false}
[2026-04-25 14:06:46] [INFO] Virtual stage successfully saved {"contact_id":"17294","stage_name":"deal_registered"}
[2026-04-25 14:06:46] [INFO] Virtual stage updated after activity save {"contact_id":"17294"}
[2026-04-25 14:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17294","person_id":"14009"}
[2026-04-25 14:06:54] [INFO] Checking activity reminders 
[2026-04-25 14:06:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:06:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:06:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:14] [INFO] Checking activity reminders 
[2026-04-25 14:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:07:24] [INFO] Checking activity reminders 
[2026-04-25 14:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:07:40] [INFO] Activity save request {"post_data":{"contact_id":"11424","deal_id":"local_6953e7807b3ac8.68569431","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"cip هم هست \/ کانالم هست \/ پیگیری مانده 74ت زده الباقی ؟","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:07:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11424","note_was_empty":true}
[2026-04-25 14:07:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"11424","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:40] [INFO] Updating virtual stage {"contact_id":"11424","stage_name":"deal_registered","force":false}
[2026-04-25 14:07:40] [INFO] Virtual stage successfully saved {"contact_id":"11424","stage_name":"deal_registered"}
[2026-04-25 14:07:40] [INFO] Virtual stage updated after activity save {"contact_id":"11424"}
[2026-04-25 14:07:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6953e7807b3ac8.68569431","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:07:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec9974bbb472.58861178","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec9974bbb472.58861178"}
[2026-04-25 14:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:40] [INFO] Updating virtual stage {"contact_id":"11424","stage_name":"deal_registered","force":false}
[2026-04-25 14:07:40] [INFO] Virtual stage successfully saved {"contact_id":"11424","stage_name":"deal_registered"}
[2026-04-25 14:07:40] [INFO] Virtual stage updated after activity save {"contact_id":"11424"}
[2026-04-25 14:07:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11424","person_id":"13754"}
[2026-04-25 14:07:44] [INFO] Checking activity reminders 
[2026-04-25 14:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:07:48] [INFO] Checking activity reminders 
[2026-04-25 14:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:07:58] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:07:58] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"check_reminders"}
[2026-04-25 14:07:58] [WARNING] Auth check failed - not authenticated {"session_id":"gckuvdq61emup01nd6csnh3gse","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:08:14] [INFO] Checking activity reminders 
[2026-04-25 14:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:08:18] [INFO] Checking activity reminders 
[2026-04-25 14:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:08:33] [INFO] Activity save request {"post_data":{"contact_id":"2130","deal_id":"local_699d78efc8f299.47314323","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری مانده چه تاریخی؟ \r\n35 ت زدن","activity_duration":"15","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:08:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2130","note_was_empty":true}
[2026-04-25 14:08:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"2130","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:33] [INFO] Updating virtual stage {"contact_id":"2130","stage_name":"deal_registered","force":false}
[2026-04-25 14:08:33] [INFO] Virtual stage successfully saved {"contact_id":"2130","stage_name":"deal_registered"}
[2026-04-25 14:08:33] [INFO] Virtual stage updated after activity save {"contact_id":"2130"}
[2026-04-25 14:08:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d78efc8f299.47314323","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:08:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec99a9232691.45062801","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec99a9232691.45062801"}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:33] [INFO] Updating virtual stage {"contact_id":"2130","stage_name":"deal_registered","force":false}
[2026-04-25 14:08:33] [INFO] Virtual stage successfully saved {"contact_id":"2130","stage_name":"deal_registered"}
[2026-04-25 14:08:33] [INFO] Virtual stage updated after activity save {"contact_id":"2130"}
[2026-04-25 14:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2130","person_id":"3229"}
[2026-04-25 14:08:41] [INFO] Checking activity reminders 
[2026-04-25 14:08:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:08:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:08:44] [INFO] Checking activity reminders 
[2026-04-25 14:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:08:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Activity save request {"post_data":{"contact_id":"5056","deal_id":"local_69b734ee9aff58.73373004","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری مانده بزنه پیام","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:09:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5056","note_was_empty":true}
[2026-04-25 14:09:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"5056","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Updating virtual stage {"contact_id":"5056","stage_name":"deal_registered","force":false}
[2026-04-25 14:09:05] [INFO] Virtual stage successfully saved {"contact_id":"5056","stage_name":"deal_registered"}
[2026-04-25 14:09:05] [INFO] Virtual stage updated after activity save {"contact_id":"5056"}
[2026-04-25 14:09:05] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b734ee9aff58.73373004","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:09:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec99c91b3d33.04269951","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec99c91b3d33.04269951"}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:05] [INFO] Updating virtual stage {"contact_id":"5056","stage_name":"deal_registered","force":false}
[2026-04-25 14:09:05] [INFO] Virtual stage successfully saved {"contact_id":"5056","stage_name":"deal_registered"}
[2026-04-25 14:09:05] [INFO] Virtual stage updated after activity save {"contact_id":"5056"}
[2026-04-25 14:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5056","person_id":"10776"}
[2026-04-25 14:09:13] [INFO] Checking activity reminders 
[2026-04-25 14:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:09:14] [INFO] Checking activity reminders 
[2026-04-25 14:09:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:09:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:09:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Activity save request {"post_data":{"contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال 20 ت زده پیگیری مانده بزنه؟","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:09:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"8044","note_was_empty":true}
[2026-04-25 14:09:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"8044","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Updating virtual stage {"contact_id":"8044","stage_name":"deal_registered","force":false}
[2026-04-25 14:09:37] [INFO] Virtual stage successfully saved {"contact_id":"8044","stage_name":"deal_registered"}
[2026-04-25 14:09:37] [INFO] Virtual stage updated after activity save {"contact_id":"8044"}
[2026-04-25 14:09:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6ab233dc237.07267917","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:09:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec99e94c0446.26346969","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec99e94c0446.26346969"}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:37] [INFO] Updating virtual stage {"contact_id":"8044","stage_name":"deal_registered","force":false}
[2026-04-25 14:09:37] [INFO] Virtual stage successfully saved {"contact_id":"8044","stage_name":"deal_registered"}
[2026-04-25 14:09:37] [INFO] Virtual stage updated after activity save {"contact_id":"8044"}
[2026-04-25 14:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-25 14:09:44] [INFO] Checking activity reminders 
[2026-04-25 14:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:09:50] [INFO] Checking activity reminders 
[2026-04-25 14:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Activity save request {"post_data":{"contact_id":"873","deal_id":"local_69b6b207730444.37565396","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری مانده کی میزنه؟","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:10:11] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"873","note_was_empty":true}
[2026-04-25 14:10:11] [INFO] Didar write disabled; saving activity locally {"contact_id":"873","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Updating virtual stage {"contact_id":"873","stage_name":"deal_registered","force":false}
[2026-04-25 14:10:11] [INFO] Virtual stage successfully saved {"contact_id":"873","stage_name":"deal_registered"}
[2026-04-25 14:10:11] [INFO] Virtual stage updated after activity save {"contact_id":"873"}
[2026-04-25 14:10:11] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6b207730444.37565396","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:10:11] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec9a0bab7b04.18412576","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec9a0bab7b04.18412576"}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:11] [INFO] Updating virtual stage {"contact_id":"873","stage_name":"deal_registered","force":false}
[2026-04-25 14:10:11] [INFO] Virtual stage successfully saved {"contact_id":"873","stage_name":"deal_registered"}
[2026-04-25 14:10:11] [INFO] Virtual stage updated after activity save {"contact_id":"873"}
[2026-04-25 14:10:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"873","person_id":"6680"}
[2026-04-25 14:10:14] [INFO] Checking activity reminders 
[2026-04-25 14:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:10:20] [INFO] Checking activity reminders 
[2026-04-25 14:10:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:10:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Activity save request {"post_data":{"contact_id":"2956","deal_id":"local_69b2c30305dbd9.61403963","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری مانده کی میزنه ؟ ","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 14:10:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2956","note_was_empty":true}
[2026-04-25 14:10:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"2956","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Updating virtual stage {"contact_id":"2956","stage_name":"deal_registered","force":false}
[2026-04-25 14:10:36] [INFO] Virtual stage successfully saved {"contact_id":"2956","stage_name":"deal_registered"}
[2026-04-25 14:10:36] [INFO] Virtual stage updated after activity save {"contact_id":"2956"}
[2026-04-25 14:10:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b2c30305dbd9.61403963","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 14:10:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ec9a24969926.48509907","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69ec9a24969926.48509907"}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:36] [INFO] Updating virtual stage {"contact_id":"2956","stage_name":"deal_registered","force":false}
[2026-04-25 14:10:36] [INFO] Virtual stage successfully saved {"contact_id":"2956","stage_name":"deal_registered"}
[2026-04-25 14:10:36] [INFO] Virtual stage updated after activity save {"contact_id":"2956"}
[2026-04-25 14:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-25 14:10:44] [INFO] Checking activity reminders 
[2026-04-25 14:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:10:49] [INFO] Checking activity reminders 
[2026-04-25 14:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:11:14] [INFO] Checking activity reminders 
[2026-04-25 14:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:11:19] [INFO] Checking activity reminders 
[2026-04-25 14:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:11:44] [INFO] Checking activity reminders 
[2026-04-25 14:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:11:49] [INFO] Checking activity reminders 
[2026-04-25 14:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:12:15] [INFO] Checking activity reminders 
[2026-04-25 14:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:12:19] [INFO] Checking activity reminders 
[2026-04-25 14:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:12:45] [INFO] Checking activity reminders 
[2026-04-25 14:12:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:12:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:12:50] [INFO] Checking activity reminders 
[2026-04-25 14:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:13:15] [INFO] Checking activity reminders 
[2026-04-25 14:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:13:20] [INFO] Checking activity reminders 
[2026-04-25 14:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:13:45] [INFO] Checking activity reminders 
[2026-04-25 14:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:13:50] [INFO] Checking activity reminders 
[2026-04-25 14:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:14:15] [INFO] Checking activity reminders 
[2026-04-25 14:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:14:20] [INFO] Checking activity reminders 
[2026-04-25 14:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:14:45] [INFO] Checking activity reminders 
[2026-04-25 14:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:14:50] [INFO] Checking activity reminders 
[2026-04-25 14:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:15:15] [INFO] Checking activity reminders 
[2026-04-25 14:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:15:20] [INFO] Checking activity reminders 
[2026-04-25 14:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:15:45] [INFO] Checking activity reminders 
[2026-04-25 14:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:15:50] [INFO] Checking activity reminders 
[2026-04-25 14:15:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:15:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:16:15] [INFO] Checking activity reminders 
[2026-04-25 14:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:16:20] [INFO] Checking activity reminders 
[2026-04-25 14:16:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:16:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:16:45] [INFO] Checking activity reminders 
[2026-04-25 14:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:16:50] [INFO] Checking activity reminders 
[2026-04-25 14:16:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:16:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:17:20] [INFO] Checking activity reminders 
[2026-04-25 14:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:17:46] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:17:46] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 14:17:46] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:17:48] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:17:48] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"get_leads"}
[2026-04-25 14:17:48] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:17:50] [INFO] Checking activity reminders 
[2026-04-25 14:17:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:17:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:17:58] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 14:17:58] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 14:17:58] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 14:17:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 14:17:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 14:17:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 14:17:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 14:18:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:20] [INFO] Checking activity reminders 
[2026-04-25 14:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:18:22] [INFO] Lead update received {"contact_id":"15064","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 14:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15064"}
[2026-04-25 14:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 14:18:51] [INFO] Checking activity reminders 
[2026-04-25 14:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:19:21] [INFO] Checking activity reminders 
[2026-04-25 14:19:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:19:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:19:53] [INFO] Checking activity reminders 
[2026-04-25 14:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:20:23] [INFO] Checking activity reminders 
[2026-04-25 14:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:20:53] [INFO] Checking activity reminders 
[2026-04-25 14:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:39:12] [INFO] Checking activity reminders 
[2026-04-25 14:39:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:39:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:26] [INFO] Checking activity reminders 
[2026-04-25 14:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:28] [INFO] Checking activity reminders 
[2026-04-25 14:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:36] [INFO] Checking activity reminders 
[2026-04-25 14:57:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:37] [INFO] Checking activity reminders 
[2026-04-25 14:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:39] [INFO] Checking activity reminders 
[2026-04-25 14:57:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:44] [INFO] Checking activity reminders 
[2026-04-25 14:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:50] [INFO] Checking activity reminders 
[2026-04-25 14:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:57:51] [INFO] Checking activity reminders 
[2026-04-25 14:57:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:57:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 14:58:21] [INFO] Checking activity reminders 
[2026-04-25 14:58:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:58:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:58:52] [INFO] Checking activity reminders 
[2026-04-25 14:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:59:22] [INFO] Checking activity reminders 
[2026-04-25 14:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 14:59:52] [INFO] Checking activity reminders 
[2026-04-25 14:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 14:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:00:22] [INFO] Checking activity reminders 
[2026-04-25 15:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:00:52] [INFO] Checking activity reminders 
[2026-04-25 15:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"check_reminders"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:00:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:01:22] [INFO] Checking activity reminders 
[2026-04-25 15:01:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:01:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:01:52] [INFO] Checking activity reminders 
[2026-04-25 15:01:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:01:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:01:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:01:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"check_reminders"}
[2026-04-25 15:01:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:02:22] [INFO] Checking activity reminders 
[2026-04-25 15:02:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:02:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:02:52] [INFO] Checking activity reminders 
[2026-04-25 15:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:03:22] [INFO] Checking activity reminders 
[2026-04-25 15:03:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:03:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:03:53] [INFO] Checking activity reminders 
[2026-04-25 15:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:03:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:03:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"check_reminders"}
[2026-04-25 15:03:56] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:23] [INFO] Checking activity reminders 
[2026-04-25 15:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"check_reminders"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_products"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_leads"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:42] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:44] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:45] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:46] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:46] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:46] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_leads"}
[2026-04-25 15:04:46] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_leads"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"get_leads"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:47] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:53] [WARNING] Auth check failed - not authenticated {"session_id":"nig9lhuucn16ls2slpl6qcnbsj","session_keys":[],"action":"log_client_event"}
[2026-04-25 15:04:53] [INFO] Checking activity reminders 
[2026-04-25 15:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:04:53] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-25 15:04:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 15:04:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Activity save request {"post_data":{"contact_id":"15064","deal_id":"local_6950eeb7afc840.34161609","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال مانده داره پیگیری تسویه پیام ؟ کی میزنه","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 15:05:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15064","note_was_empty":true}
[2026-04-25 15:05:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"15064","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Updating virtual stage {"contact_id":"15064","stage_name":"deal_registered","force":false}
[2026-04-25 15:05:19] [INFO] Virtual stage successfully saved {"contact_id":"15064","stage_name":"deal_registered"}
[2026-04-25 15:05:19] [INFO] Virtual stage updated after activity save {"contact_id":"15064"}
[2026-04-25 15:05:19] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950eeb7afc840.34161609","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-25 15:05:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69eca6f7172575.77636636","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69eca6f7172575.77636636"}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:19] [INFO] Updating virtual stage {"contact_id":"15064","stage_name":"deal_registered","force":false}
[2026-04-25 15:05:19] [INFO] Virtual stage successfully saved {"contact_id":"15064","stage_name":"deal_registered"}
[2026-04-25 15:05:19] [INFO] Virtual stage updated after activity save {"contact_id":"15064"}
[2026-04-25 15:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15064","person_id":"5170"}
[2026-04-25 15:05:23] [INFO] Checking activity reminders 
[2026-04-25 15:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:05:23] [INFO] Checking activity reminders 
[2026-04-25 15:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:05:53] [INFO] Checking activity reminders 
[2026-04-25 15:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:05:53] [INFO] Checking activity reminders 
[2026-04-25 15:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:05:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-25 15:06:23] [INFO] Checking activity reminders 
[2026-04-25 15:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:06:25] [INFO] Checking activity reminders 
[2026-04-25 15:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:06:53] [INFO] Checking activity reminders 
[2026-04-25 15:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:06:58] [INFO] Checking activity reminders 
[2026-04-25 15:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:07:23] [INFO] Checking activity reminders 
[2026-04-25 15:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:07:32] [INFO] Checking activity reminders 
[2026-04-25 15:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:07:53] [INFO] Checking activity reminders 
[2026-04-25 15:07:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:07:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:08:02] [INFO] Checking activity reminders 
[2026-04-25 15:08:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:08:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:08:23] [INFO] Checking activity reminders 
[2026-04-25 15:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:08:32] [INFO] Checking activity reminders 
[2026-04-25 15:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:08:54] [INFO] Checking activity reminders 
[2026-04-25 15:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:09:02] [INFO] Checking activity reminders 
[2026-04-25 15:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:09:24] [INFO] Checking activity reminders 
[2026-04-25 15:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:09:32] [INFO] Checking activity reminders 
[2026-04-25 15:09:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:09:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:09:54] [INFO] Checking activity reminders 
[2026-04-25 15:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:10:02] [INFO] Checking activity reminders 
[2026-04-25 15:10:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:10:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:10:24] [INFO] Checking activity reminders 
[2026-04-25 15:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:10:32] [INFO] Checking activity reminders 
[2026-04-25 15:10:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:10:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:10:54] [INFO] Checking activity reminders 
[2026-04-25 15:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:11:02] [INFO] Checking activity reminders 
[2026-04-25 15:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:11:24] [INFO] Checking activity reminders 
[2026-04-25 15:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:11:33] [INFO] Checking activity reminders 
[2026-04-25 15:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:11:55] [INFO] Checking activity reminders 
[2026-04-25 15:11:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:11:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:12:03] [INFO] Checking activity reminders 
[2026-04-25 15:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:12:25] [INFO] Checking activity reminders 
[2026-04-25 15:12:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:12:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:12:33] [INFO] Checking activity reminders 
[2026-04-25 15:12:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:12:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:12:55] [INFO] Checking activity reminders 
[2026-04-25 15:12:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:12:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:13:03] [INFO] Checking activity reminders 
[2026-04-25 15:13:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:13:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:13:25] [INFO] Checking activity reminders 
[2026-04-25 15:13:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:13:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:13:33] [INFO] Checking activity reminders 
[2026-04-25 15:13:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:13:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:13:55] [INFO] Checking activity reminders 
[2026-04-25 15:13:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:13:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:14:03] [INFO] Checking activity reminders 
[2026-04-25 15:14:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:14:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:14:25] [INFO] Checking activity reminders 
[2026-04-25 15:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:14:33] [INFO] Checking activity reminders 
[2026-04-25 15:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:14:55] [INFO] Checking activity reminders 
[2026-04-25 15:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:15:03] [INFO] Checking activity reminders 
[2026-04-25 15:15:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:15:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:15:23] [INFO] Checking activity reminders 
[2026-04-25 15:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:15:33] [INFO] Checking activity reminders 
[2026-04-25 15:15:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:15:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:16:03] [INFO] Checking activity reminders 
[2026-04-25 15:16:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:16:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:16:33] [INFO] Checking activity reminders 
[2026-04-25 15:16:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:16:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:03] [INFO] Checking activity reminders 
[2026-04-25 15:17:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:07] [INFO] Checking activity reminders 
[2026-04-25 15:17:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:08] [INFO] Checking activity reminders 
[2026-04-25 15:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:11] [INFO] Checking activity reminders 
[2026-04-25 15:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:12] [INFO] Checking activity reminders 
[2026-04-25 15:17:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:14] [INFO] Checking activity reminders 
[2026-04-25 15:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:15] [INFO] Checking activity reminders 
[2026-04-25 15:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:34] [INFO] Checking activity reminders 
[2026-04-25 15:17:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:17:45] [INFO] Checking activity reminders 
[2026-04-25 15:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:18:04] [INFO] Checking activity reminders 
[2026-04-25 15:18:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:18:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:18:16] [INFO] Checking activity reminders 
[2026-04-25 15:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:18:34] [INFO] Checking activity reminders 
[2026-04-25 15:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:18:46] [INFO] Checking activity reminders 
[2026-04-25 15:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:19:04] [INFO] Checking activity reminders 
[2026-04-25 15:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-25 15:19:16] [INFO] Checking activity reminders 
[2026-04-25 15:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:19:34] [INFO] Checking activity reminders 
[2026-04-25 15:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:19:46] [INFO] Checking activity reminders 
[2026-04-25 15:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:20:04] [INFO] Checking activity reminders 
[2026-04-25 15:20:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:20:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:20:16] [INFO] Checking activity reminders 
[2026-04-25 15:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:20:34] [INFO] Checking activity reminders 
[2026-04-25 15:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:20:46] [INFO] Checking activity reminders 
[2026-04-25 15:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:21:04] [INFO] Checking activity reminders 
[2026-04-25 15:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:21:16] [INFO] Checking activity reminders 
[2026-04-25 15:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:21:34] [INFO] Checking activity reminders 
[2026-04-25 15:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:21:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:21:46] [INFO] Checking activity reminders 
[2026-04-25 15:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:22:04] [INFO] Checking activity reminders 
[2026-04-25 15:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:22:16] [INFO] Checking activity reminders 
[2026-04-25 15:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:22:34] [INFO] Checking activity reminders 
[2026-04-25 15:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:22:46] [INFO] Checking activity reminders 
[2026-04-25 15:22:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:22:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:22:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20896","person_id":"16925"}
[2026-04-25 15:23:04] [INFO] Checking activity reminders 
[2026-04-25 15:23:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:23:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:23:17] [INFO] Checking activity reminders 
[2026-04-25 15:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:23:34] [INFO] Checking activity reminders 
[2026-04-25 15:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:23:47] [INFO] Checking activity reminders 
[2026-04-25 15:23:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:23:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:24:05] [INFO] Checking activity reminders 
[2026-04-25 15:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:24:17] [INFO] Checking activity reminders 
[2026-04-25 15:24:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:24:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:24:35] [INFO] Checking activity reminders 
[2026-04-25 15:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:24:47] [INFO] Checking activity reminders 
[2026-04-25 15:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:25:06] [INFO] Checking activity reminders 
[2026-04-25 15:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:25:17] [INFO] Checking activity reminders 
[2026-04-25 15:25:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:25:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:25:39] [INFO] Checking activity reminders 
[2026-04-25 15:25:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:25:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:25:47] [INFO] Checking activity reminders 
[2026-04-25 15:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:26:09] [INFO] Checking activity reminders 
[2026-04-25 15:26:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:26:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:26:17] [INFO] Checking activity reminders 
[2026-04-25 15:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:26:39] [INFO] Checking activity reminders 
[2026-04-25 15:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:26:47] [INFO] Checking activity reminders 
[2026-04-25 15:26:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:26:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:27:09] [INFO] Checking activity reminders 
[2026-04-25 15:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:27:17] [INFO] Checking activity reminders 
[2026-04-25 15:27:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:27:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:27:39] [INFO] Checking activity reminders 
[2026-04-25 15:27:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:27:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:27:47] [INFO] Checking activity reminders 
[2026-04-25 15:27:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:27:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:28:09] [INFO] Checking activity reminders 
[2026-04-25 15:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:28:17] [INFO] Checking activity reminders 
[2026-04-25 15:28:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:28:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:28:39] [INFO] Checking activity reminders 
[2026-04-25 15:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:28:48] [INFO] Checking activity reminders 
[2026-04-25 15:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:29:09] [INFO] Checking activity reminders 
[2026-04-25 15:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:29:18] [INFO] Checking activity reminders 
[2026-04-25 15:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:29:39] [INFO] Checking activity reminders 
[2026-04-25 15:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:29:48] [INFO] Checking activity reminders 
[2026-04-25 15:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:30:09] [INFO] Checking activity reminders 
[2026-04-25 15:30:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:30:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:30:18] [INFO] Checking activity reminders 
[2026-04-25 15:30:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:30:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:30:40] [INFO] Checking activity reminders 
[2026-04-25 15:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:30:48] [INFO] Checking activity reminders 
[2026-04-25 15:30:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:30:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:31:10] [INFO] Checking activity reminders 
[2026-04-25 15:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:31:18] [INFO] Checking activity reminders 
[2026-04-25 15:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:31:40] [INFO] Checking activity reminders 
[2026-04-25 15:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:31:48] [INFO] Checking activity reminders 
[2026-04-25 15:31:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:31:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:32:10] [INFO] Checking activity reminders 
[2026-04-25 15:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:32:18] [INFO] Checking activity reminders 
[2026-04-25 15:32:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:32:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:32:40] [INFO] Checking activity reminders 
[2026-04-25 15:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:32:48] [INFO] Checking activity reminders 
[2026-04-25 15:32:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:32:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:33:10] [INFO] Checking activity reminders 
[2026-04-25 15:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:33:18] [INFO] Checking activity reminders 
[2026-04-25 15:33:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:33:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:33:40] [INFO] Checking activity reminders 
[2026-04-25 15:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:33:48] [INFO] Checking activity reminders 
[2026-04-25 15:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:34:10] [INFO] Checking activity reminders 
[2026-04-25 15:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:34:19] [INFO] Checking activity reminders 
[2026-04-25 15:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:34:40] [INFO] Checking activity reminders 
[2026-04-25 15:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:34:49] [INFO] Checking activity reminders 
[2026-04-25 15:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:35:10] [INFO] Checking activity reminders 
[2026-04-25 15:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:35:19] [INFO] Checking activity reminders 
[2026-04-25 15:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:35:40] [INFO] Checking activity reminders 
[2026-04-25 15:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:35:49] [INFO] Checking activity reminders 
[2026-04-25 15:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:36:10] [INFO] Checking activity reminders 
[2026-04-25 15:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:36:19] [INFO] Checking activity reminders 
[2026-04-25 15:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:36:41] [INFO] Checking activity reminders 
[2026-04-25 15:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:36:49] [INFO] Checking activity reminders 
[2026-04-25 15:36:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:36:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:37:11] [INFO] Checking activity reminders 
[2026-04-25 15:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:37:19] [INFO] Checking activity reminders 
[2026-04-25 15:37:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:37:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:37:41] [INFO] Checking activity reminders 
[2026-04-25 15:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:37:49] [INFO] Checking activity reminders 
[2026-04-25 15:37:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:37:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:38:11] [INFO] Checking activity reminders 
[2026-04-25 15:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:38:19] [INFO] Checking activity reminders 
[2026-04-25 15:38:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:38:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:38:41] [INFO] Checking activity reminders 
[2026-04-25 15:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:38:49] [INFO] Checking activity reminders 
[2026-04-25 15:38:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:38:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:39:11] [INFO] Checking activity reminders 
[2026-04-25 15:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:39:19] [INFO] Checking activity reminders 
[2026-04-25 15:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:39:41] [INFO] Checking activity reminders 
[2026-04-25 15:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:39:49] [INFO] Checking activity reminders 
[2026-04-25 15:39:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:39:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:40:11] [INFO] Checking activity reminders 
[2026-04-25 15:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:40:20] [INFO] Checking activity reminders 
[2026-04-25 15:40:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:40:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:40:41] [INFO] Checking activity reminders 
[2026-04-25 15:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:40:50] [INFO] Checking activity reminders 
[2026-04-25 15:40:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:40:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:41:12] [INFO] Checking activity reminders 
[2026-04-25 15:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:41:20] [INFO] Checking activity reminders 
[2026-04-25 15:41:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:41:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:41:42] [INFO] Checking activity reminders 
[2026-04-25 15:41:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:41:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:41:50] [INFO] Checking activity reminders 
[2026-04-25 15:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:07] [INFO] Activity save request {"post_data":{"contact_id":"2411","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خوی \/ در زمین به دید بلند مدت سرمایه گذاری کرده \r\nروی خودرو های تصادفی کار میکنه \r\nجنس گرون شده نمیتونه تامین کنه \r\nپرزنت و نوسان گیری \r\n6 ماهه \r\nد ر2 مرحله پرداخت \r\nارسال شماره کارت ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 15:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:42:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 15:42:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 15:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:42:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2411","note_was_empty":true}
[2026-04-25 15:42:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"2411","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 15:42:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecaf9776a1f6.79720606","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 15:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:42:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecaf9776a1f6.79720606"}
[2026-04-25 15:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:42:07] [INFO] Updating virtual stage {"contact_id":"2411","stage_name":"deal_registered","force":false}
[2026-04-25 15:42:07] [INFO] Virtual stage successfully saved {"contact_id":"2411","stage_name":"deal_registered"}
[2026-04-25 15:42:07] [INFO] Virtual stage updated after activity save {"contact_id":"2411"}
[2026-04-25 15:42:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2411","person_id":"17701"}
[2026-04-25 15:42:10] [INFO] Checking activity reminders 
[2026-04-25 15:42:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:12] [INFO] Checking activity reminders 
[2026-04-25 15:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:12] [INFO] Checking activity reminders 
[2026-04-25 15:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:15] [INFO] Checking activity reminders 
[2026-04-25 15:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:42] [INFO] Checking activity reminders 
[2026-04-25 15:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:42:45] [INFO] Checking activity reminders 
[2026-04-25 15:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:43:12] [INFO] Checking activity reminders 
[2026-04-25 15:43:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:43:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:43:15] [INFO] Checking activity reminders 
[2026-04-25 15:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:43:42] [INFO] Checking activity reminders 
[2026-04-25 15:43:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:43:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:43:45] [INFO] Checking activity reminders 
[2026-04-25 15:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 15:44:12] [INFO] Checking activity reminders 
[2026-04-25 15:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:44:15] [INFO] Checking activity reminders 
[2026-04-25 15:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:44:42] [INFO] Checking activity reminders 
[2026-04-25 15:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:44:45] [INFO] Checking activity reminders 
[2026-04-25 15:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:12] [INFO] Checking activity reminders 
[2026-04-25 15:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:15] [INFO] Checking activity reminders 
[2026-04-25 15:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:35] [INFO] Checking activity reminders 
[2026-04-25 15:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:42] [INFO] Checking activity reminders 
[2026-04-25 15:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:44] [INFO] Checking activity reminders 
[2026-04-25 15:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:46] [INFO] Checking activity reminders 
[2026-04-25 15:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:45:47] [INFO] Checking activity reminders 
[2026-04-25 15:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:46:12] [INFO] Checking activity reminders 
[2026-04-25 15:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:46:15] [INFO] Checking activity reminders 
[2026-04-25 15:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:46:16] [INFO] Checking activity reminders 
[2026-04-25 15:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:46:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 15:46:43] [INFO] Checking activity reminders 
[2026-04-25 15:46:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:46:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:46:46] [INFO] Checking activity reminders 
[2026-04-25 15:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:47:13] [INFO] Checking activity reminders 
[2026-04-25 15:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:47:27] [INFO] Checking activity reminders 
[2026-04-25 15:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:47:28] [INFO] Checking activity reminders 
[2026-04-25 15:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:47:43] [INFO] Checking activity reminders 
[2026-04-25 15:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:47:58] [INFO] Checking activity reminders 
[2026-04-25 15:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:48:13] [INFO] Checking activity reminders 
[2026-04-25 15:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:48:28] [INFO] Checking activity reminders 
[2026-04-25 15:48:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:48:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:48:43] [INFO] Checking activity reminders 
[2026-04-25 15:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:48:58] [INFO] Checking activity reminders 
[2026-04-25 15:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:49:13] [INFO] Checking activity reminders 
[2026-04-25 15:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:49:28] [INFO] Checking activity reminders 
[2026-04-25 15:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:49:43] [INFO] Checking activity reminders 
[2026-04-25 15:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:49:58] [INFO] Checking activity reminders 
[2026-04-25 15:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:50:13] [INFO] Checking activity reminders 
[2026-04-25 15:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:50:29] [INFO] Checking activity reminders 
[2026-04-25 15:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:50:43] [INFO] Checking activity reminders 
[2026-04-25 15:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:50:59] [INFO] Checking activity reminders 
[2026-04-25 15:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:51:13] [INFO] Checking activity reminders 
[2026-04-25 15:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:51:29] [INFO] Checking activity reminders 
[2026-04-25 15:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:51:43] [INFO] Checking activity reminders 
[2026-04-25 15:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:51:59] [INFO] Checking activity reminders 
[2026-04-25 15:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:52:14] [INFO] Checking activity reminders 
[2026-04-25 15:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:52:29] [INFO] Checking activity reminders 
[2026-04-25 15:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:52:44] [INFO] Checking activity reminders 
[2026-04-25 15:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:52:59] [INFO] Checking activity reminders 
[2026-04-25 15:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:53:14] [INFO] Checking activity reminders 
[2026-04-25 15:53:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:53:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:53:29] [INFO] Checking activity reminders 
[2026-04-25 15:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:53:44] [INFO] Checking activity reminders 
[2026-04-25 15:53:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:53:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:53:59] [INFO] Checking activity reminders 
[2026-04-25 15:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:54:14] [INFO] Checking activity reminders 
[2026-04-25 15:54:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:54:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:54:29] [INFO] Checking activity reminders 
[2026-04-25 15:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:54:44] [INFO] Checking activity reminders 
[2026-04-25 15:54:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:54:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:54:59] [INFO] Checking activity reminders 
[2026-04-25 15:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:55:14] [INFO] Checking activity reminders 
[2026-04-25 15:55:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:55:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:55:30] [INFO] Checking activity reminders 
[2026-04-25 15:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:55:44] [INFO] Checking activity reminders 
[2026-04-25 15:55:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:55:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:56:00] [INFO] Checking activity reminders 
[2026-04-25 15:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:56:14] [INFO] Checking activity reminders 
[2026-04-25 15:56:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:56:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:56:30] [INFO] Checking activity reminders 
[2026-04-25 15:56:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:56:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:56:44] [INFO] Checking activity reminders 
[2026-04-25 15:56:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:56:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:57:01] [INFO] Checking activity reminders 
[2026-04-25 15:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:57:14] [INFO] Checking activity reminders 
[2026-04-25 15:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:57:31] [INFO] Checking activity reminders 
[2026-04-25 15:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:57:44] [INFO] Checking activity reminders 
[2026-04-25 15:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:58:01] [INFO] Checking activity reminders 
[2026-04-25 15:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:58:15] [INFO] Checking activity reminders 
[2026-04-25 15:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:58:31] [INFO] Checking activity reminders 
[2026-04-25 15:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:58:45] [INFO] Checking activity reminders 
[2026-04-25 15:58:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:58:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:59:01] [INFO] Checking activity reminders 
[2026-04-25 15:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:59:15] [INFO] Checking activity reminders 
[2026-04-25 15:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:59:31] [INFO] Checking activity reminders 
[2026-04-25 15:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 15:59:45] [INFO] Checking activity reminders 
[2026-04-25 15:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 15:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:00:01] [INFO] Checking activity reminders 
[2026-04-25 16:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:00:15] [INFO] Checking activity reminders 
[2026-04-25 16:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:00:31] [INFO] Checking activity reminders 
[2026-04-25 16:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:01:01] [INFO] Checking activity reminders 
[2026-04-25 16:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:01:31] [INFO] Checking activity reminders 
[2026-04-25 16:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:01:47] [INFO] Checking activity reminders 
[2026-04-25 16:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:02:02] [INFO] Checking activity reminders 
[2026-04-25 16:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:02:18] [INFO] Checking activity reminders 
[2026-04-25 16:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:02:32] [INFO] Checking activity reminders 
[2026-04-25 16:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:02:32] [INFO] Activity save request {"post_data":{"contact_id":"21076","deal_id":"local_69d0a875473214.93175946","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"ارسال ش کارت 12 میزنه الان تسویه 29 اردیبهشت \/ \r\nقالیشویی \/ شهریار \/ سالی 600 ت اجاره \r\n3تا نیسان \/ 1پژو پارس \/ 1500 طلا \r\nبفروشه زمین بخره الان اجاره نده؟ \r\nگفتم بیاد کانال از استاد بپرسه \r\n","activity_duration":"30","direction":"incoming","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 16:02:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21076","note_was_empty":true}
[2026-04-25 16:02:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"21076","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:32] [INFO] Updating virtual stage {"contact_id":"21076","stage_name":"deal_registered","force":false}
[2026-04-25 16:02:32] [INFO] Virtual stage successfully saved {"contact_id":"21076","stage_name":"deal_registered"}
[2026-04-25 16:02:32] [INFO] Virtual stage updated after activity save {"contact_id":"21076"}
[2026-04-25 16:02:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a875473214.93175946","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-25 16:02:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecb460570f50.94682844","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecb460570f50.94682844"}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:32] [INFO] Updating virtual stage {"contact_id":"21076","stage_name":"deal_registered","force":false}
[2026-04-25 16:02:32] [INFO] Virtual stage successfully saved {"contact_id":"21076","stage_name":"deal_registered"}
[2026-04-25 16:02:32] [INFO] Virtual stage updated after activity save {"contact_id":"21076"}
[2026-04-25 16:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 16:02:48] [INFO] Checking activity reminders 
[2026-04-25 16:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:03:02] [INFO] Checking activity reminders 
[2026-04-25 16:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:03:18] [INFO] Checking activity reminders 
[2026-04-25 16:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:03:32] [INFO] Checking activity reminders 
[2026-04-25 16:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:03:48] [INFO] Checking activity reminders 
[2026-04-25 16:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:03:59] [INFO] Activity save request {"post_data":{"contact_id":"20666","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کارش ازاد کردن ماشین منطقه ازاد \r\nکل سرمایه درگیر \r\nبرای عضویت در کانال فعلا سرمایه ای نداره \r\nنوسان گیری و شرایط کانال پرزنت شد \r\nدر کانال عمومی استاد دنبال میکنه \r\nبه محض سرمایه خودش تماس میگیره ","activity_duration":"7","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 16:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 16:03:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 16:03:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 16:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 16:03:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20666","note_was_empty":true}
[2026-04-25 16:03:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"20666","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 16:03:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecb4b7844ef2.90776830","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 16:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 16:03:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecb4b7844ef2.90776830"}
[2026-04-25 16:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 16:03:59] [INFO] Updating virtual stage {"contact_id":"20666","stage_name":"deal_registered","force":false}
[2026-04-25 16:03:59] [INFO] Virtual stage successfully saved {"contact_id":"20666","stage_name":"deal_registered"}
[2026-04-25 16:03:59] [INFO] Virtual stage updated after activity save {"contact_id":"20666"}
[2026-04-25 16:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20666","person_id":"12156"}
[2026-04-25 16:04:02] [INFO] Checking activity reminders 
[2026-04-25 16:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:18] [INFO] Checking activity reminders 
[2026-04-25 16:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:32] [INFO] Checking activity reminders 
[2026-04-25 16:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:48] [INFO] Checking activity reminders 
[2026-04-25 16:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:54] [INFO] Checking activity reminders 
[2026-04-25 16:04:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:56] [INFO] Checking activity reminders 
[2026-04-25 16:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:04:57] [INFO] Checking activity reminders 
[2026-04-25 16:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:05:18] [INFO] Checking activity reminders 
[2026-04-25 16:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:05:27] [INFO] Checking activity reminders 
[2026-04-25 16:05:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:05:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:05:48] [INFO] Checking activity reminders 
[2026-04-25 16:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:05:58] [INFO] Checking activity reminders 
[2026-04-25 16:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:06:19] [INFO] Checking activity reminders 
[2026-04-25 16:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:06:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-25 16:06:28] [INFO] Checking activity reminders 
[2026-04-25 16:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:06:58] [INFO] Checking activity reminders 
[2026-04-25 16:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:07:28] [INFO] Checking activity reminders 
[2026-04-25 16:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:07:58] [INFO] Checking activity reminders 
[2026-04-25 16:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:08:28] [INFO] Checking activity reminders 
[2026-04-25 16:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:08:58] [INFO] Checking activity reminders 
[2026-04-25 16:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:09:28] [INFO] Checking activity reminders 
[2026-04-25 16:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:09:29] [INFO] Checking activity reminders 
[2026-04-25 16:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:09:59] [INFO] Checking activity reminders 
[2026-04-25 16:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:10:29] [INFO] Checking activity reminders 
[2026-04-25 16:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:10:59] [INFO] Checking activity reminders 
[2026-04-25 16:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:11:30] [INFO] Checking activity reminders 
[2026-04-25 16:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:12:00] [INFO] Checking activity reminders 
[2026-04-25 16:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:12:30] [INFO] Checking activity reminders 
[2026-04-25 16:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:13:00] [INFO] Checking activity reminders 
[2026-04-25 16:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:13:30] [INFO] Checking activity reminders 
[2026-04-25 16:13:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:13:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:14:00] [INFO] Checking activity reminders 
[2026-04-25 16:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:14:30] [INFO] Checking activity reminders 
[2026-04-25 16:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:15:00] [INFO] Checking activity reminders 
[2026-04-25 16:15:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:15:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:15:30] [INFO] Checking activity reminders 
[2026-04-25 16:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:15:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:16:00] [INFO] Checking activity reminders 
[2026-04-25 16:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:16:30] [INFO] Checking activity reminders 
[2026-04-25 16:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:17:00] [INFO] Checking activity reminders 
[2026-04-25 16:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:17:30] [INFO] Checking activity reminders 
[2026-04-25 16:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:18:01] [INFO] Checking activity reminders 
[2026-04-25 16:18:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:18:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:18:31] [INFO] Checking activity reminders 
[2026-04-25 16:18:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:18:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:18:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:18:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 16:18:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:18:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:18:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:18:48] [INFO] Activity save request {"post_data":{"contact_id":"8069","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"پیام دادم \r\nگفت فعلا تمایلی به استفاده از خدمات ندارم ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 16:18:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:18:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 16:18:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 16:18:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:18:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8069","note_was_empty":true}
[2026-04-25 16:18:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"8069","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 16:18:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecb830efaff9.74612006","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 16:18:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:18:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecb830efaff9.74612006"}
[2026-04-25 16:18:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:18:48] [INFO] Updating virtual stage {"contact_id":"8069","stage_name":"deal_registered","force":false}
[2026-04-25 16:18:48] [INFO] Virtual stage successfully saved {"contact_id":"8069","stage_name":"deal_registered"}
[2026-04-25 16:18:48] [INFO] Virtual stage updated after activity save {"contact_id":"8069"}
[2026-04-25 16:18:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8069","person_id":"14707"}
[2026-04-25 16:19:01] [INFO] Checking activity reminders 
[2026-04-25 16:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:19:31] [INFO] Checking activity reminders 
[2026-04-25 16:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:19:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 16:19:39] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:42] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:43] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:43] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"get_leads"}
[2026-04-25 16:19:43] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:44] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:56] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 16:19:56] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 16:19:56] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 16:19:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 16:19:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 16:19:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 16:19:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 16:20:01] [INFO] Checking activity reminders 
[2026-04-25 16:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14374","person_id":"2438"}
[2026-04-25 16:20:26] [INFO] Checking activity reminders 
[2026-04-25 16:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:20:31] [INFO] Checking activity reminders 
[2026-04-25 16:20:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:20:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:21:01] [INFO] Checking activity reminders 
[2026-04-25 16:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:21:31] [INFO] Checking activity reminders 
[2026-04-25 16:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:22:02] [INFO] Checking activity reminders 
[2026-04-25 16:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:22:32] [INFO] Checking activity reminders 
[2026-04-25 16:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:23:02] [INFO] Checking activity reminders 
[2026-04-25 16:23:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:23:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:23:32] [INFO] Checking activity reminders 
[2026-04-25 16:23:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:23:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:24:02] [INFO] Checking activity reminders 
[2026-04-25 16:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:24:32] [INFO] Checking activity reminders 
[2026-04-25 16:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:25:02] [INFO] Checking activity reminders 
[2026-04-25 16:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:25:32] [INFO] Checking activity reminders 
[2026-04-25 16:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:26:02] [INFO] Checking activity reminders 
[2026-04-25 16:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:26:07] [INFO] Checking activity reminders 
[2026-04-25 16:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:26:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:26:32] [INFO] Checking activity reminders 
[2026-04-25 16:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:26:38] [INFO] Checking activity reminders 
[2026-04-25 16:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:27:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3821","deal_id":"local_699aba76226317.35282569","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 16:27:00","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 16:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:27:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3821","is_new_deal":false}
[2026-04-25 16:27:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:27:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:27:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:27:00] [INFO] getContactPrimaryPhone called {"contact_id":"3821"}
[2026-04-25 16:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:27:00] [INFO] getContactPrimaryPhone result {"contact_id":"3821","person_found":true,"primary_phone":"9123187467"}
[2026-04-25 16:27:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123187467"}
[2026-04-25 16:27:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123187467","contact_id":"3821","deal_id":"local_699aba76226317.35282569","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 16:27:00"}
[2026-04-25 16:27:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","existing_deal_found":true,"existing_contact_id":"3821","existing_title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 16:27:00"}
[2026-04-25 16:27:00] [INFO] DealController.save validated payments {"deal_id":"local_699aba76226317.35282569","contact_id":"3821","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 16:27:00] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3821","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 16:27:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699aba76226317.35282569","contact_didar_id":"3821","title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9123187467","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":12000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"شهبازی شهبازی","existing_deal":"YES","existing_deal_id":"local_699aba76226317.35282569","existing_deal_status":"Pending","server_time":"2026-04-25 16:27:00","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 16:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:27:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699aba76226317.35282569","contact_id":"3821","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9123187467 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":12000000,"server_time":"2026-04-25 16:27:00","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 16:27:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 16:27:02] [INFO] Checking activity reminders 
[2026-04-25 16:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:27:08] [INFO] Checking activity reminders 
[2026-04-25 16:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:27:32] [INFO] Checking activity reminders 
[2026-04-25 16:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:27:38] [INFO] Checking activity reminders 
[2026-04-25 16:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:28:03] [INFO] Checking activity reminders 
[2026-04-25 16:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:28:08] [INFO] Checking activity reminders 
[2026-04-25 16:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:28:33] [INFO] Checking activity reminders 
[2026-04-25 16:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:28:38] [INFO] Checking activity reminders 
[2026-04-25 16:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:29:03] [INFO] Checking activity reminders 
[2026-04-25 16:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:29:08] [INFO] Checking activity reminders 
[2026-04-25 16:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:29:33] [INFO] Checking activity reminders 
[2026-04-25 16:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:29:38] [INFO] Checking activity reminders 
[2026-04-25 16:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:30:03] [INFO] Checking activity reminders 
[2026-04-25 16:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:30:08] [INFO] Checking activity reminders 
[2026-04-25 16:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:30:30] [INFO] Activity save request {"post_data":{"contact_id":"3622","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ساکن کرج \r\nدر بحران جنگ ملک اسیب دیده \/ از پس انداز برای ترمیم و بازسازی ملک و وسایل خانه اش استفاده کرده \r\nبه استاد اعتماد داره و قطعا از سیگنال های کانال استفاده میکنه \r\nدرامدش اومده پایین فقط پایه حقوق میگیره ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 16:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:30:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 16:30:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 16:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:30:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3622","note_was_empty":true}
[2026-04-25 16:30:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"3622","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-25 16:30:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecbaee5bba72.82696401","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 16:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:30:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecbaee5bba72.82696401"}
[2026-04-25 16:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:30:30] [INFO] Updating virtual stage {"contact_id":"3622","stage_name":"deal_registered","force":false}
[2026-04-25 16:30:30] [INFO] Virtual stage successfully saved {"contact_id":"3622","stage_name":"deal_registered"}
[2026-04-25 16:30:30] [INFO] Virtual stage updated after activity save {"contact_id":"3622"}
[2026-04-25 16:30:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3622","person_id":"2000"}
[2026-04-25 16:30:33] [INFO] Checking activity reminders 
[2026-04-25 16:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:30:38] [INFO] Checking activity reminders 
[2026-04-25 16:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:31:03] [INFO] Checking activity reminders 
[2026-04-25 16:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:31:08] [INFO] Checking activity reminders 
[2026-04-25 16:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:31:33] [INFO] Checking activity reminders 
[2026-04-25 16:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:31:39] [INFO] Checking activity reminders 
[2026-04-25 16:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:32:03] [INFO] Checking activity reminders 
[2026-04-25 16:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:32:09] [INFO] Checking activity reminders 
[2026-04-25 16:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:32:33] [INFO] Checking activity reminders 
[2026-04-25 16:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:32:39] [INFO] Checking activity reminders 
[2026-04-25 16:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:33:03] [INFO] Checking activity reminders 
[2026-04-25 16:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:33:09] [INFO] Checking activity reminders 
[2026-04-25 16:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:33:34] [INFO] Checking activity reminders 
[2026-04-25 16:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:33:39] [INFO] Checking activity reminders 
[2026-04-25 16:33:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:33:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:34:04] [INFO] Checking activity reminders 
[2026-04-25 16:34:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:34:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:34:09] [INFO] Checking activity reminders 
[2026-04-25 16:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:34:34] [INFO] Checking activity reminders 
[2026-04-25 16:34:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:34:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:34:39] [INFO] Checking activity reminders 
[2026-04-25 16:34:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:34:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:35:04] [INFO] Checking activity reminders 
[2026-04-25 16:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:35:10] [INFO] Checking activity reminders 
[2026-04-25 16:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:35:34] [INFO] Checking activity reminders 
[2026-04-25 16:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:35:40] [INFO] Checking activity reminders 
[2026-04-25 16:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:36:04] [INFO] Checking activity reminders 
[2026-04-25 16:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:36:10] [INFO] Checking activity reminders 
[2026-04-25 16:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:36:34] [INFO] Checking activity reminders 
[2026-04-25 16:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:36:40] [INFO] Checking activity reminders 
[2026-04-25 16:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:37:04] [INFO] Checking activity reminders 
[2026-04-25 16:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:37:10] [INFO] Checking activity reminders 
[2026-04-25 16:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:37:34] [INFO] Checking activity reminders 
[2026-04-25 16:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:37:40] [INFO] Checking activity reminders 
[2026-04-25 16:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:38:04] [INFO] Checking activity reminders 
[2026-04-25 16:38:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:38:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:38:10] [INFO] Checking activity reminders 
[2026-04-25 16:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:38:35] [INFO] Checking activity reminders 
[2026-04-25 16:38:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:38:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:38:40] [INFO] Checking activity reminders 
[2026-04-25 16:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:39:05] [INFO] Checking activity reminders 
[2026-04-25 16:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:39:10] [INFO] Checking activity reminders 
[2026-04-25 16:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:39:35] [INFO] Checking activity reminders 
[2026-04-25 16:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:39:40] [INFO] Checking activity reminders 
[2026-04-25 16:39:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:39:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:40:05] [INFO] Checking activity reminders 
[2026-04-25 16:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:40:10] [INFO] Checking activity reminders 
[2026-04-25 16:40:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:40:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:40:35] [INFO] Checking activity reminders 
[2026-04-25 16:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:40:40] [INFO] Checking activity reminders 
[2026-04-25 16:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:41:05] [INFO] Checking activity reminders 
[2026-04-25 16:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:41:11] [INFO] Checking activity reminders 
[2026-04-25 16:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:41:35] [INFO] Checking activity reminders 
[2026-04-25 16:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:41:41] [INFO] Checking activity reminders 
[2026-04-25 16:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:05] [INFO] Checking activity reminders 
[2026-04-25 16:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:11] [INFO] Checking activity reminders 
[2026-04-25 16:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:35] [INFO] Checking activity reminders 
[2026-04-25 16:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:41] [INFO] Checking activity reminders 
[2026-04-25 16:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:47] [INFO] Checking activity reminders 
[2026-04-25 16:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:49] [INFO] Checking activity reminders 
[2026-04-25 16:42:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:50] [INFO] Checking activity reminders 
[2026-04-25 16:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:42:51] [INFO] Checking activity reminders 
[2026-04-25 16:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:43:11] [INFO] Checking activity reminders 
[2026-04-25 16:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:43:21] [INFO] Checking activity reminders 
[2026-04-25 16:43:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:43:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:43:35] [INFO] Checking activity reminders 
[2026-04-25 16:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:43:41] [INFO] Checking activity reminders 
[2026-04-25 16:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:43:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:43:54] [INFO] generateDealTitle result {"contact_id":"local_69b6a793c4c6f7.03520358","person_name":"مصرزاده مصرزاده","mobile":"9153901879","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9153901879"}
[2026-04-25 16:44:05] [INFO] Checking activity reminders 
[2026-04-25 16:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:44:11] [INFO] Checking activity reminders 
[2026-04-25 16:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:44:35] [INFO] Checking activity reminders 
[2026-04-25 16:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:44:41] [INFO] Checking activity reminders 
[2026-04-25 16:44:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:44:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:45:05] [INFO] Checking activity reminders 
[2026-04-25 16:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:45:11] [INFO] Checking activity reminders 
[2026-04-25 16:45:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:45:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:45:35] [INFO] Checking activity reminders 
[2026-04-25 16:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:45:42] [INFO] Checking activity reminders 
[2026-04-25 16:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:46:05] [INFO] Checking activity reminders 
[2026-04-25 16:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:46:12] [INFO] Checking activity reminders 
[2026-04-25 16:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:46:35] [INFO] Checking activity reminders 
[2026-04-25 16:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:46:42] [INFO] Checking activity reminders 
[2026-04-25 16:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:47:06] [INFO] Checking activity reminders 
[2026-04-25 16:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:47:12] [INFO] Checking activity reminders 
[2026-04-25 16:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:47:36] [INFO] Checking activity reminders 
[2026-04-25 16:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:47:42] [INFO] Checking activity reminders 
[2026-04-25 16:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:48:06] [INFO] Checking activity reminders 
[2026-04-25 16:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:48:12] [INFO] Checking activity reminders 
[2026-04-25 16:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:48:36] [INFO] Checking activity reminders 
[2026-04-25 16:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:48:42] [INFO] Checking activity reminders 
[2026-04-25 16:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:49:06] [INFO] Checking activity reminders 
[2026-04-25 16:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:49:12] [INFO] Checking activity reminders 
[2026-04-25 16:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:49:36] [INFO] Checking activity reminders 
[2026-04-25 16:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:49:42] [INFO] Checking activity reminders 
[2026-04-25 16:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:50:06] [INFO] Checking activity reminders 
[2026-04-25 16:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:50:12] [INFO] Checking activity reminders 
[2026-04-25 16:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:50:36] [INFO] Checking activity reminders 
[2026-04-25 16:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:50:42] [INFO] Checking activity reminders 
[2026-04-25 16:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:51:06] [INFO] Checking activity reminders 
[2026-04-25 16:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:51:13] [INFO] Checking activity reminders 
[2026-04-25 16:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:51:37] [INFO] Checking activity reminders 
[2026-04-25 16:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:51:43] [INFO] Checking activity reminders 
[2026-04-25 16:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:52:07] [INFO] Checking activity reminders 
[2026-04-25 16:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:52:13] [INFO] Checking activity reminders 
[2026-04-25 16:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:52:37] [INFO] Checking activity reminders 
[2026-04-25 16:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:52:43] [INFO] Checking activity reminders 
[2026-04-25 16:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:53:07] [INFO] Checking activity reminders 
[2026-04-25 16:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:53:13] [INFO] Checking activity reminders 
[2026-04-25 16:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:53:15] [INFO] Lead update received {"contact_id":"local_69b6a793c4c6f7.03520358","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 16:53:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:53:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:53:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-25 16:53:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:53:37] [INFO] Checking activity reminders 
[2026-04-25 16:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:53:43] [INFO] Checking activity reminders 
[2026-04-25 16:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:54:07] [INFO] Checking activity reminders 
[2026-04-25 16:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:54:37] [INFO] Checking activity reminders 
[2026-04-25 16:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:55:07] [INFO] Checking activity reminders 
[2026-04-25 16:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:55:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 16:55:24","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 16:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:55:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69b6a793c4c6f7.03520358","is_new_deal":false}
[2026-04-25 16:55:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:55:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:55:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 16:55:24] [INFO] getContactPrimaryPhone called {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-25 16:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:55:24] [INFO] getContactPrimaryPhone result {"contact_id":"local_69b6a793c4c6f7.03520358","person_found":true,"primary_phone":"9153901879"}
[2026-04-25 16:55:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9153901879"}
[2026-04-25 16:55:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9153901879","contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 16:55:24"}
[2026-04-25 16:55:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","existing_deal_found":true,"existing_contact_id":"local_69b6a793c4c6f7.03520358","existing_title":"معامله اول 9153901879 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 16:55:24"}
[2026-04-25 16:55:24] [INFO] DealController.save validated payments {"deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-25 16:55:24] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69b6a793c4c6f7.03520358","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 16:55:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6a793c8066","contact_didar_id":"local_69b6a793c4c6f7.03520358","title":"معامله اول 9153901879 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9153901879","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"صمد مصرزاده","existing_deal":"YES","existing_deal_id":"local_69b6a793c8066","existing_deal_status":"Pending","server_time":"2026-04-25 16:55:24","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 16:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:55:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9153901879 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-25 16:55:24","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 16:55:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 16:55:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 16:56:03] [INFO] Checking activity reminders 
[2026-04-25 16:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:56:33] [INFO] Checking activity reminders 
[2026-04-25 16:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:57:03] [INFO] Checking activity reminders 
[2026-04-25 16:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:57:33] [INFO] Checking activity reminders 
[2026-04-25 16:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:58:03] [INFO] Checking activity reminders 
[2026-04-25 16:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:58:33] [INFO] Checking activity reminders 
[2026-04-25 16:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:03] [INFO] Checking activity reminders 
[2026-04-25 16:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:33] [INFO] Checking activity reminders 
[2026-04-25 16:59:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:43] [INFO] Checking activity reminders 
[2026-04-25 16:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:44] [INFO] Checking activity reminders 
[2026-04-25 16:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:47] [INFO] Checking activity reminders 
[2026-04-25 16:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 16:59:59] [INFO] Checking activity reminders 
[2026-04-25 16:59:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 16:59:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:00:17] [INFO] Checking activity reminders 
[2026-04-25 17:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:00:29] [INFO] Checking activity reminders 
[2026-04-25 17:00:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:00:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:00:49] [INFO] Checking activity reminders 
[2026-04-25 17:00:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:00:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:00:59] [INFO] Checking activity reminders 
[2026-04-25 17:00:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:00:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:01:19] [INFO] Checking activity reminders 
[2026-04-25 17:01:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:01:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:01:29] [INFO] Checking activity reminders 
[2026-04-25 17:01:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:01:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:01:49] [INFO] Checking activity reminders 
[2026-04-25 17:01:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:01:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:01:59] [INFO] Checking activity reminders 
[2026-04-25 17:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:02:19] [INFO] Checking activity reminders 
[2026-04-25 17:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:02:29] [INFO] Checking activity reminders 
[2026-04-25 17:02:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:02:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:02:50] [INFO] Checking activity reminders 
[2026-04-25 17:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:02:55] [INFO] Activity save request {"post_data":{"contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کارمند \r\nپرزنت 6 ماهه \r\nخرید خودرو \r\nدر 2 مرحله واریز ","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:02:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 17:02:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:02:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b6a793c4c6f7.03520358","note_was_empty":true}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:02:55] [INFO] Updating virtual stage {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered","force":false}
[2026-04-25 17:02:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered"}
[2026-04-25 17:02:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-25 17:02:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6a793c8066","stage":"تماس پیگیری","status_change":null}
[2026-04-25 17:02:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecc287b9bdf5.25264798","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:02:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecc287b9bdf5.25264798"}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:02:55] [INFO] Updating virtual stage {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered","force":false}
[2026-04-25 17:02:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered"}
[2026-04-25 17:02:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-25 17:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:03:00] [INFO] Checking activity reminders 
[2026-04-25 17:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:03:20] [INFO] Checking activity reminders 
[2026-04-25 17:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:03:30] [INFO] Checking activity reminders 
[2026-04-25 17:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:03:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 17:03:40","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 17:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:03:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69b6a793c4c6f7.03520358","is_new_deal":false}
[2026-04-25 17:03:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 17:03:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 17:03:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 17:03:40] [INFO] getContactPrimaryPhone called {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-25 17:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:03:40] [INFO] getContactPrimaryPhone result {"contact_id":"local_69b6a793c4c6f7.03520358","person_found":true,"primary_phone":"9153901879"}
[2026-04-25 17:03:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9153901879"}
[2026-04-25 17:03:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9153901879","contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:03:40"}
[2026-04-25 17:03:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","existing_deal_found":true,"existing_contact_id":"local_69b6a793c4c6f7.03520358","existing_title":"معامله اول 9153901879 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:03:40"}
[2026-04-25 17:03:40] [INFO] DealController.save validated payments {"deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 17:03:40] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69b6a793c4c6f7.03520358","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 17:03:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6a793c8066","contact_didar_id":"local_69b6a793c4c6f7.03520358","title":"معامله اول 9153901879 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9153901879","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":19000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"صمد مصرزاده","existing_deal":"YES","existing_deal_id":"local_69b6a793c8066","existing_deal_status":"Pending","server_time":"2026-04-25 17:03:40","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 17:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:03:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6a793c8066","contact_id":"local_69b6a793c4c6f7.03520358","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9153901879 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":19000000,"server_time":"2026-04-25 17:03:40","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 17:03:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:03:50] [INFO] Checking activity reminders 
[2026-04-25 17:03:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:03:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:04:00] [INFO] Checking activity reminders 
[2026-04-25 17:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:04:20] [INFO] Checking activity reminders 
[2026-04-25 17:04:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:04:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:04:30] [INFO] Checking activity reminders 
[2026-04-25 17:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:04:50] [INFO] Checking activity reminders 
[2026-04-25 17:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:05:00] [INFO] Checking activity reminders 
[2026-04-25 17:05:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:05:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:05:20] [INFO] Checking activity reminders 
[2026-04-25 17:05:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:05:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:05:30] [INFO] Checking activity reminders 
[2026-04-25 17:05:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:05:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:05:50] [INFO] Checking activity reminders 
[2026-04-25 17:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:00] [INFO] Checking activity reminders 
[2026-04-25 17:06:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:06:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:20] [INFO] Checking activity reminders 
[2026-04-25 17:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:30] [INFO] Checking activity reminders 
[2026-04-25 17:06:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:06:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:50] [INFO] Checking activity reminders 
[2026-04-25 17:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:54] [INFO] Checking activity reminders 
[2026-04-25 17:06:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:06:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:06:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:06:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:06:59] [INFO] generateDealTitle result {"contact_id":"1950","person_name":"حمید وقاری","mobile":"9157273094","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9157273094"}
[2026-04-25 17:07:00] [INFO] Checking activity reminders 
[2026-04-25 17:07:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:07:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:07:25] [INFO] Checking activity reminders 
[2026-04-25 17:07:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:07:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:07:30] [INFO] Checking activity reminders 
[2026-04-25 17:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:07:55] [INFO] Checking activity reminders 
[2026-04-25 17:07:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:07:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:08:00] [INFO] Checking activity reminders 
[2026-04-25 17:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:08:25] [INFO] Checking activity reminders 
[2026-04-25 17:08:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:08:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:08:31] [INFO] Checking activity reminders 
[2026-04-25 17:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:08:47] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1950","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 17:08:47","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:47] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1950","is_new_deal":true}
[2026-04-25 17:08:47] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 17:08:47] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:08:47] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:08:47] [INFO] getContactPrimaryPhone called {"contact_id":"1950"}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:47] [INFO] getContactPrimaryPhone result {"contact_id":"1950","person_found":true,"primary_phone":"9157273094"}
[2026-04-25 17:08:47] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9157273094"}
[2026-04-25 17:08:47] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9157273094","contact_id":"1950","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:08:47"}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:47] [INFO] generateDealTitle result {"contact_id":"1950","person_name":"حمید وقاری","mobile":"9157273094","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9157273094"}
[2026-04-25 17:08:47] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"1950","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 17:08:47] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1950","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 17:08:47] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"1950","title":"معامله سوم 9157273094 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9157273094","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حمید وقاری","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-25 17:08:47","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:47] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-25 17:08:47] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"1950","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9157273094 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-25 17:08:47","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 17:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:08:55] [INFO] Checking activity reminders 
[2026-04-25 17:08:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:08:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:09:01] [INFO] Checking activity reminders 
[2026-04-25 17:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:09:25] [INFO] Checking activity reminders 
[2026-04-25 17:09:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:09:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:09:31] [INFO] Checking activity reminders 
[2026-04-25 17:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:09:37] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"1950","deal_id":"local_69ecc3e7a1c075.72313848","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 17:09:37","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 17:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:09:37] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"1950","is_new_deal":false}
[2026-04-25 17:09:37] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 17:09:37] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:09:37] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:09:37] [INFO] getContactPrimaryPhone called {"contact_id":"1950"}
[2026-04-25 17:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:09:37] [INFO] getContactPrimaryPhone result {"contact_id":"1950","person_found":true,"primary_phone":"9157273094"}
[2026-04-25 17:09:37] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9157273094"}
[2026-04-25 17:09:37] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9157273094","contact_id":"1950","deal_id":"local_69ecc3e7a1c075.72313848","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:09:37"}
[2026-04-25 17:09:37] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ecc3e7a1c075.72313848","contact_id":"1950","existing_deal_found":true,"existing_contact_id":"1950","existing_title":"معامله سوم 9157273094 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:09:37"}
[2026-04-25 17:09:37] [INFO] DealController.save validated payments {"deal_id":"local_69ecc3e7a1c075.72313848","contact_id":"1950","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 17:09:37] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"1950","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 17:09:37] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ecc3e7a1c075.72313848","contact_didar_id":"1950","title":"معامله سوم 9157273094 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9157273094","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حمید وقاری","existing_deal":"YES","existing_deal_id":"local_69ecc3e7a1c075.72313848","existing_deal_status":"Pending","server_time":"2026-04-25 17:09:37","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 17:09:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:09:37] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ecc3e7a1c075.72313848","contact_id":"1950","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9157273094 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-25 17:09:37","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 17:09:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:09:55] [INFO] Checking activity reminders 
[2026-04-25 17:09:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:09:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:10:01] [INFO] Checking activity reminders 
[2026-04-25 17:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:10:25] [INFO] Checking activity reminders 
[2026-04-25 17:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:10:31] [INFO] Checking activity reminders 
[2026-04-25 17:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:10:55] [INFO] Checking activity reminders 
[2026-04-25 17:10:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:10:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:11:01] [INFO] Checking activity reminders 
[2026-04-25 17:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:11:25] [INFO] Checking activity reminders 
[2026-04-25 17:11:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:11:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:11:31] [INFO] Checking activity reminders 
[2026-04-25 17:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:11:56] [INFO] Checking activity reminders 
[2026-04-25 17:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:12:01] [INFO] Checking activity reminders 
[2026-04-25 17:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7168","person_id":"20612"}
[2026-04-25 17:12:26] [INFO] Checking activity reminders 
[2026-04-25 17:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:12:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4165","person_id":"19650"}
[2026-04-25 17:12:31] [INFO] Checking activity reminders 
[2026-04-25 17:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:12:56] [INFO] Checking activity reminders 
[2026-04-25 17:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:13:01] [INFO] Checking activity reminders 
[2026-04-25 17:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:13:26] [INFO] Checking activity reminders 
[2026-04-25 17:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:13:31] [INFO] Checking activity reminders 
[2026-04-25 17:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:13:56] [INFO] Checking activity reminders 
[2026-04-25 17:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:14:02] [INFO] Checking activity reminders 
[2026-04-25 17:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:14:26] [INFO] Checking activity reminders 
[2026-04-25 17:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:14:32] [INFO] Checking activity reminders 
[2026-04-25 17:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:14:56] [INFO] Checking activity reminders 
[2026-04-25 17:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:15:02] [INFO] Checking activity reminders 
[2026-04-25 17:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:15:26] [INFO] Checking activity reminders 
[2026-04-25 17:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:15:32] [INFO] Checking activity reminders 
[2026-04-25 17:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:15:56] [INFO] Checking activity reminders 
[2026-04-25 17:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:16:02] [INFO] Checking activity reminders 
[2026-04-25 17:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:16:26] [INFO] Checking activity reminders 
[2026-04-25 17:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:16:32] [INFO] Checking activity reminders 
[2026-04-25 17:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:16:56] [INFO] Checking activity reminders 
[2026-04-25 17:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:17:02] [INFO] Checking activity reminders 
[2026-04-25 17:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:17:26] [INFO] Checking activity reminders 
[2026-04-25 17:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:17:32] [INFO] Checking activity reminders 
[2026-04-25 17:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:17:57] [INFO] Checking activity reminders 
[2026-04-25 17:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:18:02] [INFO] Checking activity reminders 
[2026-04-25 17:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:18:27] [INFO] Checking activity reminders 
[2026-04-25 17:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:18:32] [INFO] Checking activity reminders 
[2026-04-25 17:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:18:57] [INFO] Checking activity reminders 
[2026-04-25 17:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:19:02] [INFO] Checking activity reminders 
[2026-04-25 17:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:19:27] [INFO] Checking activity reminders 
[2026-04-25 17:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:19:33] [INFO] Checking activity reminders 
[2026-04-25 17:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:19:41] [INFO] Checking activity reminders 
[2026-04-25 17:19:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:19:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:19:43] [INFO] Checking activity reminders 
[2026-04-25 17:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:20:03] [INFO] Checking activity reminders 
[2026-04-25 17:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:20:13] [INFO] Checking activity reminders 
[2026-04-25 17:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:20:33] [INFO] Checking activity reminders 
[2026-04-25 17:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:20:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:20:43] [INFO] Checking activity reminders 
[2026-04-25 17:20:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:20:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:21:03] [INFO] Checking activity reminders 
[2026-04-25 17:21:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:21:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:21:13] [INFO] Checking activity reminders 
[2026-04-25 17:21:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:21:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:21:33] [INFO] Checking activity reminders 
[2026-04-25 17:21:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:21:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:21:43] [INFO] Checking activity reminders 
[2026-04-25 17:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:22:03] [INFO] Checking activity reminders 
[2026-04-25 17:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:22:13] [INFO] Checking activity reminders 
[2026-04-25 17:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:22:33] [INFO] Checking activity reminders 
[2026-04-25 17:22:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:22:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:22:34] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 17:22:34] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:34] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:37] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:38] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:38] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:40] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:43] [INFO] Checking activity reminders 
[2026-04-25 17:22:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:22:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:22:51] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 17:22:51] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 17:22:51] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 17:22:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 17:22:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 17:22:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 17:22:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 17:22:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:23:03] [INFO] Checking activity reminders 
[2026-04-25 17:23:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:23:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:23:13] [INFO] Checking activity reminders 
[2026-04-25 17:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:23:33] [INFO] Checking activity reminders 
[2026-04-25 17:23:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:23:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:23:44] [INFO] Checking activity reminders 
[2026-04-25 17:23:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:23:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:23:48] [INFO] Checking activity reminders 
[2026-04-25 17:23:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:23:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:23:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-25 17:24:03] [INFO] Checking activity reminders 
[2026-04-25 17:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:24:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-25 17:24:14] [INFO] Checking activity reminders 
[2026-04-25 17:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:24:18] [INFO] Checking activity reminders 
[2026-04-25 17:24:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:24:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"7993","deal_id":"local_69ca923d2c1e37.10964407","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 17:24:23","session_id":"7le35k89ov9lhs5rduu7j9gqdo"}
[2026-04-25 17:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:24:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"7993","is_new_deal":false}
[2026-04-25 17:24:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-25 17:24:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:24:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-25 17:24:23] [INFO] getContactPrimaryPhone called {"contact_id":"7993"}
[2026-04-25 17:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:24:23] [INFO] getContactPrimaryPhone result {"contact_id":"7993","person_found":true,"primary_phone":"9123077796"}
[2026-04-25 17:24:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123077796"}
[2026-04-25 17:24:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123077796","contact_id":"7993","deal_id":"local_69ca923d2c1e37.10964407","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:24:23"}
[2026-04-25 17:24:23] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","existing_deal_found":true,"existing_contact_id":"7993","existing_title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 17:24:23"}
[2026-04-25 17:24:23] [INFO] DealController.save validated payments {"deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","payments_count":5,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 17:24:23] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7993","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 17:24:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca923d2c1e37.10964407","contact_didar_id":"7993","title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","base_title_used":"معامله پنجم 9123077796","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":64500000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"معتمدپور","existing_deal":"YES","existing_deal_id":"local_69ca923d2c1e37.10964407","existing_deal_status":"Pending","server_time":"2026-04-25 17:24:23","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 17:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:24:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca923d2c1e37.10964407","contact_id":"7993","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9123077796 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":64500000,"server_time":"2026-04-25 17:24:23","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 17:24:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-25 17:24:33] [INFO] Checking activity reminders 
[2026-04-25 17:24:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:24:44] [INFO] Checking activity reminders 
[2026-04-25 17:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:24:50] [INFO] Checking activity reminders 
[2026-04-25 17:24:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:24:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:04] [INFO] Checking activity reminders 
[2026-04-25 17:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:14] [INFO] Checking activity reminders 
[2026-04-25 17:25:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:25] [INFO] Checking activity reminders 
[2026-04-25 17:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-25 17:25:34] [INFO] Checking activity reminders 
[2026-04-25 17:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:44] [INFO] Checking activity reminders 
[2026-04-25 17:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:25:55] [INFO] Checking activity reminders 
[2026-04-25 17:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:04] [INFO] Checking activity reminders 
[2026-04-25 17:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:14] [INFO] Checking activity reminders 
[2026-04-25 17:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:26] [INFO] Checking activity reminders 
[2026-04-25 17:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:34] [INFO] Checking activity reminders 
[2026-04-25 17:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:38] [INFO] Checking activity reminders 
[2026-04-25 17:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:26:44] [INFO] Checking activity reminders 
[2026-04-25 17:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:27:04] [INFO] Checking activity reminders 
[2026-04-25 17:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:27:14] [INFO] Checking activity reminders 
[2026-04-25 17:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:27:34] [INFO] Checking activity reminders 
[2026-04-25 17:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:27:44] [INFO] Checking activity reminders 
[2026-04-25 17:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:28:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:28:04] [INFO] Checking activity reminders 
[2026-04-25 17:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:28:14] [INFO] Checking activity reminders 
[2026-04-25 17:28:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:28:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:28:34] [INFO] Checking activity reminders 
[2026-04-25 17:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:28:44] [INFO] Checking activity reminders 
[2026-04-25 17:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:29:04] [INFO] Checking activity reminders 
[2026-04-25 17:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:29:14] [INFO] Checking activity reminders 
[2026-04-25 17:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:29:35] [INFO] Checking activity reminders 
[2026-04-25 17:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:29:44] [INFO] Checking activity reminders 
[2026-04-25 17:29:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:29:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:30:05] [INFO] Checking activity reminders 
[2026-04-25 17:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:30:15] [INFO] Checking activity reminders 
[2026-04-25 17:30:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:30:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:30:35] [INFO] Checking activity reminders 
[2026-04-25 17:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:30:45] [INFO] Checking activity reminders 
[2026-04-25 17:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:31:05] [INFO] Checking activity reminders 
[2026-04-25 17:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:31:15] [INFO] Checking activity reminders 
[2026-04-25 17:31:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:31:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:31:35] [INFO] Checking activity reminders 
[2026-04-25 17:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:31:45] [INFO] Checking activity reminders 
[2026-04-25 17:31:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:31:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:32:05] [INFO] Checking activity reminders 
[2026-04-25 17:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:32:15] [INFO] Checking activity reminders 
[2026-04-25 17:32:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:32:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:32:35] [INFO] Checking activity reminders 
[2026-04-25 17:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:32:45] [INFO] Checking activity reminders 
[2026-04-25 17:32:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:32:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:33:05] [INFO] Checking activity reminders 
[2026-04-25 17:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:33:15] [INFO] Checking activity reminders 
[2026-04-25 17:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:33:35] [INFO] Checking activity reminders 
[2026-04-25 17:33:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:33:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:33:45] [INFO] Checking activity reminders 
[2026-04-25 17:33:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:33:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:34:05] [INFO] Checking activity reminders 
[2026-04-25 17:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:34:15] [INFO] Checking activity reminders 
[2026-04-25 17:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:34:35] [INFO] Checking activity reminders 
[2026-04-25 17:34:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:34:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:34:45] [INFO] Checking activity reminders 
[2026-04-25 17:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:35:06] [INFO] Checking activity reminders 
[2026-04-25 17:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:35:15] [INFO] Checking activity reminders 
[2026-04-25 17:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:35:36] [INFO] Checking activity reminders 
[2026-04-25 17:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:35:46] [INFO] Checking activity reminders 
[2026-04-25 17:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:36:06] [INFO] Checking activity reminders 
[2026-04-25 17:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:36:16] [INFO] Checking activity reminders 
[2026-04-25 17:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:36:36] [INFO] Checking activity reminders 
[2026-04-25 17:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:36:46] [INFO] Checking activity reminders 
[2026-04-25 17:36:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:36:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:36:54] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c0f25ca361.77593757","deal_id":"local_69b5c0f26035b","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"داره میره کردستان عراق زمینی با خانمش \r\nخودش تماس و هماهنگ میکنه \r\nپیام در بله ارسال شد ","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:36:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-25 17:36:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:36:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b5c0f25ca361.77593757","note_was_empty":true}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:36:54] [INFO] Updating virtual stage {"contact_id":"local_69b5c0f25ca361.77593757","stage_name":"deal_registered","force":false}
[2026-04-25 17:36:54] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c0f25ca361.77593757","stage_name":"deal_registered"}
[2026-04-25 17:36:54] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c0f25ca361.77593757"}
[2026-04-25 17:36:54] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c0f26035b","stage":"تماس پیگیری","status_change":null}
[2026-04-25 17:36:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ecca7e47b360.10798015","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:36:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69ecca7e47b360.10798015"}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:36:54] [INFO] Updating virtual stage {"contact_id":"local_69b5c0f25ca361.77593757","stage_name":"deal_registered","force":false}
[2026-04-25 17:36:54] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c0f25ca361.77593757","stage_name":"deal_registered"}
[2026-04-25 17:36:54] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c0f25ca361.77593757"}
[2026-04-25 17:36:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c0f25ca361.77593757","person_id":"21849"}
[2026-04-25 17:37:06] [INFO] Checking activity reminders 
[2026-04-25 17:37:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:37:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:37:16] [INFO] Checking activity reminders 
[2026-04-25 17:37:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:37:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:37:36] [INFO] Checking activity reminders 
[2026-04-25 17:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:37:46] [INFO] Checking activity reminders 
[2026-04-25 17:37:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:37:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:38:06] [INFO] Checking activity reminders 
[2026-04-25 17:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:38:16] [INFO] Checking activity reminders 
[2026-04-25 17:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:38:36] [INFO] Checking activity reminders 
[2026-04-25 17:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:38:46] [INFO] Checking activity reminders 
[2026-04-25 17:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:39:06] [INFO] Checking activity reminders 
[2026-04-25 17:39:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:39:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:39:16] [INFO] Checking activity reminders 
[2026-04-25 17:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:39:36] [INFO] Checking activity reminders 
[2026-04-25 17:39:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:39:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:39:46] [INFO] Checking activity reminders 
[2026-04-25 17:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:40:06] [INFO] Checking activity reminders 
[2026-04-25 17:40:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:40:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:40:16] [INFO] Checking activity reminders 
[2026-04-25 17:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:40:37] [INFO] Checking activity reminders 
[2026-04-25 17:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:40:46] [INFO] Checking activity reminders 
[2026-04-25 17:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:41:07] [INFO] Checking activity reminders 
[2026-04-25 17:41:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:41:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:41:16] [INFO] Checking activity reminders 
[2026-04-25 17:41:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:41:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:41:37] [INFO] Checking activity reminders 
[2026-04-25 17:41:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:41:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:41:47] [INFO] Checking activity reminders 
[2026-04-25 17:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:42:07] [INFO] Checking activity reminders 
[2026-04-25 17:42:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:42:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:42:17] [INFO] Checking activity reminders 
[2026-04-25 17:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:42:37] [INFO] Checking activity reminders 
[2026-04-25 17:42:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:42:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:42:47] [INFO] Checking activity reminders 
[2026-04-25 17:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:43:07] [INFO] Checking activity reminders 
[2026-04-25 17:43:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:43:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:43:17] [INFO] Checking activity reminders 
[2026-04-25 17:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:43:37] [INFO] Checking activity reminders 
[2026-04-25 17:43:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:43:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:43:47] [INFO] Checking activity reminders 
[2026-04-25 17:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:07] [INFO] Checking activity reminders 
[2026-04-25 17:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:17] [INFO] Checking activity reminders 
[2026-04-25 17:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:25] [INFO] Checking activity reminders 
[2026-04-25 17:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:37] [INFO] Checking activity reminders 
[2026-04-25 17:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:37] [INFO] Checking activity reminders 
[2026-04-25 17:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:38] [INFO] Checking activity reminders 
[2026-04-25 17:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:40] [INFO] Checking activity reminders 
[2026-04-25 17:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:44:43] [INFO] Checking activity reminders 
[2026-04-25 17:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:45:07] [INFO] Checking activity reminders 
[2026-04-25 17:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:45:13] [INFO] Checking activity reminders 
[2026-04-25 17:45:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:45:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:45:38] [INFO] Checking activity reminders 
[2026-04-25 17:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:45:43] [INFO] Checking activity reminders 
[2026-04-25 17:45:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:45:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:46:08] [INFO] Checking activity reminders 
[2026-04-25 17:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:46:13] [INFO] Checking activity reminders 
[2026-04-25 17:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:46:38] [INFO] Checking activity reminders 
[2026-04-25 17:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:46:43] [INFO] Checking activity reminders 
[2026-04-25 17:46:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:46:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:47:08] [INFO] Checking activity reminders 
[2026-04-25 17:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:47:14] [INFO] Checking activity reminders 
[2026-04-25 17:47:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:47:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:47:38] [INFO] Checking activity reminders 
[2026-04-25 17:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:47:44] [INFO] Checking activity reminders 
[2026-04-25 17:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:03] [INFO] Checking activity reminders 
[2026-04-25 17:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:06] [INFO] Checking activity reminders 
[2026-04-25 17:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:08] [INFO] Checking activity reminders 
[2026-04-25 17:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:27] [INFO] Checking activity reminders 
[2026-04-25 17:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:38] [INFO] Checking activity reminders 
[2026-04-25 17:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:48:57] [INFO] Checking activity reminders 
[2026-04-25 17:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:49:08] [INFO] Checking activity reminders 
[2026-04-25 17:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:49:27] [INFO] Checking activity reminders 
[2026-04-25 17:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:49:38] [INFO] Checking activity reminders 
[2026-04-25 17:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:49:57] [INFO] Checking activity reminders 
[2026-04-25 17:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:50:08] [INFO] Checking activity reminders 
[2026-04-25 17:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:50:27] [INFO] Checking activity reminders 
[2026-04-25 17:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:50:38] [INFO] Checking activity reminders 
[2026-04-25 17:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:50:57] [INFO] Checking activity reminders 
[2026-04-25 17:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:51:09] [INFO] Checking activity reminders 
[2026-04-25 17:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:51:28] [INFO] Checking activity reminders 
[2026-04-25 17:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:51:39] [INFO] Checking activity reminders 
[2026-04-25 17:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:51:58] [INFO] Checking activity reminders 
[2026-04-25 17:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:52:09] [INFO] Checking activity reminders 
[2026-04-25 17:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:52:28] [INFO] Checking activity reminders 
[2026-04-25 17:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:52:39] [INFO] Checking activity reminders 
[2026-04-25 17:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:52:58] [INFO] Checking activity reminders 
[2026-04-25 17:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:53:09] [INFO] Checking activity reminders 
[2026-04-25 17:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:53:28] [INFO] Checking activity reminders 
[2026-04-25 17:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:53:39] [INFO] Checking activity reminders 
[2026-04-25 17:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:53:58] [INFO] Checking activity reminders 
[2026-04-25 17:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:09] [INFO] Checking activity reminders 
[2026-04-25 17:54:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:28] [INFO] Checking activity reminders 
[2026-04-25 17:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:34] [INFO] Checking activity reminders 
[2026-04-25 17:54:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:35] [INFO] Checking activity reminders 
[2026-04-25 17:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:39] [INFO] Checking activity reminders 
[2026-04-25 17:54:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:54:40] [INFO] Checking activity reminders 
[2026-04-25 17:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:55:04] [INFO] Checking activity reminders 
[2026-04-25 17:55:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:55:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:55:09] [INFO] Checking activity reminders 
[2026-04-25 17:55:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:55:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:55:34] [INFO] Checking activity reminders 
[2026-04-25 17:55:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:55:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:55:39] [INFO] Checking activity reminders 
[2026-04-25 17:55:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:55:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:56:04] [INFO] Checking activity reminders 
[2026-04-25 17:56:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:56:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:56:09] [INFO] Checking activity reminders 
[2026-04-25 17:56:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:56:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:56:18] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9194797939","09194797939"]}
[2026-04-25 17:56:18] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9194797939","09194797939"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-25 17:56:18] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9194797939","full_name":"لید جدید"}
[2026-04-25 17:56:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-25 17:56:18] [INFO] Notification created {"notification_id":"670","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-25 17:56:34] [INFO] Checking activity reminders 
[2026-04-25 17:56:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:56:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:56:39] [INFO] Checking activity reminders 
[2026-04-25 17:56:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:56:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:56:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-25 17:56:57] [INFO] Checking activity reminders 
[2026-04-25 17:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:57:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-25 17:57:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-25 17:57:10] [INFO] Checking activity reminders 
[2026-04-25 17:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:57:27] [INFO] Checking activity reminders 
[2026-04-25 17:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:57:40] [INFO] Checking activity reminders 
[2026-04-25 17:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:57:58] [INFO] Checking activity reminders 
[2026-04-25 17:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:58:10] [INFO] Checking activity reminders 
[2026-04-25 17:58:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:58:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:58:40] [INFO] Checking activity reminders 
[2026-04-25 17:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:59:10] [INFO] Checking activity reminders 
[2026-04-25 17:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 17:59:40] [INFO] Checking activity reminders 
[2026-04-25 17:59:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 17:59:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:00:10] [INFO] Checking activity reminders 
[2026-04-25 18:00:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:00:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:00:40] [INFO] Checking activity reminders 
[2026-04-25 18:00:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:00:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:01:10] [INFO] Checking activity reminders 
[2026-04-25 18:01:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:01:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:01:40] [INFO] Checking activity reminders 
[2026-04-25 18:01:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:01:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:02:11] [INFO] Checking activity reminders 
[2026-04-25 18:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:05:26] [INFO] Checking activity reminders 
[2026-04-25 18:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:05:56] [INFO] Checking activity reminders 
[2026-04-25 18:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:06:26] [INFO] Checking activity reminders 
[2026-04-25 18:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:06:56] [INFO] Checking activity reminders 
[2026-04-25 18:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:07:26] [INFO] Checking activity reminders 
[2026-04-25 18:07:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:07:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:07:56] [INFO] Checking activity reminders 
[2026-04-25 18:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:08:26] [INFO] Checking activity reminders 
[2026-04-25 18:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:08:56] [INFO] Checking activity reminders 
[2026-04-25 18:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:09:00] [INFO] Checking activity reminders 
[2026-04-25 18:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:09:27] [INFO] Checking activity reminders 
[2026-04-25 18:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:09:57] [INFO] Checking activity reminders 
[2026-04-25 18:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:10:27] [INFO] Checking activity reminders 
[2026-04-25 18:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:10:57] [INFO] Checking activity reminders 
[2026-04-25 18:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:11:27] [INFO] Checking activity reminders 
[2026-04-25 18:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:11:57] [INFO] Checking activity reminders 
[2026-04-25 18:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:12:27] [INFO] Checking activity reminders 
[2026-04-25 18:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:12:57] [INFO] Checking activity reminders 
[2026-04-25 18:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:13:27] [INFO] Checking activity reminders 
[2026-04-25 18:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:13:57] [INFO] Checking activity reminders 
[2026-04-25 18:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:14:27] [INFO] Checking activity reminders 
[2026-04-25 18:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:14:58] [INFO] Checking activity reminders 
[2026-04-25 18:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:15:28] [INFO] Checking activity reminders 
[2026-04-25 18:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:15:58] [INFO] Checking activity reminders 
[2026-04-25 18:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:16:28] [INFO] Checking activity reminders 
[2026-04-25 18:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:16:58] [INFO] Checking activity reminders 
[2026-04-25 18:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:17:28] [INFO] Checking activity reminders 
[2026-04-25 18:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:17:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 18:18:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:18:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:18:26] [INFO] Checking activity reminders 
[2026-04-25 18:18:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:18:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:18:29] [INFO] Lead update received {"contact_id":"21076","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-25 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:18:29] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21076"}
[2026-04-25 18:18:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:18:56] [INFO] Checking activity reminders 
[2026-04-25 18:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:19:26] [INFO] Checking activity reminders 
[2026-04-25 18:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 18:19:30] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21076","deal_id":"local_69d0a875473214.93175946","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 18:19:30","session_id":"nig9lhuucn16ls2slpl6qcnbsj"}
[2026-04-25 18:19:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:19:30] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21076","is_new_deal":false}
[2026-04-25 18:19:30] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 18:19:30] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 18:19:30] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-25 18:19:30] [INFO] getContactPrimaryPhone called {"contact_id":"21076"}
[2026-04-25 18:19:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:19:30] [INFO] getContactPrimaryPhone result {"contact_id":"21076","person_found":true,"primary_phone":"9363802379"}
[2026-04-25 18:19:30] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9363802379"}
[2026-04-25 18:19:30] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9363802379","contact_id":"21076","deal_id":"local_69d0a875473214.93175946","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 18:19:30"}
[2026-04-25 18:19:30] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d0a875473214.93175946","contact_id":"21076","existing_deal_found":true,"existing_contact_id":"21076","existing_title":"معامله دوم 9363802379 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-25 18:19:30"}
[2026-04-25 18:19:30] [INFO] DealController.save validated payments {"deal_id":"local_69d0a875473214.93175946","contact_id":"21076","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-25 18:19:30] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21076","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 18:19:30] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d0a875473214.93175946","contact_didar_id":"21076","title":"معامله دوم 9363802379 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9363802379","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":12000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسن محمدی","existing_deal":"YES","existing_deal_id":"local_69d0a875473214.93175946","existing_deal_status":"Pending","server_time":"2026-04-25 18:19:30","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-25 18:19:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:19:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d0a875473214.93175946","contact_id":"21076","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9363802379 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":12000000,"server_time":"2026-04-25 18:19:30","ip_address":"2.182.66.39","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-25 18:19:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:19:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 18:22:15] [INFO] Checking activity reminders 
[2026-04-25 18:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 18:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 19:12:08] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 19:12:08] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-25 19:12:08] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 19:12:17] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-25 19:12:17] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 19:12:17] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 19:12:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 19:12:17] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 19:12:17] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 19:12:17] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 19:12:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 19:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-25 19:15:06] [INFO] Checking activity reminders 
[2026-04-25 19:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 19:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 21:42:27] [WARNING] Auth check failed - not authenticated {"session_id":"f5hhe837u6p3g0m8f06bihmca7","session_keys":[],"action":"log_client_event"}
[2026-04-25 21:42:27] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-25 21:42:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 21:42:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:42:57] [INFO] Checking activity reminders 
[2026-04-25 21:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 21:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 21:43:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:43:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:43:00] [INFO] generateDealTitle result {"contact_id":"21535","person_name":"مهرشاد سپاسگذار","mobile":"9309663024","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9309663024"}
[2026-04-25 21:43:27] [INFO] Checking activity reminders 
[2026-04-25 21:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 21:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 21:44:09] [INFO] Checking activity reminders 
[2026-04-25 21:44:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 21:44:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 21:44:22] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21535","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-25 21:44:22","session_id":"f5hhe837u6p3g0m8f06bihmca7"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21535","is_new_deal":true}
[2026-04-25 21:44:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 21:44:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 21:44:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-25 21:44:22] [INFO] getContactPrimaryPhone called {"contact_id":"21535"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [INFO] getContactPrimaryPhone result {"contact_id":"21535","person_found":true,"primary_phone":"9309663024"}
[2026-04-25 21:44:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9309663024"}
[2026-04-25 21:44:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9309663024","contact_id":"21535","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-25 21:44:22"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [INFO] generateDealTitle result {"contact_id":"21535","person_name":"مهرشاد سپاسگذار","mobile":"9309663024","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9309663024"}
[2026-04-25 21:44:22] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21535","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-25 21:44:22] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21535","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-25 21:44:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21535","title":"معامله دوم 9309663024 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9309663024","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":25000000,"payment_amount":25000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مهرشاد سپاسگذار","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-25 21:44:22","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [INFO] Deal success processed {"contact_id":"21535","person_name":"مهرشاد سپاسگذار","products_count":1}
[2026-04-25 21:44:22] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-25 21:44:22] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21535","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9309663024 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":25000000,"payment_amount":25000000,"server_time":"2026-04-25 21:44:22","ip_address":"2.176.233.197","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 21:44:22] [INFO] Updating virtual stage {"contact_id":"21535","stage_name":"with_purchase","force":true}
[2026-04-25 21:44:22] [INFO] Virtual stage successfully saved {"contact_id":"21535","stage_name":"with_purchase"}
[2026-04-25 21:44:22] [INFO] Moved contact out of kariz after successful deal {"contact_id":"21535","deal_id":"","target_stage":"with_purchase"}
[2026-04-25 21:44:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-25 23:02:36] [WARNING] Auth check failed - not authenticated {"session_id":"35lnl99j51dfit78v9j4ala4f6","session_keys":[],"action":"log_client_event"}
[2026-04-25 23:02:36] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-25 23:02:36] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-25 23:02:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-25 23:02:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:02:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:02:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:02:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:02:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:02:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:03:05] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:03:05] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:03:05] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:03:07] [INFO] Checking activity reminders 
[2026-04-25 23:03:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:03:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:03:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:03:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:03:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:03:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:03:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:03:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:03:40] [INFO] Checking activity reminders 
[2026-04-25 23:03:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:03:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:04:11] [INFO] Checking activity reminders 
[2026-04-25 23:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:04:41] [INFO] Checking activity reminders 
[2026-04-25 23:04:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:04:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:05:11] [INFO] Checking activity reminders 
[2026-04-25 23:05:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:05:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:05:41] [INFO] Checking activity reminders 
[2026-04-25 23:05:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:05:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:06:11] [INFO] Checking activity reminders 
[2026-04-25 23:06:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:06:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:06:41] [INFO] Checking activity reminders 
[2026-04-25 23:06:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:06:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:07:12] [INFO] Checking activity reminders 
[2026-04-25 23:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:07:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:07:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:07:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-25 23:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-25 23:07:42] [INFO] Checking activity reminders 
[2026-04-25 23:07:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:07:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:08:12] [INFO] Checking activity reminders 
[2026-04-25 23:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:08:42] [INFO] Checking activity reminders 
[2026-04-25 23:08:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:08:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:09:12] [INFO] Checking activity reminders 
[2026-04-25 23:09:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:09:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:09:42] [INFO] Checking activity reminders 
[2026-04-25 23:09:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:09:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:10:13] [INFO] Checking activity reminders 
[2026-04-25 23:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:10:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1817","person_id":"4257"}
[2026-04-25 23:10:43] [INFO] Checking activity reminders 
[2026-04-25 23:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:11:13] [INFO] Checking activity reminders 
[2026-04-25 23:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:11:58] [INFO] Checking activity reminders 
[2026-04-25 23:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:12:28] [INFO] Checking activity reminders 
[2026-04-25 23:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:12:59] [INFO] Checking activity reminders 
[2026-04-25 23:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:13:29] [INFO] Checking activity reminders 
[2026-04-25 23:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:13:59] [INFO] Checking activity reminders 
[2026-04-25 23:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:14:29] [INFO] Checking activity reminders 
[2026-04-25 23:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:14:59] [INFO] Checking activity reminders 
[2026-04-25 23:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:15:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:15:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:15:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:15:29] [INFO] Checking activity reminders 
[2026-04-25 23:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:15:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:15:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:15:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:16:00] [INFO] Checking activity reminders 
[2026-04-25 23:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:16:34] [INFO] Checking activity reminders 
[2026-04-25 23:16:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:16:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:17:02] [INFO] Checking activity reminders 
[2026-04-25 23:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:17:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:17:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:17:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:17:32] [INFO] Checking activity reminders 
[2026-04-25 23:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:18:43] [INFO] Checking activity reminders 
[2026-04-25 23:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:18:50] [INFO] Checking activity reminders 
[2026-04-25 23:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:19:21] [INFO] Checking activity reminders 
[2026-04-25 23:19:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:19:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:19:51] [INFO] Checking activity reminders 
[2026-04-25 23:19:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:19:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:20:21] [INFO] Checking activity reminders 
[2026-04-25 23:20:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:20:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:20:51] [INFO] Checking activity reminders 
[2026-04-25 23:20:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:20:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:21:21] [INFO] Checking activity reminders 
[2026-04-25 23:21:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:21:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:21:51] [INFO] Checking activity reminders 
[2026-04-25 23:21:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:21:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:22:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-25 23:22:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-25 23:22:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-25 23:22:15] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:15] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:18] [INFO] KPI calculation completed {"kpi_mode":"global","kpi_keys":["sales","settled","outstanding","lost_sales","won_sales","open_pipeline","deals_without_payments","product_sales","deal_conversion","lead_conversion","time_to_conversion","daily_sales","daily_operational","advanced_tables","target_achievement","kpi_mode"]}
[2026-04-25 23:22:19] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:19] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:19] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:19] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-04-25 23:22:22] [INFO] Checking activity reminders 
[2026-04-25 23:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:22:52] [INFO] Checking activity reminders 
[2026-04-25 23:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:23:22] [INFO] Checking activity reminders 
[2026-04-25 23:23:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:23:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:23:52] [INFO] Checking activity reminders 
[2026-04-25 23:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:24:22] [INFO] Checking activity reminders 
[2026-04-25 23:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:24:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2925","person_id":"3659"}
[2026-04-25 23:24:53] [INFO] Checking activity reminders 
[2026-04-25 23:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-25 23:24:57] [ERROR] Failed to get support logs {"contact_id":"2925","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-25 23:24:57] [ERROR] Error getting support logs {"contact_id":"2925","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-04-25 23:25:23] [INFO] Checking activity reminders 
[2026-04-25 23:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-25 23:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 02:50:23] [WARNING] Auth check failed - not authenticated {"session_id":"0lvarbfgp9gqdf643pjtb32ib6","session_keys":[],"action":"log_client_event"}
[2026-04-26 02:50:23] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 02:50:23] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 02:50:24] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 02:50:24] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 02:50:24] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 02:50:24] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 02:50:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-26 02:50:54] [INFO] Checking activity reminders 
[2026-04-26 02:50:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 02:50:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 02:52:31] [INFO] Checking activity reminders 
[2026-04-26 02:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 02:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 02:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-26 02:52:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 02:52:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 02:53:17] [INFO] Checking activity reminders 
[2026-04-26 02:53:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 02:53:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 02:53:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-26 02:53:47] [INFO] Checking activity reminders 
[2026-04-26 02:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 02:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:08:29] [WARNING] Auth check failed - not authenticated {"session_id":"8t05dcfmit4m0h6v7v7n2gopbe","session_keys":[],"action":"log_client_event"}
[2026-04-26 09:08:29] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-26 09:08:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 09:08:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 09:08:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 09:08:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 09:08:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-26 09:09:00] [INFO] Checking activity reminders 
[2026-04-26 09:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:09:30] [INFO] Checking activity reminders 
[2026-04-26 09:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:12:23] [INFO] Checking activity reminders 
[2026-04-26 09:12:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:12:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:12:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-26 09:12:43] [INFO] Checking activity reminders 
[2026-04-26 09:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:13:10] [INFO] Checking activity reminders 
[2026-04-26 09:13:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:13:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:13:27] [INFO] Checking activity reminders 
[2026-04-26 09:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:13:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699c947020ec48.45521689","person_id":"21786"}
[2026-04-26 09:13:49] [INFO] Checking activity reminders 
[2026-04-26 09:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:13:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15468","person_id":"16030"}
[2026-04-26 09:14:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12978","person_id":"6854"}
[2026-04-26 09:14:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11883","person_id":"18312"}
[2026-04-26 09:14:19] [INFO] Checking activity reminders 
[2026-04-26 09:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:14:49] [INFO] Checking activity reminders 
[2026-04-26 09:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:15:59] [INFO] Checking activity reminders 
[2026-04-26 09:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:15:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 09:15:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 09:15:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 09:15:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 09:16:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 09:17:18] [INFO] Checking activity reminders 
[2026-04-26 09:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:19:17] [INFO] Checking activity reminders 
[2026-04-26 09:19:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:19:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:19:25] [INFO] Checking activity reminders 
[2026-04-26 09:19:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:19:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:19:40] [INFO] Checking activity reminders 
[2026-04-26 09:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:19:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 09:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-26 09:20:10] [INFO] Checking activity reminders 
[2026-04-26 09:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:20:20] [INFO] Checking activity reminders 
[2026-04-26 09:20:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:20:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:20:40] [INFO] Checking activity reminders 
[2026-04-26 09:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:21:23] [INFO] Checking activity reminders 
[2026-04-26 09:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:22:27] [INFO] Checking activity reminders 
[2026-04-26 09:22:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:22:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:22:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-26 09:22:39] [INFO] Checking activity reminders 
[2026-04-26 09:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:22:58] [INFO] Checking activity reminders 
[2026-04-26 09:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:23:52] [INFO] Checking activity reminders 
[2026-04-26 09:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:24:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21285","person_id":"5603"}
[2026-04-26 09:24:58] [INFO] Checking activity reminders 
[2026-04-26 09:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:25:58] [INFO] Checking activity reminders 
[2026-04-26 09:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:27:02] [INFO] Checking activity reminders 
[2026-04-26 09:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:27:21] [INFO] Checking activity reminders 
[2026-04-26 09:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:28:52] [INFO] Checking activity reminders 
[2026-04-26 09:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:30:28] [INFO] Checking activity reminders 
[2026-04-26 09:30:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:30:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:30:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-26 09:31:05] [INFO] Checking activity reminders 
[2026-04-26 09:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:31:22] [INFO] Checking activity reminders 
[2026-04-26 09:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:31:53] [INFO] Checking activity reminders 
[2026-04-26 09:31:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:31:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:31:57] [INFO] Checking activity reminders 
[2026-04-26 09:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:32:05] [INFO] Checking activity reminders 
[2026-04-26 09:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:32:20] [INFO] Checking activity reminders 
[2026-04-26 09:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:32:28] [INFO] Checking activity reminders 
[2026-04-26 09:32:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:32:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:33:05] [INFO] Checking activity reminders 
[2026-04-26 09:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:34:17] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 09:34:17] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-26 09:34:17] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 09:35:05] [INFO] Checking activity reminders 
[2026-04-26 09:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:35:08] [INFO] Checking activity reminders 
[2026-04-26 09:35:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:35:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:35:19] [INFO] Checking activity reminders 
[2026-04-26 09:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:36:15] [INFO] Checking activity reminders 
[2026-04-26 09:36:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:36:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:36:19] [INFO] Checking activity reminders 
[2026-04-26 09:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:36:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-26 09:37:23] [INFO] Checking activity reminders 
[2026-04-26 09:37:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:37:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:37:38] [INFO] Checking activity reminders 
[2026-04-26 09:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:38:47] [INFO] Checking activity reminders 
[2026-04-26 09:38:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:38:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:39:57] [INFO] Checking activity reminders 
[2026-04-26 09:39:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 09:39:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 09:44:02] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 09:44:03] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-26 09:44:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 09:54:07] [WARNING] Auth check failed - not authenticated {"session_id":"6d8sg5ql92dg8q8njkg5nooff4","session_keys":[],"action":"log_client_event"}
[2026-04-26 09:54:07] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-26 09:54:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 10:01:45] [INFO] Checking activity reminders 
[2026-04-26 10:01:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:01:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:04:59] [INFO] Checking activity reminders 
[2026-04-26 10:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:07:14] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-26 10:07:14] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-26 10:07:14] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 10:07:19] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-26 10:07:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 10:07:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:07:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:07:49] [INFO] Checking activity reminders 
[2026-04-26 10:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:08:20] [INFO] Checking activity reminders 
[2026-04-26 10:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:08:50] [INFO] Checking activity reminders 
[2026-04-26 10:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:09:20] [INFO] Checking activity reminders 
[2026-04-26 10:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:09:50] [INFO] Checking activity reminders 
[2026-04-26 10:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:10:00] [INFO] Checking activity reminders 
[2026-04-26 10:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:10:31] [INFO] Checking activity reminders 
[2026-04-26 10:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:10:56] [INFO] Checking activity reminders 
[2026-04-26 10:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:11:01] [INFO] Checking activity reminders 
[2026-04-26 10:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:11:31] [INFO] Checking activity reminders 
[2026-04-26 10:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:11:31] [INFO] Checking activity reminders 
[2026-04-26 10:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:12:01] [INFO] Checking activity reminders 
[2026-04-26 10:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:12:31] [INFO] Checking activity reminders 
[2026-04-26 10:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:13:01] [INFO] Checking activity reminders 
[2026-04-26 10:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:13:31] [INFO] Checking activity reminders 
[2026-04-26 10:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:14:01] [INFO] Checking activity reminders 
[2026-04-26 10:14:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:14:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:14:31] [INFO] Checking activity reminders 
[2026-04-26 10:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:15:01] [INFO] Checking activity reminders 
[2026-04-26 10:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:15:32] [INFO] Checking activity reminders 
[2026-04-26 10:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:16:02] [INFO] Checking activity reminders 
[2026-04-26 10:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:16:32] [INFO] Checking activity reminders 
[2026-04-26 10:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:17:02] [INFO] Checking activity reminders 
[2026-04-26 10:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:17:32] [INFO] Checking activity reminders 
[2026-04-26 10:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:18:02] [INFO] Checking activity reminders 
[2026-04-26 10:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:18:32] [INFO] Checking activity reminders 
[2026-04-26 10:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:19:02] [INFO] Checking activity reminders 
[2026-04-26 10:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:19:12] [INFO] Checking activity reminders 
[2026-04-26 10:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:19:42] [INFO] Checking activity reminders 
[2026-04-26 10:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:04] [INFO] Checking activity reminders 
[2026-04-26 10:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:25:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:25:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:25:26] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:26] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:25:26] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:27] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:34] [INFO] Checking activity reminders 
[2026-04-26 10:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:25:48] [WARNING] Auth check failed - not authenticated {"session_id":"f7s162f524cnh6tle7t1dcv1ev","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:25:48] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 10:25:48] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 10:25:48] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 10:25:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:25:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:25:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:26:04] [INFO] Checking activity reminders 
[2026-04-26 10:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:26:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 10:26:18] [INFO] Checking activity reminders 
[2026-04-26 10:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:26:34] [INFO] Checking activity reminders 
[2026-04-26 10:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:26:49] [INFO] Checking activity reminders 
[2026-04-26 10:26:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:26:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:27:04] [INFO] Checking activity reminders 
[2026-04-26 10:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:27:19] [INFO] Checking activity reminders 
[2026-04-26 10:27:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:27:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:27:34] [INFO] Checking activity reminders 
[2026-04-26 10:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:27:49] [INFO] Checking activity reminders 
[2026-04-26 10:27:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:27:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:27:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 10:28:04] [INFO] Checking activity reminders 
[2026-04-26 10:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:28:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21201","person_id":"17212"}
[2026-04-26 10:28:19] [INFO] Checking activity reminders 
[2026-04-26 10:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-26 10:28:34] [INFO] Checking activity reminders 
[2026-04-26 10:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:28:50] [INFO] Checking activity reminders 
[2026-04-26 10:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:28:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 10:29:05] [INFO] Checking activity reminders 
[2026-04-26 10:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:29:20] [INFO] Checking activity reminders 
[2026-04-26 10:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:29:35] [INFO] Checking activity reminders 
[2026-04-26 10:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:29:50] [INFO] Checking activity reminders 
[2026-04-26 10:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:29:59] [INFO] Lead update received {"contact_id":"17008","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:29:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 10:29:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 10:29:59] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"17008"}
[2026-04-26 10:29:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 10:30:05] [INFO] Checking activity reminders 
[2026-04-26 10:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:30:17] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:30:17] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:30:17] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:30:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:30:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:30:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:30:23] [INFO] Checking activity reminders 
[2026-04-26 10:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:30:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:30:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:30:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:30:35] [INFO] Checking activity reminders 
[2026-04-26 10:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:30:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:30:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:30:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:30:57] [INFO] Checking activity reminders 
[2026-04-26 10:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:31:05] [INFO] Checking activity reminders 
[2026-04-26 10:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:31:27] [INFO] Checking activity reminders 
[2026-04-26 10:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:31:35] [INFO] Checking activity reminders 
[2026-04-26 10:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:31:57] [INFO] Checking activity reminders 
[2026-04-26 10:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:32:05] [INFO] Checking activity reminders 
[2026-04-26 10:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:32:27] [INFO] Checking activity reminders 
[2026-04-26 10:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:32:35] [INFO] Checking activity reminders 
[2026-04-26 10:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 10:32:57] [INFO] Checking activity reminders 
[2026-04-26 10:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:33:05] [INFO] Checking activity reminders 
[2026-04-26 10:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:33:27] [INFO] Checking activity reminders 
[2026-04-26 10:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:33:35] [INFO] Checking activity reminders 
[2026-04-26 10:33:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:33:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:33:57] [INFO] Checking activity reminders 
[2026-04-26 10:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:34:06] [INFO] Checking activity reminders 
[2026-04-26 10:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:34:13] [INFO] Lead update received {"contact_id":"local_69d76804772657.01504104","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 10:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 10:34:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69d76804772657.01504104"}
[2026-04-26 10:34:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 10:34:27] [INFO] Checking activity reminders 
[2026-04-26 10:34:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:34:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:34:36] [INFO] Checking activity reminders 
[2026-04-26 10:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:34:57] [INFO] Checking activity reminders 
[2026-04-26 10:34:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:34:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:35:06] [INFO] Checking activity reminders 
[2026-04-26 10:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:35:28] [INFO] Checking activity reminders 
[2026-04-26 10:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:35:36] [INFO] Checking activity reminders 
[2026-04-26 10:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:35:46] [INFO] Checking activity reminders 
[2026-04-26 10:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:36:06] [INFO] Checking activity reminders 
[2026-04-26 10:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:36:16] [INFO] Checking activity reminders 
[2026-04-26 10:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:36:36] [INFO] Checking activity reminders 
[2026-04-26 10:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:36:46] [INFO] Checking activity reminders 
[2026-04-26 10:36:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:36:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:36:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:36:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:36:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:37:06] [INFO] Checking activity reminders 
[2026-04-26 10:37:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:37:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:37:16] [INFO] Checking activity reminders 
[2026-04-26 10:37:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:37:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:37:36] [INFO] Checking activity reminders 
[2026-04-26 10:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:37:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d673b991e925.63859145","person_id":"22045"}
[2026-04-26 10:37:46] [INFO] Checking activity reminders 
[2026-04-26 10:37:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:37:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:38:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 10:38:06] [INFO] Checking activity reminders 
[2026-04-26 10:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:38:16] [INFO] Checking activity reminders 
[2026-04-26 10:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:38:36] [INFO] Checking activity reminders 
[2026-04-26 10:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:38:46] [INFO] Checking activity reminders 
[2026-04-26 10:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:38:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:38:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:38:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:38:57] [INFO] Lead update received {"contact_id":"9650","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:38:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 10:38:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 10:38:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9650"}
[2026-04-26 10:38:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 10:39:07] [INFO] Checking activity reminders 
[2026-04-26 10:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:39:13] [INFO] Checking activity reminders 
[2026-04-26 10:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:39:16] [INFO] Checking activity reminders 
[2026-04-26 10:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:39:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e5e4ab759fb4.84597372","person_id":"22207"}
[2026-04-26 10:39:35] [INFO] Checking activity reminders 
[2026-04-26 10:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:39:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-26 10:39:46] [INFO] Checking activity reminders 
[2026-04-26 10:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:40:05] [INFO] Checking activity reminders 
[2026-04-26 10:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:40:12] [INFO] Lead update received {"contact_id":"4167","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:40:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-26 10:40:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-26 10:40:12] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4167"}
[2026-04-26 10:40:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-26 10:40:17] [INFO] Checking activity reminders 
[2026-04-26 10:40:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:40:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:40:35] [INFO] Checking activity reminders 
[2026-04-26 10:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:40:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-26 10:40:47] [INFO] Checking activity reminders 
[2026-04-26 10:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:40:57] [INFO] Checking activity reminders 
[2026-04-26 10:40:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:40:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:41:05] [INFO] Checking activity reminders 
[2026-04-26 10:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:41:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7713","person_id":"11152"}
[2026-04-26 10:41:17] [INFO] Checking activity reminders 
[2026-04-26 10:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:41:35] [INFO] Checking activity reminders 
[2026-04-26 10:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:41:47] [INFO] Checking activity reminders 
[2026-04-26 10:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:41:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:41:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:41:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:42:05] [INFO] Checking activity reminders 
[2026-04-26 10:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:42:17] [INFO] Checking activity reminders 
[2026-04-26 10:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:42:35] [INFO] Checking activity reminders 
[2026-04-26 10:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:42:47] [INFO] Checking activity reminders 
[2026-04-26 10:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:43:05] [INFO] Checking activity reminders 
[2026-04-26 10:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:43:17] [INFO] Checking activity reminders 
[2026-04-26 10:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:43:35] [INFO] Checking activity reminders 
[2026-04-26 10:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:43:42] [INFO] Checking activity reminders 
[2026-04-26 10:43:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:43:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 10:43:47] [INFO] Checking activity reminders 
[2026-04-26 10:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:05] [INFO] Checking activity reminders 
[2026-04-26 10:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:17] [INFO] Checking activity reminders 
[2026-04-26 10:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:18] [INFO] Checking activity reminders 
[2026-04-26 10:44:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:36] [INFO] Checking activity reminders 
[2026-04-26 10:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:38] [INFO] Checking activity reminders 
[2026-04-26 10:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:47] [INFO] Checking activity reminders 
[2026-04-26 10:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:44:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:44:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:44:56] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:45:06] [INFO] Checking activity reminders 
[2026-04-26 10:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:45:17] [INFO] Checking activity reminders 
[2026-04-26 10:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:45:36] [INFO] Checking activity reminders 
[2026-04-26 10:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:45:47] [INFO] Checking activity reminders 
[2026-04-26 10:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:06] [INFO] Checking activity reminders 
[2026-04-26 10:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:06] [INFO] Checking activity reminders 
[2026-04-26 10:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 10:46:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 10:46:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 10:46:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 10:46:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-26 10:46:17] [INFO] Checking activity reminders 
[2026-04-26 10:46:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:35] [INFO] Checking activity reminders 
[2026-04-26 10:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:36] [INFO] Checking activity reminders 
[2026-04-26 10:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:42] [INFO] Checking activity reminders 
[2026-04-26 10:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:46:47] [INFO] Checking activity reminders 
[2026-04-26 10:46:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:46:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:47:06] [INFO] Checking activity reminders 
[2026-04-26 10:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:47:17] [INFO] Checking activity reminders 
[2026-04-26 10:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:47:36] [INFO] Checking activity reminders 
[2026-04-26 10:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:47:44] [INFO] Checking activity reminders 
[2026-04-26 10:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:47:48] [INFO] Checking activity reminders 
[2026-04-26 10:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:06] [INFO] Checking activity reminders 
[2026-04-26 10:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:18] [INFO] Checking activity reminders 
[2026-04-26 10:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:36] [INFO] Checking activity reminders 
[2026-04-26 10:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:42] [INFO] Checking activity reminders 
[2026-04-26 10:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1951","person_id":"5723"}
[2026-04-26 10:48:48] [INFO] Checking activity reminders 
[2026-04-26 10:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:48] [INFO] Checking activity reminders 
[2026-04-26 10:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:48:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20886","person_id":"15607"}
[2026-04-26 10:49:06] [INFO] Checking activity reminders 
[2026-04-26 10:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:49:18] [INFO] Checking activity reminders 
[2026-04-26 10:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:49:36] [INFO] Checking activity reminders 
[2026-04-26 10:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:49:48] [INFO] Checking activity reminders 
[2026-04-26 10:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:50:06] [INFO] Checking activity reminders 
[2026-04-26 10:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:50:18] [INFO] Checking activity reminders 
[2026-04-26 10:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:50:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-26 10:50:36] [INFO] Checking activity reminders 
[2026-04-26 10:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:50:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:50:48] [INFO] Checking activity reminders 
[2026-04-26 10:50:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:50:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:50:54] [INFO] Lead update received {"contact_id":"1888","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-26 10:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-26 10:50:54] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1888"}
[2026-04-26 10:50:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-26 10:51:06] [INFO] Checking activity reminders 
[2026-04-26 10:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:51:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15458","person_id":"15757"}
[2026-04-26 10:51:18] [INFO] Checking activity reminders 
[2026-04-26 10:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:51:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20606","person_id":"3153"}
[2026-04-26 10:51:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:37] [INFO] Checking activity reminders 
[2026-04-26 10:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:51:48] [INFO] Checking activity reminders 
[2026-04-26 10:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:51:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"2692","deal_id":"local_69bbad55185e12.51983067","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 10:51:58","session_id":"f7s162f524cnh6tle7t1dcv1ev"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"2692","is_new_deal":false}
[2026-04-26 10:51:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 10:51:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 10:51:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 10:51:58] [INFO] getContactPrimaryPhone called {"contact_id":"2692"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [INFO] getContactPrimaryPhone result {"contact_id":"2692","person_found":true,"primary_phone":"9013305433"}
[2026-04-26 10:51:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9013305433"}
[2026-04-26 10:51:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9013305433","contact_id":"2692","deal_id":"local_69bbad55185e12.51983067","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 10:51:58"}
[2026-04-26 10:51:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bbad55185e12.51983067","contact_id":"2692","existing_deal_found":true,"existing_contact_id":"2692","existing_title":"معامله دوم 9013305433 | کانال VIP با پشتیبانی، کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 10:51:58"}
[2026-04-26 10:51:58] [INFO] DealController.save validated payments {"deal_id":"local_69bbad55185e12.51983067","contact_id":"2692","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-26 10:51:58] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2692","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 10:51:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bbad55185e12.51983067","contact_didar_id":"2692","title":"معامله دوم 9013305433 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9013305433","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امیر تقوی","existing_deal":"YES","existing_deal_id":"local_69bbad55185e12.51983067","existing_deal_status":"Won","server_time":"2026-04-26 10:51:58","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [INFO] Deal success processed {"contact_id":"2692","person_name":"امیر تقوی","products_count":1}
[2026-04-26 10:51:58] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bbad55185e12.51983067","contact_id":"2692","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9013305433 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-26 10:51:58","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:51:58] [INFO] Updating virtual stage {"contact_id":"2692","stage_name":"with_purchase","force":true}
[2026-04-26 10:51:58] [INFO] Virtual stage successfully saved {"contact_id":"2692","stage_name":"with_purchase"}
[2026-04-26 10:51:58] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2692","deal_id":"local_69bbad55185e12.51983067","target_stage":"with_purchase"}
[2026-04-26 10:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:52:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:52:07] [INFO] Checking activity reminders 
[2026-04-26 10:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:52:18] [INFO] Lead update received {"contact_id":"2692","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:52:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:52:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:52:18] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2692"}
[2026-04-26 10:52:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 10:52:19] [INFO] Checking activity reminders 
[2026-04-26 10:52:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:52:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:52:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21019","person_id":"15279"}
[2026-04-26 10:52:37] [INFO] Checking activity reminders 
[2026-04-26 10:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:52:46] [INFO] Checking activity reminders 
[2026-04-26 10:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:52:49] [INFO] Checking activity reminders 
[2026-04-26 10:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:52:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-26 10:53:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20947","person_id":"13915"}
[2026-04-26 10:53:07] [INFO] Checking activity reminders 
[2026-04-26 10:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:53:16] [INFO] Checking activity reminders 
[2026-04-26 10:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1982","person_id":"13977"}
[2026-04-26 10:53:19] [INFO] Checking activity reminders 
[2026-04-26 10:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:53:37] [INFO] Checking activity reminders 
[2026-04-26 10:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:53:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:53:49] [INFO] Checking activity reminders 
[2026-04-26 10:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:53:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20728","person_id":"8277"}
[2026-04-26 10:53:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-26 10:54:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17416","person_id":"577"}
[2026-04-26 10:54:07] [INFO] Checking activity reminders 
[2026-04-26 10:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16482","person_id":"9834"}
[2026-04-26 10:54:19] [INFO] Checking activity reminders 
[2026-04-26 10:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:20] [INFO] Checking activity reminders 
[2026-04-26 10:54:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14106","person_id":"20776"}
[2026-04-26 10:54:37] [INFO] Checking activity reminders 
[2026-04-26 10:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12702","person_id":"1082"}
[2026-04-26 10:54:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9615","person_id":"13875"}
[2026-04-26 10:54:50] [INFO] Checking activity reminders 
[2026-04-26 10:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:50] [INFO] Checking activity reminders 
[2026-04-26 10:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:54:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9527","person_id":"15721"}
[2026-04-26 10:54:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9603","person_id":"12379"}
[2026-04-26 10:55:07] [INFO] Checking activity reminders 
[2026-04-26 10:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:10] [INFO] Checking activity reminders 
[2026-04-26 10:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1982","person_id":"13977"}
[2026-04-26 10:55:17] [INFO] Checking activity reminders 
[2026-04-26 10:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:20] [INFO] Checking activity reminders 
[2026-04-26 10:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:29] [INFO] Checking activity reminders 
[2026-04-26 10:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:35] [INFO] Checking activity reminders 
[2026-04-26 10:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:37] [INFO] Checking activity reminders 
[2026-04-26 10:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:41] [INFO] Checking activity reminders 
[2026-04-26 10:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:55:50] [INFO] Checking activity reminders 
[2026-04-26 10:55:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:55:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:56:05] [INFO] Checking activity reminders 
[2026-04-26 10:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:56:07] [INFO] Checking activity reminders 
[2026-04-26 10:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:56:20] [INFO] Checking activity reminders 
[2026-04-26 10:56:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:56:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:56:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 10:56:37] [INFO] Checking activity reminders 
[2026-04-26 10:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:56:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:56:50] [INFO] Checking activity reminders 
[2026-04-26 10:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:00] [INFO] Lead update received {"contact_id":"15975","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:57:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 10:57:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 10:57:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15975"}
[2026-04-26 10:57:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 10:57:07] [INFO] Checking activity reminders 
[2026-04-26 10:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:10] [INFO] Checking activity reminders 
[2026-04-26 10:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:20] [INFO] Checking activity reminders 
[2026-04-26 10:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-26 10:57:37] [INFO] Checking activity reminders 
[2026-04-26 10:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:50] [INFO] Checking activity reminders 
[2026-04-26 10:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:57:54] [INFO] Lead update received {"contact_id":"11242","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-26 10:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-26 10:57:54] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11242"}
[2026-04-26 10:57:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-26 10:58:07] [INFO] Checking activity reminders 
[2026-04-26 10:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:58:15] [INFO] Checking activity reminders 
[2026-04-26 10:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:58:17] [INFO] Checking activity reminders 
[2026-04-26 10:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:58:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-26 10:58:31] [INFO] Lead update received {"contact_id":"local_69eccf0a538113.18112028","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 10:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:58:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69eccf0a538113.18112028"}
[2026-04-26 10:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:58:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 10:58:45] [INFO] Checking activity reminders 
[2026-04-26 10:58:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:58:47] [INFO] Checking activity reminders 
[2026-04-26 10:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:58:51] [INFO] Checking activity reminders 
[2026-04-26 10:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:59:01] [INFO] Checking activity reminders 
[2026-04-26 10:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:59:15] [INFO] Checking activity reminders 
[2026-04-26 10:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 10:59:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 10:59:45] [INFO] Checking activity reminders 
[2026-04-26 10:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 10:59:48] [INFO] Checking activity reminders 
[2026-04-26 10:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 10:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:00:15] [INFO] Checking activity reminders 
[2026-04-26 11:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:00:36] [INFO] Checking activity reminders 
[2026-04-26 11:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:00:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-26 11:00:45] [INFO] Checking activity reminders 
[2026-04-26 11:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:00:51] [INFO] Checking activity reminders 
[2026-04-26 11:00:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:00:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:01:11] [INFO] Checking activity reminders 
[2026-04-26 11:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:01:16] [INFO] Checking activity reminders 
[2026-04-26 11:01:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:01:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:01:33] [INFO] Checking activity reminders 
[2026-04-26 11:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:01:46] [INFO] Checking activity reminders 
[2026-04-26 11:01:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:01:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:02:16] [INFO] Checking activity reminders 
[2026-04-26 11:02:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:02:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 11:02:45] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:02:46] [INFO] Checking activity reminders 
[2026-04-26 11:02:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:02:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"get_products"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"get_deals"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"get_deals"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:08] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 11:03:09] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-26 11:03:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 11:03:16] [INFO] Checking activity reminders 
[2026-04-26 11:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:03:39] [INFO] Checking activity reminders 
[2026-04-26 11:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:03:46] [INFO] Checking activity reminders 
[2026-04-26 11:03:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:03:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:09] [INFO] Checking activity reminders 
[2026-04-26 11:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:16] [INFO] Checking activity reminders 
[2026-04-26 11:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:39] [INFO] Checking activity reminders 
[2026-04-26 11:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:46] [INFO] Checking activity reminders 
[2026-04-26 11:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:54] [INFO] Checking activity reminders 
[2026-04-26 11:04:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:04:57] [INFO] Checking activity reminders 
[2026-04-26 11:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20948","person_id":"17657"}
[2026-04-26 11:05:09] [INFO] Checking activity reminders 
[2026-04-26 11:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:16] [INFO] Checking activity reminders 
[2026-04-26 11:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:22] [INFO] Checking activity reminders 
[2026-04-26 11:05:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:40] [INFO] Checking activity reminders 
[2026-04-26 11:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:41] [INFO] Checking activity reminders 
[2026-04-26 11:05:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:46] [INFO] Checking activity reminders 
[2026-04-26 11:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:05:56] [INFO] Checking activity reminders 
[2026-04-26 11:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:06:10] [INFO] Checking activity reminders 
[2026-04-26 11:06:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:06:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:06:17] [INFO] Checking activity reminders 
[2026-04-26 11:06:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:06:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:06:29] [INFO] Checking activity reminders 
[2026-04-26 11:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:06:32] [INFO] Activity save request {"post_data":{"contact_id":"local_69eccf0a538113.18112028","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"4 ساله دنبال \r\n27 ساله \r\nمتاهل\r\nبا نیسان بار جابجا میکنه \/40-50 درامد \r\nسال 402 چهار دستگاه خودرو  داشته که در کار بیل مکانیکی با پدر زنش شریک شده و متضرر شده \r\n60 گرم طلا 10.500\/ 55 گرم 15.400\/ 28 گرم 16.0\/ 40 گرم 17.200 \/ کلش میشه 3.500 سرمایه شریک با پدرش \r\nمستاجر در شهرستان \r\nدلار و نقد و ملک و زمین نداره\r\nمیگه اگر مشاور مالی داشتم و عضو کانال بودم الان سرمایه ام خیلی بیشتر شده بود \r\nپرزنت کانال 405   \/ \r\n","activity_duration":"20","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 11:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:06:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 11:06:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 11:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:06:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69eccf0a538113.18112028","note_was_empty":true}
[2026-04-26 11:06:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edc080080c95.96334142","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 11:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:06:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69edc080080c95.96334142"}
[2026-04-26 11:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:06:32] [INFO] Updating virtual stage {"contact_id":"local_69eccf0a538113.18112028","stage_name":"deal_registered","force":false}
[2026-04-26 11:06:32] [INFO] Virtual stage successfully saved {"contact_id":"local_69eccf0a538113.18112028","stage_name":"deal_registered"}
[2026-04-26 11:06:32] [INFO] Virtual stage updated after activity save {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-26 11:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:06:35] [INFO] Checking activity reminders 
[2026-04-26 11:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:06:40] [INFO] Checking activity reminders 
[2026-04-26 11:06:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:06:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:07:05] [INFO] Checking activity reminders 
[2026-04-26 11:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:07:10] [INFO] Checking activity reminders 
[2026-04-26 11:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:07:35] [INFO] Checking activity reminders 
[2026-04-26 11:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:07:35] [INFO] Checking activity reminders 
[2026-04-26 11:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:07:40] [INFO] Checking activity reminders 
[2026-04-26 11:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:06] [INFO] Checking activity reminders 
[2026-04-26 11:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:23] [INFO] Checking activity reminders 
[2026-04-26 11:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:27] [INFO] Checking activity reminders 
[2026-04-26 11:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:08:36] [INFO] Checking activity reminders 
[2026-04-26 11:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:36] [INFO] Checking activity reminders 
[2026-04-26 11:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:08:57] [INFO] Checking activity reminders 
[2026-04-26 11:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:09:16] [INFO] Checking activity reminders 
[2026-04-26 11:09:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:09:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:09:18] [INFO] Checking activity reminders 
[2026-04-26 11:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:09:27] [INFO] Checking activity reminders 
[2026-04-26 11:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:09:37] [INFO] Checking activity reminders 
[2026-04-26 11:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:09:57] [INFO] Checking activity reminders 
[2026-04-26 11:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:10:08] [INFO] Checking activity reminders 
[2026-04-26 11:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:10:28] [INFO] Checking activity reminders 
[2026-04-26 11:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:10:38] [INFO] Checking activity reminders 
[2026-04-26 11:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:10:42] [INFO] Activity save request {"post_data":{"contact_id":"9311","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشت خطی پیگیری تمدید","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 11:10:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:10:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 11:10:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 11:10:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:10:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9311","note_was_empty":true}
[2026-04-26 11:10:42] [INFO] Didar write disabled; saving activity locally {"contact_id":"9311","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 11:10:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edc17a5dc167.99217351","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 11:10:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:10:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69edc17a5dc167.99217351"}
[2026-04-26 11:10:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:10:42] [INFO] Updating virtual stage {"contact_id":"9311","stage_name":"deal_registered","force":false}
[2026-04-26 11:10:42] [INFO] Virtual stage successfully saved {"contact_id":"9311","stage_name":"deal_registered"}
[2026-04-26 11:10:42] [INFO] Virtual stage updated after activity save {"contact_id":"9311"}
[2026-04-26 11:10:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:10:47] [INFO] Checking activity reminders 
[2026-04-26 11:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:08] [INFO] Checking activity reminders 
[2026-04-26 11:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:08] [INFO] Checking activity reminders 
[2026-04-26 11:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:11:12] [DEBUG] findByPhone: Found person {"phones":["9125759224"],"found_id":"21402","found_didar_id":"local_695122e6c05af9.97801547","found_name":"تست تست"}
[2026-04-26 11:11:12] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9125759224","found_didar_id":"local_695122e6c05af9.97801547","found_local_id":"21402","found_name":"تست تست"}
[2026-04-26 11:11:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695122e6c05af9.97801547","person_id":"21402"}
[2026-04-26 11:11:12] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9125759224","09125759224"]}
[2026-04-26 11:11:12] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9125759224","09125759224"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-26 11:11:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695122e6c05af9.97801547","person_id":"21402"}
[2026-04-26 11:11:12] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9125759224","existing_contact_id":"local_695122e6c05af9.97801547","existing_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","existing_owner_name":"لید استخر","all_matched_phones":["9125759224"],"user_attempting_creation":"ef266a9a-ff55-4893-8be3-7848badfcdce","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9125759224","09125759224"]}
[2026-04-26 11:11:12] [INFO] Duplicate lead response prepared using local ID {"local_id":"21402","didar_id":"local_695122e6c05af9.97801547"}
[2026-04-26 11:11:17] [INFO] Checking activity reminders 
[2026-04-26 11:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:38] [INFO] Checking activity reminders 
[2026-04-26 11:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:38] [INFO] Checking activity reminders 
[2026-04-26 11:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:11:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 11:11:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 11:11:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 11:11:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:12:08] [INFO] Checking activity reminders 
[2026-04-26 11:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:08] [INFO] Checking activity reminders 
[2026-04-26 11:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:34] [INFO] Checking activity reminders 
[2026-04-26 11:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:38] [INFO] Checking activity reminders 
[2026-04-26 11:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:38] [INFO] Checking activity reminders 
[2026-04-26 11:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:50] [INFO] Checking activity reminders 
[2026-04-26 11:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:12:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-26 11:13:04] [INFO] Checking activity reminders 
[2026-04-26 11:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:08] [INFO] Checking activity reminders 
[2026-04-26 11:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:13:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:13:09] [INFO] generateDealTitle result {"contact_id":"local_69eccf0a538113.18112028","person_name":"شیبانی شیبانی","mobile":"9194797939","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9194797939"}
[2026-04-26 11:13:09] [INFO] Checking activity reminders 
[2026-04-26 11:13:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:20] [INFO] Checking activity reminders 
[2026-04-26 11:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:34] [INFO] Checking activity reminders 
[2026-04-26 11:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:38] [INFO] Checking activity reminders 
[2026-04-26 11:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:39] [INFO] Checking activity reminders 
[2026-04-26 11:13:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:13:50] [INFO] Checking activity reminders 
[2026-04-26 11:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:04] [INFO] Checking activity reminders 
[2026-04-26 11:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:08] [INFO] Checking activity reminders 
[2026-04-26 11:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:09] [INFO] Checking activity reminders 
[2026-04-26 11:14:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:20] [INFO] Checking activity reminders 
[2026-04-26 11:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 11:14:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 11:14:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 11:14:34] [INFO] Checking activity reminders 
[2026-04-26 11:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:36] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 11:14:36] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 11:14:36] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 11:14:38] [INFO] Checking activity reminders 
[2026-04-26 11:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:14:39] [INFO] Checking activity reminders 
[2026-04-26 11:14:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:14:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:05] [INFO] Checking activity reminders 
[2026-04-26 11:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:08] [INFO] Checking activity reminders 
[2026-04-26 11:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:09] [INFO] Checking activity reminders 
[2026-04-26 11:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:35] [INFO] Checking activity reminders 
[2026-04-26 11:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:38] [INFO] Checking activity reminders 
[2026-04-26 11:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:40] [INFO] Checking activity reminders 
[2026-04-26 11:15:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:15:51] [INFO] Checking activity reminders 
[2026-04-26 11:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2856","person_id":"2847"}
[2026-04-26 11:16:05] [INFO] Checking activity reminders 
[2026-04-26 11:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:08] [INFO] Checking activity reminders 
[2026-04-26 11:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:10] [INFO] Checking activity reminders 
[2026-04-26 11:16:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:33] [INFO] Checking activity reminders 
[2026-04-26 11:16:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:36] [INFO] Checking activity reminders 
[2026-04-26 11:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:39] [INFO] Checking activity reminders 
[2026-04-26 11:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:40] [INFO] Checking activity reminders 
[2026-04-26 11:16:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:16:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-26 11:16:57] [INFO] Checking activity reminders 
[2026-04-26 11:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:06] [INFO] Checking activity reminders 
[2026-04-26 11:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 11:17:09] [INFO] Checking activity reminders 
[2026-04-26 11:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:10] [INFO] Checking activity reminders 
[2026-04-26 11:17:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:27] [INFO] Checking activity reminders 
[2026-04-26 11:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:36] [INFO] Checking activity reminders 
[2026-04-26 11:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:39] [INFO] Checking activity reminders 
[2026-04-26 11:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:40] [INFO] Checking activity reminders 
[2026-04-26 11:17:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:17:57] [INFO] Checking activity reminders 
[2026-04-26 11:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:06] [INFO] Checking activity reminders 
[2026-04-26 11:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:09] [INFO] Checking activity reminders 
[2026-04-26 11:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:10] [INFO] Checking activity reminders 
[2026-04-26 11:18:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:27] [INFO] Checking activity reminders 
[2026-04-26 11:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:36] [INFO] Checking activity reminders 
[2026-04-26 11:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:39] [INFO] Checking activity reminders 
[2026-04-26 11:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:40] [INFO] Checking activity reminders 
[2026-04-26 11:18:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:18:57] [INFO] Checking activity reminders 
[2026-04-26 11:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:06] [INFO] Checking activity reminders 
[2026-04-26 11:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:09] [INFO] Checking activity reminders 
[2026-04-26 11:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:10] [INFO] Checking activity reminders 
[2026-04-26 11:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:27] [INFO] Checking activity reminders 
[2026-04-26 11:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:36] [INFO] Checking activity reminders 
[2026-04-26 11:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:39] [INFO] Checking activity reminders 
[2026-04-26 11:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:19:40] [INFO] Checking activity reminders 
[2026-04-26 11:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:06] [INFO] Checking activity reminders 
[2026-04-26 11:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:09] [INFO] Checking activity reminders 
[2026-04-26 11:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:09] [INFO] Checking activity reminders 
[2026-04-26 11:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:11] [INFO] Checking activity reminders 
[2026-04-26 11:20:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:36] [INFO] Checking activity reminders 
[2026-04-26 11:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:39] [INFO] Checking activity reminders 
[2026-04-26 11:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:20:41] [INFO] Checking activity reminders 
[2026-04-26 11:20:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:20:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:06] [INFO] Checking activity reminders 
[2026-04-26 11:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:10] [INFO] Checking activity reminders 
[2026-04-26 11:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:11] [INFO] Checking activity reminders 
[2026-04-26 11:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:36] [INFO] Checking activity reminders 
[2026-04-26 11:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:40] [INFO] Checking activity reminders 
[2026-04-26 11:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:21:41] [INFO] Checking activity reminders 
[2026-04-26 11:21:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:21:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:07] [INFO] Checking activity reminders 
[2026-04-26 11:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:10] [INFO] Checking activity reminders 
[2026-04-26 11:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:11] [INFO] Checking activity reminders 
[2026-04-26 11:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:37] [INFO] Checking activity reminders 
[2026-04-26 11:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:40] [INFO] Checking activity reminders 
[2026-04-26 11:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:22:41] [INFO] Checking activity reminders 
[2026-04-26 11:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:07] [INFO] Checking activity reminders 
[2026-04-26 11:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:10] [INFO] Checking activity reminders 
[2026-04-26 11:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:11] [INFO] Checking activity reminders 
[2026-04-26 11:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:37] [INFO] Checking activity reminders 
[2026-04-26 11:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:40] [INFO] Checking activity reminders 
[2026-04-26 11:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:23:41] [INFO] Checking activity reminders 
[2026-04-26 11:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:07] [INFO] Checking activity reminders 
[2026-04-26 11:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:10] [INFO] Checking activity reminders 
[2026-04-26 11:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:11] [INFO] Checking activity reminders 
[2026-04-26 11:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:37] [INFO] Checking activity reminders 
[2026-04-26 11:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:40] [INFO] Checking activity reminders 
[2026-04-26 11:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:24:41] [INFO] Checking activity reminders 
[2026-04-26 11:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:07] [INFO] Checking activity reminders 
[2026-04-26 11:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:10] [INFO] Checking activity reminders 
[2026-04-26 11:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:11] [INFO] Checking activity reminders 
[2026-04-26 11:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:37] [INFO] Checking activity reminders 
[2026-04-26 11:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:40] [INFO] Checking activity reminders 
[2026-04-26 11:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:25:41] [INFO] Checking activity reminders 
[2026-04-26 11:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:07] [INFO] Checking activity reminders 
[2026-04-26 11:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:10] [INFO] Checking activity reminders 
[2026-04-26 11:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:12] [INFO] Checking activity reminders 
[2026-04-26 11:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:37] [INFO] Checking activity reminders 
[2026-04-26 11:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:41] [INFO] Checking activity reminders 
[2026-04-26 11:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:26:42] [INFO] Checking activity reminders 
[2026-04-26 11:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:08] [INFO] Checking activity reminders 
[2026-04-26 11:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:11] [INFO] Checking activity reminders 
[2026-04-26 11:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:12] [INFO] Checking activity reminders 
[2026-04-26 11:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:38] [INFO] Checking activity reminders 
[2026-04-26 11:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:41] [INFO] Checking activity reminders 
[2026-04-26 11:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:27:42] [INFO] Checking activity reminders 
[2026-04-26 11:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:08] [INFO] Checking activity reminders 
[2026-04-26 11:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:11] [INFO] Checking activity reminders 
[2026-04-26 11:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:12] [INFO] Checking activity reminders 
[2026-04-26 11:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:38] [INFO] Checking activity reminders 
[2026-04-26 11:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:41] [INFO] Checking activity reminders 
[2026-04-26 11:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:28:42] [INFO] Checking activity reminders 
[2026-04-26 11:28:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:28:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:08] [INFO] Checking activity reminders 
[2026-04-26 11:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:11] [INFO] Checking activity reminders 
[2026-04-26 11:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:12] [INFO] Checking activity reminders 
[2026-04-26 11:29:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:38] [INFO] Checking activity reminders 
[2026-04-26 11:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:41] [INFO] Checking activity reminders 
[2026-04-26 11:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:29:42] [INFO] Checking activity reminders 
[2026-04-26 11:29:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:29:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:08] [INFO] Checking activity reminders 
[2026-04-26 11:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:11] [INFO] Checking activity reminders 
[2026-04-26 11:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:21] [INFO] Checking activity reminders 
[2026-04-26 11:30:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:23] [INFO] Checking activity reminders 
[2026-04-26 11:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:31] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-26 11:30:31] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 11:30:33] [INFO] Checking activity reminders 
[2026-04-26 11:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:30:41] [INFO] Checking activity reminders 
[2026-04-26 11:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:02] [INFO] Checking activity reminders 
[2026-04-26 11:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:03] [INFO] Checking activity reminders 
[2026-04-26 11:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:11] [INFO] Checking activity reminders 
[2026-04-26 11:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:32] [INFO] Checking activity reminders 
[2026-04-26 11:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:33] [INFO] Checking activity reminders 
[2026-04-26 11:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:31:49] [INFO] Checking activity reminders 
[2026-04-26 11:31:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:31:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:32:03] [INFO] Checking activity reminders 
[2026-04-26 11:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:32:19] [INFO] Checking activity reminders 
[2026-04-26 11:32:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:32:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:32:33] [INFO] Checking activity reminders 
[2026-04-26 11:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:32:49] [INFO] Checking activity reminders 
[2026-04-26 11:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:33:03] [INFO] Checking activity reminders 
[2026-04-26 11:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:33:19] [INFO] Checking activity reminders 
[2026-04-26 11:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:33:33] [INFO] Checking activity reminders 
[2026-04-26 11:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:33:49] [INFO] Checking activity reminders 
[2026-04-26 11:33:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:33:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:03] [INFO] Checking activity reminders 
[2026-04-26 11:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:19] [INFO] Checking activity reminders 
[2026-04-26 11:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:33] [INFO] Checking activity reminders 
[2026-04-26 11:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:49] [INFO] Checking activity reminders 
[2026-04-26 11:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:50] [INFO] Checking activity reminders 
[2026-04-26 11:34:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:34:59] [INFO] Checking activity reminders 
[2026-04-26 11:34:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:34:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:04] [INFO] Checking activity reminders 
[2026-04-26 11:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:19] [INFO] Checking activity reminders 
[2026-04-26 11:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:29] [INFO] Checking activity reminders 
[2026-04-26 11:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:34] [INFO] Checking activity reminders 
[2026-04-26 11:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:49] [INFO] Checking activity reminders 
[2026-04-26 11:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:35:59] [INFO] Checking activity reminders 
[2026-04-26 11:35:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:35:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:36:04] [INFO] Checking activity reminders 
[2026-04-26 11:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:36:19] [INFO] Checking activity reminders 
[2026-04-26 11:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:36:29] [INFO] Checking activity reminders 
[2026-04-26 11:36:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:36:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:36:34] [INFO] Checking activity reminders 
[2026-04-26 11:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:36:37] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_28","deal_id":"local_69b7417ddbc365.66921775","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری تمدید 79ت یکساله 39 ت تا اخر مهر\r\n1ساعت دیگه اطلاع \/ \r\n700 گرم طلا \/ ماشین النترا خریده ثبت نامی \r\nجامونده از خودرو گفتم میلیاردی جا مونده","activity_duration":"30","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 11:36:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_1403_09_26_28","note_was_empty":true}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:37] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 11:36:37] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 11:36:37] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 11:36:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b7417ddbc365.66921775","stage":"تماس پیگیری","status_change":null}
[2026-04-26 11:36:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edc78d21f361.68577666","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69edc78d21f361.68577666"}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:37] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 11:36:37] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 11:36:37] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 11:36:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 11:36:59] [INFO] Checking activity reminders 
[2026-04-26 11:36:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:36:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:37:04] [INFO] Checking activity reminders 
[2026-04-26 11:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:37:29] [INFO] Checking activity reminders 
[2026-04-26 11:37:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:37:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:37:34] [INFO] Checking activity reminders 
[2026-04-26 11:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:38:00] [INFO] Checking activity reminders 
[2026-04-26 11:38:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:38:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:38:04] [INFO] Checking activity reminders 
[2026-04-26 11:38:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:38:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:38:30] [INFO] Checking activity reminders 
[2026-04-26 11:38:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:38:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:38:34] [INFO] Checking activity reminders 
[2026-04-26 11:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:39:00] [INFO] Checking activity reminders 
[2026-04-26 11:39:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:39:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:39:04] [INFO] Checking activity reminders 
[2026-04-26 11:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:39:30] [INFO] Checking activity reminders 
[2026-04-26 11:39:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:39:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:39:33] [INFO] Checking activity reminders 
[2026-04-26 11:39:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:39:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:39:34] [INFO] Checking activity reminders 
[2026-04-26 11:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:00] [INFO] Checking activity reminders 
[2026-04-26 11:40:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:03] [INFO] Checking activity reminders 
[2026-04-26 11:40:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:04] [INFO] Checking activity reminders 
[2026-04-26 11:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:13] [INFO] Checking activity reminders 
[2026-04-26 11:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:33] [INFO] Checking activity reminders 
[2026-04-26 11:40:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:34] [INFO] Checking activity reminders 
[2026-04-26 11:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:40:43] [INFO] Checking activity reminders 
[2026-04-26 11:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:03] [INFO] Checking activity reminders 
[2026-04-26 11:41:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:05] [INFO] Checking activity reminders 
[2026-04-26 11:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:41:13] [INFO] Checking activity reminders 
[2026-04-26 11:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:15] [INFO] Checking activity reminders 
[2026-04-26 11:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:24] [INFO] Checking activity reminders 
[2026-04-26 11:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:41:35] [INFO] Checking activity reminders 
[2026-04-26 11:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:43] [INFO] Checking activity reminders 
[2026-04-26 11:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:41:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:42:05] [INFO] Checking activity reminders 
[2026-04-26 11:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:42:14] [INFO] Checking activity reminders 
[2026-04-26 11:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:42:35] [INFO] Checking activity reminders 
[2026-04-26 11:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:42:44] [INFO] Checking activity reminders 
[2026-04-26 11:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:42:51] [INFO] Checking activity reminders 
[2026-04-26 11:42:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:42:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:43:05] [INFO] Checking activity reminders 
[2026-04-26 11:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:43:14] [INFO] Checking activity reminders 
[2026-04-26 11:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:43:35] [INFO] Checking activity reminders 
[2026-04-26 11:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:43:40] [INFO] Activity save request {"post_data":{"contact_id":"20204","deal_id":"local_69b7414b249117.35815706","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 11:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 11:43:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 11:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20204","note_was_empty":true}
[2026-04-26 11:43:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"20204","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 11:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:40] [INFO] Updating virtual stage {"contact_id":"20204","stage_name":"deal_registered","force":false}
[2026-04-26 11:43:40] [INFO] Virtual stage successfully saved {"contact_id":"20204","stage_name":"deal_registered"}
[2026-04-26 11:43:40] [INFO] Virtual stage updated after activity save {"contact_id":"20204"}
[2026-04-26 11:43:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b7414b249117.35815706","stage":"تماس پیگیری","status_change":null}
[2026-04-26 11:43:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edc934e74794.44163566","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 11:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69edc934e74794.44163566"}
[2026-04-26 11:43:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:40] [INFO] Updating virtual stage {"contact_id":"20204","stage_name":"deal_registered","force":false}
[2026-04-26 11:43:40] [INFO] Virtual stage successfully saved {"contact_id":"20204","stage_name":"deal_registered"}
[2026-04-26 11:43:40] [INFO] Virtual stage updated after activity save {"contact_id":"20204"}
[2026-04-26 11:43:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20204","person_id":"16082"}
[2026-04-26 11:43:44] [INFO] Checking activity reminders 
[2026-04-26 11:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:44:05] [INFO] Checking activity reminders 
[2026-04-26 11:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:44:14] [INFO] Checking activity reminders 
[2026-04-26 11:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:44:35] [INFO] Checking activity reminders 
[2026-04-26 11:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:44:44] [INFO] Checking activity reminders 
[2026-04-26 11:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:45:05] [INFO] Checking activity reminders 
[2026-04-26 11:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:45:14] [INFO] Checking activity reminders 
[2026-04-26 11:45:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:45:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:45:35] [INFO] Checking activity reminders 
[2026-04-26 11:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:45:41] [INFO] Checking activity reminders 
[2026-04-26 11:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:45:44] [INFO] Checking activity reminders 
[2026-04-26 11:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:01] [INFO] Checking activity reminders 
[2026-04-26 11:46:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:10] [INFO] Checking activity reminders 
[2026-04-26 11:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:14] [INFO] Checking activity reminders 
[2026-04-26 11:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 11:46:22","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 11:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-26 11:46:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:22] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-26 11:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:22] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-26 11:46:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-26 11:46:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:46:22"}
[2026-04-26 11:46:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:46:22"}
[2026-04-26 11:46:22] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-26 11:46:22] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 11:46:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"شیبانی شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Pending","server_time":"2026-04-26 11:46:22","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 11:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-26 11:46:22","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 11:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:31] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 11:46:31","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 11:46:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:31] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-26 11:46:31] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:31] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:31] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 11:46:31] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-26 11:46:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:31] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-26 11:46:31] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-26 11:46:31] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:46:31"}
[2026-04-26 11:46:31] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:46:31"}
[2026-04-26 11:46:31] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-26 11:46:31] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 11:46:31] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"شیبانی شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Pending","server_time":"2026-04-26 11:46:31","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 11:46:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:31] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-26 11:46:31","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 11:46:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-26 11:46:38] [INFO] Checking activity reminders 
[2026-04-26 11:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:44] [INFO] Checking activity reminders 
[2026-04-26 11:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:46:52] [INFO] Checking activity reminders 
[2026-04-26 11:46:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:46:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:47:08] [INFO] Checking activity reminders 
[2026-04-26 11:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:47:15] [INFO] Checking activity reminders 
[2026-04-26 11:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:47:22] [INFO] Checking activity reminders 
[2026-04-26 11:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:47:38] [INFO] Checking activity reminders 
[2026-04-26 11:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:47:45] [INFO] Checking activity reminders 
[2026-04-26 11:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:48:09] [INFO] Checking activity reminders 
[2026-04-26 11:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:48:15] [INFO] Checking activity reminders 
[2026-04-26 11:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:48:39] [INFO] Checking activity reminders 
[2026-04-26 11:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:48:45] [INFO] Checking activity reminders 
[2026-04-26 11:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:49:09] [INFO] Checking activity reminders 
[2026-04-26 11:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:49:15] [INFO] Checking activity reminders 
[2026-04-26 11:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:49:39] [INFO] Checking activity reminders 
[2026-04-26 11:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:49:45] [INFO] Checking activity reminders 
[2026-04-26 11:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:04] [INFO] Checking activity reminders 
[2026-04-26 11:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:09] [INFO] Checking activity reminders 
[2026-04-26 11:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:15] [INFO] Checking activity reminders 
[2026-04-26 11:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:30] [INFO] Checking activity reminders 
[2026-04-26 11:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:39] [INFO] Checking activity reminders 
[2026-04-26 11:50:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:50:45] [INFO] Checking activity reminders 
[2026-04-26 11:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:51:09] [INFO] Checking activity reminders 
[2026-04-26 11:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:51:15] [INFO] Checking activity reminders 
[2026-04-26 11:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:51:39] [INFO] Checking activity reminders 
[2026-04-26 11:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:51:45] [INFO] Checking activity reminders 
[2026-04-26 11:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:52:09] [INFO] Checking activity reminders 
[2026-04-26 11:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:52:15] [INFO] Checking activity reminders 
[2026-04-26 11:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:52:39] [INFO] Checking activity reminders 
[2026-04-26 11:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:52:45] [INFO] Checking activity reminders 
[2026-04-26 11:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:53:09] [INFO] Checking activity reminders 
[2026-04-26 11:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:53:11] [INFO] generateDealTitle result {"contact_id":"9311","person_name":"محمدی","mobile":"9170500380","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9170500380"}
[2026-04-26 11:53:15] [INFO] Checking activity reminders 
[2026-04-26 11:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:53:39] [INFO] Checking activity reminders 
[2026-04-26 11:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:53:46] [INFO] Checking activity reminders 
[2026-04-26 11:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:54:09] [INFO] Checking activity reminders 
[2026-04-26 11:54:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:54:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:54:16] [INFO] Checking activity reminders 
[2026-04-26 11:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:54:20] [INFO] Activity save request {"post_data":{"contact_id":"9311","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه جا موندم گفتم اون همه زنگ زدم جواب ندادی \r\nتا اخر سال 79 گفت الان دستم خالیه \r\n6ماهه 39 ت میزنه الان ارسال ش کارت ","activity_duration":"35","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 11:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:54:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 11:54:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 11:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:54:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9311","note_was_empty":true}
[2026-04-26 11:54:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"9311","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 11:54:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edcbb49dec91.80299562","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 11:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:54:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69edcbb49dec91.80299562"}
[2026-04-26 11:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:54:20] [INFO] Updating virtual stage {"contact_id":"9311","stage_name":"deal_registered","force":false}
[2026-04-26 11:54:20] [INFO] Virtual stage successfully saved {"contact_id":"9311","stage_name":"deal_registered"}
[2026-04-26 11:54:20] [INFO] Virtual stage updated after activity save {"contact_id":"9311"}
[2026-04-26 11:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-04-26 11:54:39] [INFO] Checking activity reminders 
[2026-04-26 11:54:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:54:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:54:46] [INFO] Checking activity reminders 
[2026-04-26 11:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:55:10] [INFO] Checking activity reminders 
[2026-04-26 11:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:55:16] [INFO] Checking activity reminders 
[2026-04-26 11:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:55:40] [INFO] Checking activity reminders 
[2026-04-26 11:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:55:46] [INFO] Checking activity reminders 
[2026-04-26 11:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:56:10] [INFO] Checking activity reminders 
[2026-04-26 11:56:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:56:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:56:16] [INFO] Checking activity reminders 
[2026-04-26 11:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:56:40] [INFO] Checking activity reminders 
[2026-04-26 11:56:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:56:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:56:46] [INFO] Checking activity reminders 
[2026-04-26 11:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:10] [INFO] Checking activity reminders 
[2026-04-26 11:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:13] [INFO] Checking activity reminders 
[2026-04-26 11:57:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:16] [INFO] Checking activity reminders 
[2026-04-26 11:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:26] [INFO] Checking activity reminders 
[2026-04-26 11:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:40] [INFO] Checking activity reminders 
[2026-04-26 11:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:57:46] [INFO] Checking activity reminders 
[2026-04-26 11:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:10] [INFO] Checking activity reminders 
[2026-04-26 11:58:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-26 11:58:11] [INFO] Checking activity reminders 
[2026-04-26 11:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:16] [INFO] Checking activity reminders 
[2026-04-26 11:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:58:35] [INFO] Checking activity reminders 
[2026-04-26 11:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:41] [INFO] Checking activity reminders 
[2026-04-26 11:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:46] [INFO] Checking activity reminders 
[2026-04-26 11:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:58:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 11:58:52","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 11:58:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:58:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:58:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21608","is_new_deal":false}
[2026-04-26 11:58:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 11:58:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 11:58:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 11:58:52] [INFO] getContactPrimaryPhone called {"contact_id":"21608"}
[2026-04-26 11:58:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:58:52] [INFO] getContactPrimaryPhone result {"contact_id":"21608","person_found":true,"primary_phone":"9151632237"}
[2026-04-26 11:58:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9151632237"}
[2026-04-26 11:58:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9151632237","contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:58:52"}
[2026-04-26 11:58:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","existing_deal_found":true,"existing_contact_id":"21608","existing_title":"معامله دوم 9151632237 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 11:58:52"}
[2026-04-26 11:58:52] [INFO] DealController.save validated payments {"deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-26 11:58:52] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21608","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 11:58:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b533bc5cb524.07389212","contact_didar_id":"21608","title":"معامله دوم 9151632237 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9151632237","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"اسماعیل دلسوز","existing_deal":"YES","existing_deal_id":"local_69b533bc5cb524.07389212","existing_deal_status":"Pending","server_time":"2026-04-26 11:58:52","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 11:58:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:58:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9151632237 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-26 11:58:52","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 11:58:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 11:59:11] [INFO] Checking activity reminders 
[2026-04-26 11:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:59:17] [INFO] Checking activity reminders 
[2026-04-26 11:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:59:41] [INFO] Checking activity reminders 
[2026-04-26 11:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 11:59:47] [INFO] Checking activity reminders 
[2026-04-26 11:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 11:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:00:11] [INFO] Checking activity reminders 
[2026-04-26 12:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:00:17] [INFO] Checking activity reminders 
[2026-04-26 12:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:00:41] [INFO] Checking activity reminders 
[2026-04-26 12:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:00:47] [INFO] Checking activity reminders 
[2026-04-26 12:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:00] [INFO] Checking activity reminders 
[2026-04-26 12:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:11] [INFO] Checking activity reminders 
[2026-04-26 12:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:17] [INFO] Checking activity reminders 
[2026-04-26 12:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:27] [INFO] Checking activity reminders 
[2026-04-26 12:01:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:41] [INFO] Checking activity reminders 
[2026-04-26 12:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:01:47] [INFO] Checking activity reminders 
[2026-04-26 12:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:02:11] [INFO] Checking activity reminders 
[2026-04-26 12:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:02:17] [INFO] Checking activity reminders 
[2026-04-26 12:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:02:41] [INFO] Checking activity reminders 
[2026-04-26 12:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:02:51] [INFO] Checking activity reminders 
[2026-04-26 12:02:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:02:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:03:11] [INFO] Checking activity reminders 
[2026-04-26 12:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:03:28] [INFO] Checking activity reminders 
[2026-04-26 12:03:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:03:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:03:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:03:41] [INFO] Checking activity reminders 
[2026-04-26 12:03:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:03:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:03:58] [INFO] Checking activity reminders 
[2026-04-26 12:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:04:12] [INFO] Checking activity reminders 
[2026-04-26 12:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:04:28] [INFO] Checking activity reminders 
[2026-04-26 12:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:04:37] [INFO] Activity save request {"post_data":{"contact_id":"20362","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری تمدید\/ احوال پرسی ارسال پیامک \/ تماس جواب نداد","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:04:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:04:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:04:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20362","note_was_empty":true}
[2026-04-26 12:04:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"20362","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:04:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edce1d934a35.51224211","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:04:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69edce1d934a35.51224211"}
[2026-04-26 12:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:04:37] [INFO] Updating virtual stage {"contact_id":"20362","stage_name":"deal_registered","force":false}
[2026-04-26 12:04:37] [INFO] Virtual stage successfully saved {"contact_id":"20362","stage_name":"deal_registered"}
[2026-04-26 12:04:37] [INFO] Virtual stage updated after activity save {"contact_id":"20362"}
[2026-04-26 12:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20362","person_id":"7036"}
[2026-04-26 12:04:42] [INFO] Checking activity reminders 
[2026-04-26 12:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:04:58] [INFO] Checking activity reminders 
[2026-04-26 12:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:05:12] [INFO] Checking activity reminders 
[2026-04-26 12:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:05:42] [INFO] Checking activity reminders 
[2026-04-26 12:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:06:00] [INFO] Activity save request {"post_data":{"contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر بنایی \r\nخرید و فروش خودرو \r\nپرزنت 405 \r\nنوسانات قیمت \r\nارسال شبا استاد \r\n27 م بدون پشتیبانی در صورت نیاز پرداخت پشتیبانی ","activity_duration":"10","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:06:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21608","note_was_empty":true}
[2026-04-26 12:06:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"21608","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:00] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-26 12:06:00] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-26 12:06:00] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-26 12:06:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533bc5cb524.07389212","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-26 12:06:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edce70124bd3.73163528","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69edce70124bd3.73163528"}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:00] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-26 12:06:00] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-26 12:06:00] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-26 12:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-26 12:06:03] [INFO] Checking activity reminders 
[2026-04-26 12:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:06:09] [INFO] Checking activity reminders 
[2026-04-26 12:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:06:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20528","person_id":"12096"}
[2026-04-26 12:06:33] [INFO] Checking activity reminders 
[2026-04-26 12:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:06:37] [INFO] Checking activity reminders 
[2026-04-26 12:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:06:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1390","person_id":"19006"}
[2026-04-26 12:07:00] [INFO] Checking activity reminders 
[2026-04-26 12:07:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:03] [INFO] Checking activity reminders 
[2026-04-26 12:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:07:10] [INFO] Checking activity reminders 
[2026-04-26 12:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:19] [INFO] Checking activity reminders 
[2026-04-26 12:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:30] [INFO] Checking activity reminders 
[2026-04-26 12:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:49] [INFO] Checking activity reminders 
[2026-04-26 12:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:07:53] [INFO] Activity save request {"post_data":{"contact_id":"8508","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشت خطی\/ هدف تمدید کانال 6ماهه","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:07:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:07:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:07:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"8508","note_was_empty":true}
[2026-04-26 12:07:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"8508","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:07:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edcee1608d99.12733466","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:07:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69edcee1608d99.12733466"}
[2026-04-26 12:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:07:53] [INFO] Updating virtual stage {"contact_id":"8508","stage_name":"deal_registered","force":false}
[2026-04-26 12:07:53] [INFO] Virtual stage successfully saved {"contact_id":"8508","stage_name":"deal_registered"}
[2026-04-26 12:07:53] [INFO] Virtual stage updated after activity save {"contact_id":"8508"}
[2026-04-26 12:07:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8508","person_id":"20557"}
[2026-04-26 12:08:00] [INFO] Checking activity reminders 
[2026-04-26 12:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:08:19] [INFO] Checking activity reminders 
[2026-04-26 12:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:08:24] [INFO] Checking activity reminders 
[2026-04-26 12:08:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:08:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:08:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:44] [INFO] Activity save request {"post_data":{"contact_id":"15235","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"از اخرین مکالمه نیست شده ","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:08:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15235","note_was_empty":true}
[2026-04-26 12:08:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"15235","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:08:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edcf140c0197.34987242","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69edcf140c0197.34987242"}
[2026-04-26 12:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:44] [INFO] Updating virtual stage {"contact_id":"15235","stage_name":"deal_registered","force":false}
[2026-04-26 12:08:44] [INFO] Virtual stage successfully saved {"contact_id":"15235","stage_name":"deal_registered"}
[2026-04-26 12:08:44] [INFO] Virtual stage updated after activity save {"contact_id":"15235"}
[2026-04-26 12:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15235","person_id":"16859"}
[2026-04-26 12:08:49] [INFO] Checking activity reminders 
[2026-04-26 12:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:09:15] [INFO] Checking activity reminders 
[2026-04-26 12:09:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:09:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:09:19] [INFO] Checking activity reminders 
[2026-04-26 12:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:09:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:09:45] [INFO] Checking activity reminders 
[2026-04-26 12:09:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:09:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:09:49] [INFO] Checking activity reminders 
[2026-04-26 12:09:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:09:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:10:15] [INFO] Checking activity reminders 
[2026-04-26 12:10:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:10:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:10:19] [INFO] Checking activity reminders 
[2026-04-26 12:10:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:10:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:10:31] [INFO] Checking activity reminders 
[2026-04-26 12:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:10:39] [INFO] Activity save request {"post_data":{"contact_id":"20598","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری تمدید عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:10:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:10:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:10:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20598","note_was_empty":true}
[2026-04-26 12:10:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"20598","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:10:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edcf87a00d71.67037610","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:10:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69edcf87a00d71.67037610"}
[2026-04-26 12:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:10:39] [INFO] Updating virtual stage {"contact_id":"20598","stage_name":"deal_registered","force":false}
[2026-04-26 12:10:39] [INFO] Virtual stage successfully saved {"contact_id":"20598","stage_name":"deal_registered"}
[2026-04-26 12:10:39] [INFO] Virtual stage updated after activity save {"contact_id":"20598"}
[2026-04-26 12:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20598","person_id":"10784"}
[2026-04-26 12:10:49] [INFO] Checking activity reminders 
[2026-04-26 12:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:11:19] [INFO] Checking activity reminders 
[2026-04-26 12:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:11:29] [INFO] Checking activity reminders 
[2026-04-26 12:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:11:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:11:50] [INFO] Checking activity reminders 
[2026-04-26 12:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:11:59] [INFO] Checking activity reminders 
[2026-04-26 12:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:12:20] [INFO] Checking activity reminders 
[2026-04-26 12:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:12:29] [INFO] Checking activity reminders 
[2026-04-26 12:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:12:50] [INFO] Checking activity reminders 
[2026-04-26 12:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:12:59] [INFO] Checking activity reminders 
[2026-04-26 12:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:13:20] [INFO] Checking activity reminders 
[2026-04-26 12:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:13:29] [INFO] Checking activity reminders 
[2026-04-26 12:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:13:50] [INFO] Checking activity reminders 
[2026-04-26 12:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:13:56] [INFO] Activity save request {"post_data":{"contact_id":"14836","deal_id":"local_69db486174de29.26466843","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ پیگیری تسویه ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:13:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:13:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:13:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14836","note_was_empty":true}
[2026-04-26 12:13:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"14836","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:13:56] [INFO] Updating virtual stage {"contact_id":"14836","stage_name":"deal_registered","force":false}
[2026-04-26 12:13:56] [INFO] Virtual stage successfully saved {"contact_id":"14836","stage_name":"deal_registered"}
[2026-04-26 12:13:56] [INFO] Virtual stage updated after activity save {"contact_id":"14836"}
[2026-04-26 12:13:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69db486174de29.26466843","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-26 12:13:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd04c6e2a59.95205015","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:13:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd04c6e2a59.95205015"}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:13:56] [INFO] Updating virtual stage {"contact_id":"14836","stage_name":"deal_registered","force":false}
[2026-04-26 12:13:56] [INFO] Virtual stage successfully saved {"contact_id":"14836","stage_name":"deal_registered"}
[2026-04-26 12:13:56] [INFO] Virtual stage updated after activity save {"contact_id":"14836"}
[2026-04-26 12:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 12:14:20] [INFO] Checking activity reminders 
[2026-04-26 12:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:14:34] [INFO] Checking activity reminders 
[2026-04-26 12:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:14:50] [INFO] Checking activity reminders 
[2026-04-26 12:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:15:04] [INFO] Checking activity reminders 
[2026-04-26 12:15:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:15:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:15:20] [INFO] Checking activity reminders 
[2026-04-26 12:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:15:34] [INFO] Checking activity reminders 
[2026-04-26 12:15:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:15:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:15:47] [INFO] Activity save request {"post_data":{"contact_id":"6639","deal_id":"local_695cc695e19f66.14950227","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:47] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:15:47] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:47] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6639","note_was_empty":true}
[2026-04-26 12:15:47] [INFO] Didar write disabled; saving activity locally {"contact_id":"6639","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:47] [INFO] Updating virtual stage {"contact_id":"6639","stage_name":"deal_registered","force":false}
[2026-04-26 12:15:47] [INFO] Virtual stage successfully saved {"contact_id":"6639","stage_name":"deal_registered"}
[2026-04-26 12:15:47] [INFO] Virtual stage updated after activity save {"contact_id":"6639"}
[2026-04-26 12:15:47] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695cc695e19f66.14950227","stage":"تماس پیگیری","status_change":null}
[2026-04-26 12:15:47] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd0bb5eba00.66093083","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:47] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd0bb5eba00.66093083"}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:47] [INFO] Updating virtual stage {"contact_id":"6639","stage_name":"deal_registered","force":false}
[2026-04-26 12:15:47] [INFO] Virtual stage successfully saved {"contact_id":"6639","stage_name":"deal_registered"}
[2026-04-26 12:15:47] [INFO] Virtual stage updated after activity save {"contact_id":"6639"}
[2026-04-26 12:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6639","person_id":"14843"}
[2026-04-26 12:15:51] [INFO] Checking activity reminders 
[2026-04-26 12:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:16:02] [INFO] Checking activity reminders 
[2026-04-26 12:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:16:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:16:21] [INFO] Checking activity reminders 
[2026-04-26 12:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:16:32] [INFO] Checking activity reminders 
[2026-04-26 12:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:16:51] [INFO] Checking activity reminders 
[2026-04-26 12:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:02] [INFO] Checking activity reminders 
[2026-04-26 12:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:21] [INFO] Checking activity reminders 
[2026-04-26 12:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:32] [INFO] Checking activity reminders 
[2026-04-26 12:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:51] [INFO] Checking activity reminders 
[2026-04-26 12:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:55] [INFO] Checking activity reminders 
[2026-04-26 12:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:17:57] [INFO] Checking activity reminders 
[2026-04-26 12:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:18:02] [INFO] Checking activity reminders 
[2026-04-26 12:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:18:27] [INFO] Checking activity reminders 
[2026-04-26 12:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:18:32] [INFO] Checking activity reminders 
[2026-04-26 12:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:18:38] [INFO] Activity save request {"post_data":{"contact_id":"20834","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری تمدید \/ عدم پاسخ اراسل پیامک","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:18:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:18:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:18:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20834","note_was_empty":true}
[2026-04-26 12:18:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"20834","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:18:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd1663bad49.09519188","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:18:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd1663bad49.09519188"}
[2026-04-26 12:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:18:38] [INFO] Updating virtual stage {"contact_id":"20834","stage_name":"deal_registered","force":false}
[2026-04-26 12:18:38] [INFO] Virtual stage successfully saved {"contact_id":"20834","stage_name":"deal_registered"}
[2026-04-26 12:18:38] [INFO] Virtual stage updated after activity save {"contact_id":"20834"}
[2026-04-26 12:18:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:18:57] [INFO] Checking activity reminders 
[2026-04-26 12:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:02] [INFO] Checking activity reminders 
[2026-04-26 12:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:22] [INFO] Checking activity reminders 
[2026-04-26 12:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:27] [INFO] Checking activity reminders 
[2026-04-26 12:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:19:49] [INFO] Checking activity reminders 
[2026-04-26 12:19:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:50] [INFO] Checking activity reminders 
[2026-04-26 12:19:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:52] [INFO] Checking activity reminders 
[2026-04-26 12:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:52] [INFO] Checking activity reminders 
[2026-04-26 12:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:19:52] [INFO] Checking activity reminders 
[2026-04-26 12:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:20:00] [INFO] Checking activity reminders 
[2026-04-26 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:20:04] [INFO] Checking activity reminders 
[2026-04-26 12:20:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:20:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:20:08] [INFO] Activity save request {"post_data":{"contact_id":"20865","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"با داییش داره بازار غذا کار میکنه فعلا سرمایه اونجاس","activity_duration":"20","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:20:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:20:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:20:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:20:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:20:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20865","note_was_empty":true}
[2026-04-26 12:20:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"20865","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:20:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd1c0640757.82419763","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:20:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:20:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd1c0640757.82419763"}
[2026-04-26 12:20:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:20:08] [INFO] Updating virtual stage {"contact_id":"20865","stage_name":"deal_registered","force":false}
[2026-04-26 12:20:08] [INFO] Virtual stage successfully saved {"contact_id":"20865","stage_name":"deal_registered"}
[2026-04-26 12:20:08] [INFO] Virtual stage updated after activity save {"contact_id":"20865"}
[2026-04-26 12:20:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20865","person_id":"20406"}
[2026-04-26 12:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 12:20:32] [INFO] Checking activity reminders 
[2026-04-26 12:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:20:34] [INFO] Checking activity reminders 
[2026-04-26 12:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:20:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:21:02] [INFO] Checking activity reminders 
[2026-04-26 12:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:21:04] [INFO] Checking activity reminders 
[2026-04-26 12:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:21:32] [INFO] Checking activity reminders 
[2026-04-26 12:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:21:34] [INFO] Checking activity reminders 
[2026-04-26 12:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:22:03] [INFO] Checking activity reminders 
[2026-04-26 12:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:22:04] [INFO] Checking activity reminders 
[2026-04-26 12:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:22:33] [INFO] Checking activity reminders 
[2026-04-26 12:22:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:22:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:22:34] [INFO] Checking activity reminders 
[2026-04-26 12:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:22:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 12:22:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14670","person_id":"19769"}
[2026-04-26 12:23:03] [INFO] Checking activity reminders 
[2026-04-26 12:23:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:23:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:23:07] [INFO] Checking activity reminders 
[2026-04-26 12:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:23:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:23:33] [INFO] Checking activity reminders 
[2026-04-26 12:23:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:23:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:23:37] [INFO] Checking activity reminders 
[2026-04-26 12:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:24:03] [INFO] Checking activity reminders 
[2026-04-26 12:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:24:07] [INFO] Checking activity reminders 
[2026-04-26 12:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:24:33] [INFO] Checking activity reminders 
[2026-04-26 12:24:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:24:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:24:37] [INFO] Checking activity reminders 
[2026-04-26 12:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:03] [INFO] Checking activity reminders 
[2026-04-26 12:25:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:07] [INFO] Checking activity reminders 
[2026-04-26 12:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:17] [INFO] Checking activity reminders 
[2026-04-26 12:25:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21535","person_id":"1379"}
[2026-04-26 12:25:28] [INFO] Checking activity reminders 
[2026-04-26 12:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:33] [INFO] Checking activity reminders 
[2026-04-26 12:25:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:37] [INFO] Checking activity reminders 
[2026-04-26 12:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:49] [INFO] Checking activity reminders 
[2026-04-26 12:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:25:51] [INFO] Activity save request {"post_data":{"contact_id":"14521","deal_id":"local_69d0a1b2ce7535.12070788","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"نانوا سنگک \/ تهران نو \r\nاصلا پس انداز و سرمایه گذاری نداره \r\nهزینه جاری و حقوق کارگر  \r\nبرای کانال فقط اطلاعات میبینه و اقدام نداره \r\nپرزنت بودجه بندی \r\n","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:25:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:25:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:25:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14521","note_was_empty":true}
[2026-04-26 12:25:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"14521","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:25:51] [INFO] Updating virtual stage {"contact_id":"14521","stage_name":"deal_registered","force":false}
[2026-04-26 12:25:51] [INFO] Virtual stage successfully saved {"contact_id":"14521","stage_name":"deal_registered"}
[2026-04-26 12:25:51] [INFO] Virtual stage updated after activity save {"contact_id":"14521"}
[2026-04-26 12:25:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a1b2ce7535.12070788","stage":"تماس پیگیری","status_change":null}
[2026-04-26 12:25:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd3179087b6.42409449","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:25:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd3179087b6.42409449"}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:25:51] [INFO] Updating virtual stage {"contact_id":"14521","stage_name":"deal_registered","force":false}
[2026-04-26 12:25:51] [INFO] Virtual stage successfully saved {"contact_id":"14521","stage_name":"deal_registered"}
[2026-04-26 12:25:51] [INFO] Virtual stage updated after activity save {"contact_id":"14521"}
[2026-04-26 12:25:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14521","person_id":"18731"}
[2026-04-26 12:26:03] [INFO] Checking activity reminders 
[2026-04-26 12:26:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:26:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:26:07] [INFO] Checking activity reminders 
[2026-04-26 12:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:26:32] [INFO] Activity save request {"post_data":{"contact_id":"15700","deal_id":"local_69bbeb4d963670.52610202","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:26:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15700","note_was_empty":true}
[2026-04-26 12:26:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"15700","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:32] [INFO] Updating virtual stage {"contact_id":"15700","stage_name":"deal_registered","force":false}
[2026-04-26 12:26:32] [INFO] Virtual stage successfully saved {"contact_id":"15700","stage_name":"deal_registered"}
[2026-04-26 12:26:32] [INFO] Virtual stage updated after activity save {"contact_id":"15700"}
[2026-04-26 12:26:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbeb4d963670.52610202","stage":"تماس پیگیری","status_change":null}
[2026-04-26 12:26:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd340519039.56972370","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd340519039.56972370"}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:32] [INFO] Updating virtual stage {"contact_id":"15700","stage_name":"deal_registered","force":false}
[2026-04-26 12:26:32] [INFO] Virtual stage successfully saved {"contact_id":"15700","stage_name":"deal_registered"}
[2026-04-26 12:26:32] [INFO] Virtual stage updated after activity save {"contact_id":"15700"}
[2026-04-26 12:26:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15700","person_id":"6958"}
[2026-04-26 12:26:33] [INFO] Checking activity reminders 
[2026-04-26 12:26:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:26:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:26:35] [INFO] Checking activity reminders 
[2026-04-26 12:26:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:26:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:26:37] [INFO] Checking activity reminders 
[2026-04-26 12:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:04] [INFO] Checking activity reminders 
[2026-04-26 12:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:05] [INFO] Checking activity reminders 
[2026-04-26 12:27:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:07] [INFO] Checking activity reminders 
[2026-04-26 12:27:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:34] [INFO] Checking activity reminders 
[2026-04-26 12:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:37] [INFO] Checking activity reminders 
[2026-04-26 12:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:27:52] [INFO] Checking activity reminders 
[2026-04-26 12:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:28:04] [INFO] Checking activity reminders 
[2026-04-26 12:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:28:08] [INFO] Checking activity reminders 
[2026-04-26 12:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:28:34] [INFO] Checking activity reminders 
[2026-04-26 12:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:28:38] [INFO] Checking activity reminders 
[2026-04-26 12:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:04] [INFO] Checking activity reminders 
[2026-04-26 12:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:08] [INFO] Checking activity reminders 
[2026-04-26 12:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:25] [INFO] Checking activity reminders 
[2026-04-26 12:29:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:27] [INFO] Checking activity reminders 
[2026-04-26 12:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:34] [INFO] Checking activity reminders 
[2026-04-26 12:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:29:57] [INFO] Checking activity reminders 
[2026-04-26 12:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:30:04] [INFO] Checking activity reminders 
[2026-04-26 12:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:30:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:30:27] [INFO] Checking activity reminders 
[2026-04-26 12:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:30:34] [INFO] Checking activity reminders 
[2026-04-26 12:30:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:30:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:30:57] [INFO] Checking activity reminders 
[2026-04-26 12:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:31:04] [INFO] Checking activity reminders 
[2026-04-26 12:31:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:31:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:31:27] [INFO] Checking activity reminders 
[2026-04-26 12:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:31:34] [INFO] Checking activity reminders 
[2026-04-26 12:31:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:31:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:31:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:31:57] [INFO] Checking activity reminders 
[2026-04-26 12:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:05] [INFO] Checking activity reminders 
[2026-04-26 12:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:17] [INFO] Activity save request {"post_data":{"contact_id":"1360","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nسهم سینرژی ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:32:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:32:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:32:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1360","note_was_empty":true}
[2026-04-26 12:32:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"1360","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:32:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd4996b3618.65111369","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:32:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd4996b3618.65111369"}
[2026-04-26 12:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:32:17] [INFO] Updating virtual stage {"contact_id":"1360","stage_name":"with_purchase","force":false}
[2026-04-26 12:32:17] [INFO] Virtual stage successfully saved {"contact_id":"1360","stage_name":"with_purchase"}
[2026-04-26 12:32:17] [INFO] Virtual stage updated after activity save {"contact_id":"1360"}
[2026-04-26 12:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 12:32:27] [INFO] Checking activity reminders 
[2026-04-26 12:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:35] [INFO] Checking activity reminders 
[2026-04-26 12:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:39] [INFO] Checking activity reminders 
[2026-04-26 12:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-26 12:32:47] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_28","deal_id":"local_69b7417ddbc365.66921775","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بدون مشاوره تا اخر سال 54ت خواست \/ 16ت الان میزنه الباقی هفته ای میزنه تسویه هفته ارخ خرداد 25 خرداد صحبت شد","activity_duration":"20","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:47] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:32:47] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:47] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_1403_09_26_28","note_was_empty":true}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:47] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 12:32:47] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 12:32:47] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 12:32:47] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b7417ddbc365.66921775","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-26 12:32:47] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd4b7134342.45265887","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:47] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd4b7134342.45265887"}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:47] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 12:32:47] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 12:32:47] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 12:32:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 12:32:48] [INFO] Checking activity reminders 
[2026-04-26 12:32:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:32:57] [INFO] Checking activity reminders 
[2026-04-26 12:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:33:05] [INFO] Checking activity reminders 
[2026-04-26 12:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:33:27] [INFO] Checking activity reminders 
[2026-04-26 12:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:33:35] [INFO] Checking activity reminders 
[2026-04-26 12:33:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:33:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:33:57] [INFO] Checking activity reminders 
[2026-04-26 12:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:34:05] [INFO] Checking activity reminders 
[2026-04-26 12:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:34:09] [INFO] Checking activity reminders 
[2026-04-26 12:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:34:27] [INFO] Checking activity reminders 
[2026-04-26 12:34:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:34:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:34:36] [INFO] Checking activity reminders 
[2026-04-26 12:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:34:58] [INFO] Checking activity reminders 
[2026-04-26 12:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:05] [INFO] Checking activity reminders 
[2026-04-26 12:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:06] [INFO] Checking activity reminders 
[2026-04-26 12:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:13] [INFO] Checking activity reminders 
[2026-04-26 12:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:28] [INFO] Checking activity reminders 
[2026-04-26 12:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:36] [INFO] Checking activity reminders 
[2026-04-26 12:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:35:58] [INFO] Checking activity reminders 
[2026-04-26 12:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:01] [INFO] Checking activity reminders 
[2026-04-26 12:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:05] [INFO] Checking activity reminders 
[2026-04-26 12:36:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:36:28] [INFO] Checking activity reminders 
[2026-04-26 12:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:35] [INFO] Checking activity reminders 
[2026-04-26 12:36:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:55] [INFO] Checking activity reminders 
[2026-04-26 12:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:36:58] [INFO] Checking activity reminders 
[2026-04-26 12:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:05] [INFO] Checking activity reminders 
[2026-04-26 12:37:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:06] [INFO] Checking activity reminders 
[2026-04-26 12:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:28] [INFO] Checking activity reminders 
[2026-04-26 12:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:35] [INFO] Checking activity reminders 
[2026-04-26 12:37:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:41] [INFO] Checking activity reminders 
[2026-04-26 12:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:37:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-26 12:37:58] [INFO] Checking activity reminders 
[2026-04-26 12:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:05] [INFO] Checking activity reminders 
[2026-04-26 12:38:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:11] [INFO] Checking activity reminders 
[2026-04-26 12:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:38:28] [INFO] Checking activity reminders 
[2026-04-26 12:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:35] [INFO] Lead update received {"contact_id":"17008","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 12:38:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:38:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:38:35] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"17008"}
[2026-04-26 12:38:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:38:35] [INFO] Checking activity reminders 
[2026-04-26 12:38:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:52] [INFO] Checking activity reminders 
[2026-04-26 12:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:38:58] [INFO] Checking activity reminders 
[2026-04-26 12:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:05] [INFO] Checking activity reminders 
[2026-04-26 12:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:22] [INFO] Checking activity reminders 
[2026-04-26 12:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:29] [INFO] Checking activity reminders 
[2026-04-26 12:39:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:35] [INFO] Checking activity reminders 
[2026-04-26 12:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:39] [INFO] Checking activity reminders 
[2026-04-26 12:39:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:39:40] [INFO] Activity save request {"post_data":{"contact_id":"17008","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"در مورد کسب و کارش سوال داشت \r\nپرزنت مشاوره ی حضوری از استاد \/ در پشتیبانی کانال نمیگنجه \r\nارسال ادرس و اطاعات واریز در بله ","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:39:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:39:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:39:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:39:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:39:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"17008","note_was_empty":true}
[2026-04-26 12:39:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"17008","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:39:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd654d7f9f6.13195544","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:39:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:39:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd654d7f9f6.13195544"}
[2026-04-26 12:39:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:39:40] [INFO] Updating virtual stage {"contact_id":"17008","stage_name":"with_purchase","force":false}
[2026-04-26 12:39:40] [INFO] Virtual stage successfully saved {"contact_id":"17008","stage_name":"with_purchase"}
[2026-04-26 12:39:40] [INFO] Virtual stage updated after activity save {"contact_id":"17008"}
[2026-04-26 12:39:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 12:39:59] [INFO] Checking activity reminders 
[2026-04-26 12:39:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:39:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:40:05] [INFO] Checking activity reminders 
[2026-04-26 12:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:40:29] [INFO] Checking activity reminders 
[2026-04-26 12:40:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:40:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:40:35] [INFO] Checking activity reminders 
[2026-04-26 12:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:40:39] [INFO] Checking activity reminders 
[2026-04-26 12:40:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:40:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:05] [INFO] Checking activity reminders 
[2026-04-26 12:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:09] [INFO] Checking activity reminders 
[2026-04-26 12:41:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:28] [INFO] Checking activity reminders 
[2026-04-26 12:41:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1325","person_id":"13744"}
[2026-04-26 12:41:36] [INFO] Checking activity reminders 
[2026-04-26 12:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:44] [INFO] Checking activity reminders 
[2026-04-26 12:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:41:45] [INFO] Activity save request {"post_data":{"contact_id":"5640","deal_id":"local_69bbeae3f07ac1.58786004","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:41:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5640","note_was_empty":true}
[2026-04-26 12:41:45] [INFO] Didar write disabled; saving activity locally {"contact_id":"5640","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:45] [INFO] Updating virtual stage {"contact_id":"5640","stage_name":"deal_registered","force":false}
[2026-04-26 12:41:45] [INFO] Virtual stage successfully saved {"contact_id":"5640","stage_name":"deal_registered"}
[2026-04-26 12:41:45] [INFO] Virtual stage updated after activity save {"contact_id":"5640"}
[2026-04-26 12:41:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbeae3f07ac1.58786004","stage":"تماس پیگیری","status_change":null}
[2026-04-26 12:41:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd6d17d6f38.10826698","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd6d17d6f38.10826698"}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:45] [INFO] Updating virtual stage {"contact_id":"5640","stage_name":"deal_registered","force":false}
[2026-04-26 12:41:45] [INFO] Virtual stage successfully saved {"contact_id":"5640","stage_name":"deal_registered"}
[2026-04-26 12:41:45] [INFO] Virtual stage updated after activity save {"contact_id":"5640"}
[2026-04-26 12:41:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5640","person_id":"6322"}
[2026-04-26 12:41:58] [INFO] Checking activity reminders 
[2026-04-26 12:41:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:41:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:06] [INFO] Checking activity reminders 
[2026-04-26 12:42:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:18] [INFO] Checking activity reminders 
[2026-04-26 12:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:28] [INFO] Checking activity reminders 
[2026-04-26 12:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:42:36] [INFO] Checking activity reminders 
[2026-04-26 12:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:57] [INFO] Checking activity reminders 
[2026-04-26 12:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:42:58] [INFO] Checking activity reminders 
[2026-04-26 12:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 12:43:12] [INFO] Activity save request {"post_data":{"contact_id":"local_694fceb0ae4c66.76073979","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:43:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:43:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:43:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_694fceb0ae4c66.76073979","note_was_empty":true}
[2026-04-26 12:43:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd72891c520.35760063","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:43:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd72891c520.35760063"}
[2026-04-26 12:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:43:12] [INFO] Updating virtual stage {"contact_id":"local_694fceb0ae4c66.76073979","stage_name":"deal_registered","force":false}
[2026-04-26 12:43:12] [INFO] Virtual stage successfully saved {"contact_id":"local_694fceb0ae4c66.76073979","stage_name":"deal_registered"}
[2026-04-26 12:43:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_694fceb0ae4c66.76073979"}
[2026-04-26 12:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694fceb0ae4c66.76073979","person_id":"21374"}
[2026-04-26 12:43:27] [INFO] Checking activity reminders 
[2026-04-26 12:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:43:28] [INFO] Checking activity reminders 
[2026-04-26 12:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:43:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 12:43:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:43:57] [INFO] Checking activity reminders 
[2026-04-26 12:43:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:43:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:43:58] [INFO] Checking activity reminders 
[2026-04-26 12:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:44:27] [INFO] Checking activity reminders 
[2026-04-26 12:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:44:28] [INFO] Checking activity reminders 
[2026-04-26 12:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:44:57] [INFO] Checking activity reminders 
[2026-04-26 12:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:44:58] [INFO] Checking activity reminders 
[2026-04-26 12:44:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:44:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:45:26] [INFO] Checking activity reminders 
[2026-04-26 12:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:45:27] [INFO] Checking activity reminders 
[2026-04-26 12:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:45:28] [INFO] Checking activity reminders 
[2026-04-26 12:45:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:45:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:45:57] [INFO] Checking activity reminders 
[2026-04-26 12:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:45:59] [INFO] Checking activity reminders 
[2026-04-26 12:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:46:27] [INFO] Checking activity reminders 
[2026-04-26 12:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:46:29] [INFO] Checking activity reminders 
[2026-04-26 12:46:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:46:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:46:58] [INFO] Checking activity reminders 
[2026-04-26 12:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:46:59] [INFO] Checking activity reminders 
[2026-04-26 12:46:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:46:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:47:28] [INFO] Checking activity reminders 
[2026-04-26 12:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:47:29] [INFO] Checking activity reminders 
[2026-04-26 12:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:47:29] [INFO] Checking activity reminders 
[2026-04-26 12:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:47:58] [INFO] Checking activity reminders 
[2026-04-26 12:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:47:59] [INFO] Checking activity reminders 
[2026-04-26 12:47:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:47:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:48:28] [INFO] Checking activity reminders 
[2026-04-26 12:48:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:48:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:48:29] [INFO] Checking activity reminders 
[2026-04-26 12:48:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:48:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:48:58] [INFO] Checking activity reminders 
[2026-04-26 12:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:48:58] [INFO] Checking activity reminders 
[2026-04-26 12:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:48:59] [INFO] Checking activity reminders 
[2026-04-26 12:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-26 12:49:15] [INFO] Checking activity reminders 
[2026-04-26 12:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:28] [INFO] Checking activity reminders 
[2026-04-26 12:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:29] [INFO] Checking activity reminders 
[2026-04-26 12:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:45] [INFO] Checking activity reminders 
[2026-04-26 12:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:58] [INFO] Checking activity reminders 
[2026-04-26 12:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:49:59] [INFO] Checking activity reminders 
[2026-04-26 12:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:50:19] [INFO] Activity save request {"post_data":{"contact_id":"10001","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کارش تجهیزات صنعتی گلخانه ای \r\nسرمایه اش کلا درگیر کاره \/ اصلا سرمایه گذاری در بازار های مالی درگیر نیست \r\nارسل لینک کانال عمومی استاد در بله ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:50:19] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:50:19] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:50:19] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10001","note_was_empty":true}
[2026-04-26 12:50:19] [INFO] Didar write disabled; saving activity locally {"contact_id":"10001","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:50:19] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd8d3e810f9.65865955","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:50:19] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd8d3e810f9.65865955"}
[2026-04-26 12:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:50:19] [INFO] Updating virtual stage {"contact_id":"10001","stage_name":"deal_registered","force":false}
[2026-04-26 12:50:19] [INFO] Virtual stage successfully saved {"contact_id":"10001","stage_name":"deal_registered"}
[2026-04-26 12:50:19] [INFO] Virtual stage updated after activity save {"contact_id":"10001"}
[2026-04-26 12:50:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10001","person_id":"2719"}
[2026-04-26 12:50:28] [INFO] Checking activity reminders 
[2026-04-26 12:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:50:29] [INFO] Checking activity reminders 
[2026-04-26 12:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:50:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:50:58] [INFO] Checking activity reminders 
[2026-04-26 12:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:50:59] [INFO] Checking activity reminders 
[2026-04-26 12:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:15] [INFO] Checking activity reminders 
[2026-04-26 12:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:29] [INFO] Checking activity reminders 
[2026-04-26 12:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:30] [INFO] Checking activity reminders 
[2026-04-26 12:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:41] [INFO] Checking activity reminders 
[2026-04-26 12:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:50] [INFO] Checking activity reminders 
[2026-04-26 12:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:58] [INFO] Checking activity reminders 
[2026-04-26 12:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:51:59] [INFO] Checking activity reminders 
[2026-04-26 12:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:00] [INFO] Checking activity reminders 
[2026-04-26 12:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21039","person_id":"20648"}
[2026-04-26 12:52:17] [INFO] Checking activity reminders 
[2026-04-26 12:52:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:22] [INFO] Checking activity reminders 
[2026-04-26 12:52:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:29] [INFO] Checking activity reminders 
[2026-04-26 12:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:30] [INFO] Checking activity reminders 
[2026-04-26 12:52:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:36] [INFO] Checking activity reminders 
[2026-04-26 12:52:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:52:59] [INFO] Checking activity reminders 
[2026-04-26 12:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:53:00] [INFO] Checking activity reminders 
[2026-04-26 12:53:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:53:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:53:12] [INFO] Activity save request {"post_data":{"contact_id":"1992","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 12:53:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:53:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 12:53:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 12:53:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:53:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1992","note_was_empty":true}
[2026-04-26 12:53:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"1992","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 12:53:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edd980920977.74206230","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 12:53:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:53:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69edd980920977.74206230"}
[2026-04-26 12:53:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:53:12] [INFO] Updating virtual stage {"contact_id":"1992","stage_name":"deal_registered","force":false}
[2026-04-26 12:53:12] [INFO] Virtual stage successfully saved {"contact_id":"1992","stage_name":"deal_registered"}
[2026-04-26 12:53:12] [INFO] Virtual stage updated after activity save {"contact_id":"1992"}
[2026-04-26 12:53:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1992","person_id":"4700"}
[2026-04-26 12:53:20] [INFO] Checking activity reminders 
[2026-04-26 12:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:53:29] [INFO] Checking activity reminders 
[2026-04-26 12:53:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:53:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:53:30] [INFO] Checking activity reminders 
[2026-04-26 12:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:53:59] [INFO] Checking activity reminders 
[2026-04-26 12:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:54:00] [INFO] Checking activity reminders 
[2026-04-26 12:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:54:29] [INFO] Checking activity reminders 
[2026-04-26 12:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:54:59] [INFO] Checking activity reminders 
[2026-04-26 12:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:55:29] [INFO] Checking activity reminders 
[2026-04-26 12:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:55:42] [INFO] Checking activity reminders 
[2026-04-26 12:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:55:44] [INFO] Checking activity reminders 
[2026-04-26 12:55:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:55:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:55:45] [INFO] Checking activity reminders 
[2026-04-26 12:55:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:55:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:55:59] [INFO] Checking activity reminders 
[2026-04-26 12:55:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:55:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:10] [INFO] Checking activity reminders 
[2026-04-26 12:56:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-26 12:56:15] [INFO] Checking activity reminders 
[2026-04-26 12:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:17] [INFO] Checking activity reminders 
[2026-04-26 12:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:19] [INFO] Checking activity reminders 
[2026-04-26 12:56:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:21] [INFO] Checking activity reminders 
[2026-04-26 12:56:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:22] [INFO] Checking activity reminders 
[2026-04-26 12:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:26] [INFO] Checking activity reminders 
[2026-04-26 12:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:29] [INFO] Checking activity reminders 
[2026-04-26 12:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:56] [INFO] Checking activity reminders 
[2026-04-26 12:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:56:59] [INFO] Checking activity reminders 
[2026-04-26 12:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:57:26] [INFO] Checking activity reminders 
[2026-04-26 12:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:57:29] [INFO] Checking activity reminders 
[2026-04-26 12:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:57:53] [INFO] Checking activity reminders 
[2026-04-26 12:57:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:57:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:00] [INFO] Checking activity reminders 
[2026-04-26 12:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:24] [INFO] Checking activity reminders 
[2026-04-26 12:58:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:27] [INFO] Checking activity reminders 
[2026-04-26 12:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:30] [INFO] Checking activity reminders 
[2026-04-26 12:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:32] [INFO] Checking activity reminders 
[2026-04-26 12:58:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-26 12:58:52] [INFO] Checking activity reminders 
[2026-04-26 12:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:58:54] [INFO] Checking activity reminders 
[2026-04-26 12:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:00] [INFO] Checking activity reminders 
[2026-04-26 12:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:00] [INFO] Checking activity reminders 
[2026-04-26 12:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:05] [INFO] Checking activity reminders 
[2026-04-26 12:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:24] [INFO] Checking activity reminders 
[2026-04-26 12:59:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:30] [INFO] Checking activity reminders 
[2026-04-26 12:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:54] [INFO] Checking activity reminders 
[2026-04-26 12:59:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 12:59:55] [INFO] Checking activity reminders 
[2026-04-26 12:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 12:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:00] [INFO] Checking activity reminders 
[2026-04-26 13:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:04] [INFO] Checking activity reminders 
[2026-04-26 13:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:15] [INFO] Checking activity reminders 
[2026-04-26 13:00:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:24] [INFO] Checking activity reminders 
[2026-04-26 13:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:30] [INFO] Checking activity reminders 
[2026-04-26 13:00:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:00:54] [INFO] Checking activity reminders 
[2026-04-26 13:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:54] [INFO] Checking activity reminders 
[2026-04-26 13:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:00:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-26 13:01:00] [INFO] Checking activity reminders 
[2026-04-26 13:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:01:07] [INFO] Checking activity reminders 
[2026-04-26 13:01:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:01:24] [INFO] Checking activity reminders 
[2026-04-26 13:01:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:01:30] [INFO] Checking activity reminders 
[2026-04-26 13:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:01:44] [INFO] Checking activity reminders 
[2026-04-26 13:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:01:54] [INFO] Checking activity reminders 
[2026-04-26 13:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:00] [INFO] Checking activity reminders 
[2026-04-26 13:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:14] [INFO] Checking activity reminders 
[2026-04-26 13:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:25] [INFO] Checking activity reminders 
[2026-04-26 13:02:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:30] [INFO] Checking activity reminders 
[2026-04-26 13:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:44] [INFO] Checking activity reminders 
[2026-04-26 13:02:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:02:55] [INFO] Checking activity reminders 
[2026-04-26 13:02:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:02:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:00] [INFO] Checking activity reminders 
[2026-04-26 13:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:14] [INFO] Checking activity reminders 
[2026-04-26 13:03:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:25] [INFO] Checking activity reminders 
[2026-04-26 13:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:30] [INFO] Checking activity reminders 
[2026-04-26 13:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:44] [INFO] Checking activity reminders 
[2026-04-26 13:03:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:03:55] [INFO] Checking activity reminders 
[2026-04-26 13:03:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:03:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:00] [INFO] Checking activity reminders 
[2026-04-26 13:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:25] [INFO] Checking activity reminders 
[2026-04-26 13:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:28] [INFO] Checking activity reminders 
[2026-04-26 13:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:31] [INFO] Checking activity reminders 
[2026-04-26 13:04:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"666","person_id":"11323"}
[2026-04-26 13:04:55] [INFO] Checking activity reminders 
[2026-04-26 13:04:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:04:58] [INFO] Checking activity reminders 
[2026-04-26 13:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:05:01] [INFO] Checking activity reminders 
[2026-04-26 13:05:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:05:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:05:25] [INFO] Checking activity reminders 
[2026-04-26 13:05:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:05:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:05:31] [INFO] Checking activity reminders 
[2026-04-26 13:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:05:55] [INFO] Checking activity reminders 
[2026-04-26 13:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:06:01] [INFO] Checking activity reminders 
[2026-04-26 13:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:06:25] [INFO] Checking activity reminders 
[2026-04-26 13:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:06:31] [INFO] Checking activity reminders 
[2026-04-26 13:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:06:55] [INFO] Checking activity reminders 
[2026-04-26 13:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:07:01] [INFO] Checking activity reminders 
[2026-04-26 13:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:07:26] [INFO] Checking activity reminders 
[2026-04-26 13:07:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:07:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:07:31] [INFO] Checking activity reminders 
[2026-04-26 13:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:07:56] [INFO] Checking activity reminders 
[2026-04-26 13:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:08:01] [INFO] Checking activity reminders 
[2026-04-26 13:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:08:06] [INFO] Checking activity reminders 
[2026-04-26 13:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:08:26] [INFO] Checking activity reminders 
[2026-04-26 13:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:08:31] [INFO] Checking activity reminders 
[2026-04-26 13:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:08:56] [INFO] Checking activity reminders 
[2026-04-26 13:08:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:08:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:09:01] [INFO] Checking activity reminders 
[2026-04-26 13:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:09:26] [INFO] Checking activity reminders 
[2026-04-26 13:09:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:09:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:09:31] [INFO] Checking activity reminders 
[2026-04-26 13:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:09:56] [INFO] Checking activity reminders 
[2026-04-26 13:09:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:09:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:10:01] [INFO] Checking activity reminders 
[2026-04-26 13:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:10:26] [INFO] Checking activity reminders 
[2026-04-26 13:10:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:10:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:10:31] [INFO] Checking activity reminders 
[2026-04-26 13:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:10:56] [INFO] Checking activity reminders 
[2026-04-26 13:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:11:02] [INFO] Checking activity reminders 
[2026-04-26 13:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:11:26] [INFO] Checking activity reminders 
[2026-04-26 13:11:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:11:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:11:32] [INFO] Checking activity reminders 
[2026-04-26 13:11:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:11:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:11:56] [INFO] Checking activity reminders 
[2026-04-26 13:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:12:02] [INFO] Checking activity reminders 
[2026-04-26 13:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:12:27] [INFO] Checking activity reminders 
[2026-04-26 13:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:12:32] [INFO] Checking activity reminders 
[2026-04-26 13:12:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:12:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:12:53] [INFO] Activity save request {"post_data":{"contact_id":"13644","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:12:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:12:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:12:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:12:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:12:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13644","note_was_empty":true}
[2026-04-26 13:12:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"13644","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 13:12:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edde1da5eec2.97060063","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:12:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:12:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69edde1da5eec2.97060063"}
[2026-04-26 13:12:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:12:53] [INFO] Updating virtual stage {"contact_id":"13644","stage_name":"deal_registered","force":false}
[2026-04-26 13:12:53] [INFO] Virtual stage successfully saved {"contact_id":"13644","stage_name":"deal_registered"}
[2026-04-26 13:12:53] [INFO] Virtual stage updated after activity save {"contact_id":"13644"}
[2026-04-26 13:12:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13644","person_id":"3175"}
[2026-04-26 13:12:57] [INFO] Checking activity reminders 
[2026-04-26 13:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:13:02] [INFO] Checking activity reminders 
[2026-04-26 13:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:13:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:13:27] [INFO] Checking activity reminders 
[2026-04-26 13:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:13:32] [INFO] Checking activity reminders 
[2026-04-26 13:13:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:13:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:13:57] [INFO] Checking activity reminders 
[2026-04-26 13:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:14:02] [INFO] Checking activity reminders 
[2026-04-26 13:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:14:27] [INFO] Checking activity reminders 
[2026-04-26 13:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:14:32] [INFO] Checking activity reminders 
[2026-04-26 13:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:14:57] [INFO] Checking activity reminders 
[2026-04-26 13:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:15:02] [INFO] Checking activity reminders 
[2026-04-26 13:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:15:27] [INFO] Checking activity reminders 
[2026-04-26 13:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:15:32] [INFO] Checking activity reminders 
[2026-04-26 13:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:15:57] [INFO] Checking activity reminders 
[2026-04-26 13:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:16:02] [INFO] Checking activity reminders 
[2026-04-26 13:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:16:22] [INFO] Activity save request {"post_data":{"contact_id":"11819","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر قرض و بدهی و چک های پاس نشده \r\nاصلا سرمایه ای برای سرمایه گذار یو نقدینگی نداره \r\nدر بله کانال عمومی استاد ارسال کردم ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:16:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:16:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:16:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11819","note_was_empty":true}
[2026-04-26 13:16:22] [INFO] Didar write disabled; saving activity locally {"contact_id":"11819","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 13:16:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69eddeee132062.93379921","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:16:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69eddeee132062.93379921"}
[2026-04-26 13:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:16:22] [INFO] Updating virtual stage {"contact_id":"11819","stage_name":"deal_registered","force":false}
[2026-04-26 13:16:22] [INFO] Virtual stage successfully saved {"contact_id":"11819","stage_name":"deal_registered"}
[2026-04-26 13:16:22] [INFO] Virtual stage updated after activity save {"contact_id":"11819"}
[2026-04-26 13:16:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11819","person_id":"5105"}
[2026-04-26 13:16:28] [INFO] Checking activity reminders 
[2026-04-26 13:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:16:32] [INFO] Checking activity reminders 
[2026-04-26 13:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:16:58] [INFO] Checking activity reminders 
[2026-04-26 13:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:17:02] [INFO] Checking activity reminders 
[2026-04-26 13:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:17:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:17:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:17:18] [INFO] generateDealTitle result {"contact_id":"20834","person_name":"عبدالهی","mobile":"9130434854","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9130434854"}
[2026-04-26 13:17:28] [INFO] Checking activity reminders 
[2026-04-26 13:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:17:33] [INFO] Checking activity reminders 
[2026-04-26 13:17:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:17:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:17:58] [INFO] Checking activity reminders 
[2026-04-26 13:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:18:03] [INFO] Checking activity reminders 
[2026-04-26 13:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:18:28] [INFO] Checking activity reminders 
[2026-04-26 13:18:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:18:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:18:33] [INFO] Checking activity reminders 
[2026-04-26 13:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:18:58] [INFO] Checking activity reminders 
[2026-04-26 13:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:19:03] [INFO] Checking activity reminders 
[2026-04-26 13:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:19:07] [INFO] Activity save request {"post_data":{"contact_id":"20834","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خیلی چونه زد \/ سیگنال جامونده و ال و بل \/ گرون شده \/ \r\n27ت تا اخر مهر  الام 13500 میزنه تسویه 29 اردیبهشت ماه \r\n207 ایران خوردو ثبت نام کرده خردا تحویل قبل سال بهش گفته بودم \/ نیسان گرفته 300 سود تا الان ","activity_duration":"40","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:19:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:19:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:19:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20834","note_was_empty":true}
[2026-04-26 13:19:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"20834","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 13:19:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69eddf93826df7.16910524","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:19:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69eddf93826df7.16910524"}
[2026-04-26 13:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:19:07] [INFO] Updating virtual stage {"contact_id":"20834","stage_name":"deal_registered","force":false}
[2026-04-26 13:19:07] [INFO] Virtual stage successfully saved {"contact_id":"20834","stage_name":"deal_registered"}
[2026-04-26 13:19:07] [INFO] Virtual stage updated after activity save {"contact_id":"20834"}
[2026-04-26 13:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 13:19:28] [INFO] Checking activity reminders 
[2026-04-26 13:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:19:33] [INFO] Checking activity reminders 
[2026-04-26 13:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:19:58] [INFO] Checking activity reminders 
[2026-04-26 13:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:20:03] [INFO] Checking activity reminders 
[2026-04-26 13:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:20:27] [INFO] Checking activity reminders 
[2026-04-26 13:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:20:28] [INFO] Checking activity reminders 
[2026-04-26 13:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:20:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:20:57] [INFO] Checking activity reminders 
[2026-04-26 13:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:20:59] [INFO] Checking activity reminders 
[2026-04-26 13:20:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:20:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:21:28] [INFO] Checking activity reminders 
[2026-04-26 13:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:21:29] [INFO] Checking activity reminders 
[2026-04-26 13:21:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:21:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:21:58] [INFO] Checking activity reminders 
[2026-04-26 13:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:21:59] [INFO] Checking activity reminders 
[2026-04-26 13:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:22:28] [INFO] Checking activity reminders 
[2026-04-26 13:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:22:29] [INFO] Checking activity reminders 
[2026-04-26 13:22:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:22:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:22:58] [INFO] Checking activity reminders 
[2026-04-26 13:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:22:59] [INFO] Checking activity reminders 
[2026-04-26 13:22:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:22:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:23:28] [INFO] Checking activity reminders 
[2026-04-26 13:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:23:29] [INFO] Checking activity reminders 
[2026-04-26 13:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:23:58] [INFO] Checking activity reminders 
[2026-04-26 13:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:23:59] [INFO] Checking activity reminders 
[2026-04-26 13:23:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:23:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:24:28] [INFO] Checking activity reminders 
[2026-04-26 13:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:24:29] [INFO] Checking activity reminders 
[2026-04-26 13:24:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:24:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:24:58] [INFO] Checking activity reminders 
[2026-04-26 13:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:24:59] [INFO] Checking activity reminders 
[2026-04-26 13:24:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:24:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:25:28] [INFO] Checking activity reminders 
[2026-04-26 13:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:25:29] [INFO] Checking activity reminders 
[2026-04-26 13:25:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:25:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:25:48] [INFO] Activity save request {"post_data":{"contact_id":"17275","deal_id":"local_69b73f4139ea65.15857498","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک \/ هدف تمدید","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:25:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"17275","note_was_empty":true}
[2026-04-26 13:25:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"17275","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:48] [INFO] Updating virtual stage {"contact_id":"17275","stage_name":"deal_registered","force":false}
[2026-04-26 13:25:48] [INFO] Virtual stage successfully saved {"contact_id":"17275","stage_name":"deal_registered"}
[2026-04-26 13:25:48] [INFO] Virtual stage updated after activity save {"contact_id":"17275"}
[2026-04-26 13:25:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b73f4139ea65.15857498","stage":"تماس پیگیری","status_change":null}
[2026-04-26 13:25:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede124b59be0.39028451","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede124b59be0.39028451"}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:48] [INFO] Updating virtual stage {"contact_id":"17275","stage_name":"deal_registered","force":false}
[2026-04-26 13:25:48] [INFO] Virtual stage successfully saved {"contact_id":"17275","stage_name":"deal_registered"}
[2026-04-26 13:25:48] [INFO] Virtual stage updated after activity save {"contact_id":"17275"}
[2026-04-26 13:25:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17275","person_id":"20710"}
[2026-04-26 13:25:58] [INFO] Checking activity reminders 
[2026-04-26 13:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:25:59] [INFO] Checking activity reminders 
[2026-04-26 13:25:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:25:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:26:28] [INFO] Checking activity reminders 
[2026-04-26 13:26:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:26:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:26:29] [INFO] Checking activity reminders 
[2026-04-26 13:26:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:26:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:26:58] [INFO] Checking activity reminders 
[2026-04-26 13:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:26:59] [INFO] Checking activity reminders 
[2026-04-26 13:26:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:26:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:27:29] [INFO] Checking activity reminders 
[2026-04-26 13:27:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:27:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:27:29] [INFO] Checking activity reminders 
[2026-04-26 13:27:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:27:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:27:59] [INFO] Checking activity reminders 
[2026-04-26 13:27:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:27:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:28:00] [INFO] Checking activity reminders 
[2026-04-26 13:28:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:28:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:28:29] [INFO] Checking activity reminders 
[2026-04-26 13:28:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:28:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:28:30] [INFO] Checking activity reminders 
[2026-04-26 13:28:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:28:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:28:59] [INFO] Checking activity reminders 
[2026-04-26 13:28:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:28:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:29:00] [INFO] Checking activity reminders 
[2026-04-26 13:29:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:29:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:29:29] [INFO] Checking activity reminders 
[2026-04-26 13:29:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:29:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:29:30] [INFO] Checking activity reminders 
[2026-04-26 13:29:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:29:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:29:59] [INFO] Checking activity reminders 
[2026-04-26 13:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:30:00] [INFO] Checking activity reminders 
[2026-04-26 13:30:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:30:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:30:29] [INFO] Checking activity reminders 
[2026-04-26 13:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:30:30] [INFO] Checking activity reminders 
[2026-04-26 13:30:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:30:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:30:59] [INFO] Checking activity reminders 
[2026-04-26 13:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:31:00] [INFO] Checking activity reminders 
[2026-04-26 13:31:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:31:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:31:29] [INFO] Checking activity reminders 
[2026-04-26 13:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:31:30] [INFO] Checking activity reminders 
[2026-04-26 13:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:31:59] [INFO] Checking activity reminders 
[2026-04-26 13:31:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:31:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:32:00] [INFO] Checking activity reminders 
[2026-04-26 13:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:32:30] [INFO] Checking activity reminders 
[2026-04-26 13:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:32:30] [INFO] Checking activity reminders 
[2026-04-26 13:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:33:00] [INFO] Checking activity reminders 
[2026-04-26 13:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:33:01] [INFO] Checking activity reminders 
[2026-04-26 13:33:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:33:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:33:30] [INFO] Checking activity reminders 
[2026-04-26 13:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:33:31] [INFO] Checking activity reminders 
[2026-04-26 13:33:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:33:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:34:00] [INFO] Checking activity reminders 
[2026-04-26 13:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:34:01] [INFO] Checking activity reminders 
[2026-04-26 13:34:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:34:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:34:31] [INFO] Checking activity reminders 
[2026-04-26 13:34:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:34:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:35:01] [INFO] Checking activity reminders 
[2026-04-26 13:35:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:35:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:35:31] [INFO] Checking activity reminders 
[2026-04-26 13:35:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:35:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:36:01] [INFO] Checking activity reminders 
[2026-04-26 13:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:36:31] [INFO] Checking activity reminders 
[2026-04-26 13:36:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:36:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:37:01] [INFO] Checking activity reminders 
[2026-04-26 13:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:37:12] [INFO] Checking activity reminders 
[2026-04-26 13:37:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:37:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:37:31] [INFO] Checking activity reminders 
[2026-04-26 13:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:37:43] [INFO] Checking activity reminders 
[2026-04-26 13:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:38:01] [INFO] Checking activity reminders 
[2026-04-26 13:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:38:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:38:13] [INFO] Checking activity reminders 
[2026-04-26 13:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:38:31] [INFO] Checking activity reminders 
[2026-04-26 13:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:38:43] [INFO] Checking activity reminders 
[2026-04-26 13:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:39:01] [INFO] Checking activity reminders 
[2026-04-26 13:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:39:13] [INFO] Checking activity reminders 
[2026-04-26 13:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:39:32] [INFO] Checking activity reminders 
[2026-04-26 13:39:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:39:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:39:43] [INFO] Checking activity reminders 
[2026-04-26 13:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:40:02] [INFO] Checking activity reminders 
[2026-04-26 13:40:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:40:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:40:13] [INFO] Checking activity reminders 
[2026-04-26 13:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:40:32] [INFO] Checking activity reminders 
[2026-04-26 13:40:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:40:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:40:44] [INFO] Checking activity reminders 
[2026-04-26 13:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:41:02] [INFO] Checking activity reminders 
[2026-04-26 13:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:41:14] [INFO] Checking activity reminders 
[2026-04-26 13:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:41:18] [INFO] Activity save request {"post_data":{"contact_id":"2956","deal_id":"local_69b2c30305dbd9.61403963","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"25 اردیبهشت تسویه میکنه \/ حسین زاده 9159328009 معرفی کرده پرزنت شده","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:41:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2956","note_was_empty":true}
[2026-04-26 13:41:18] [INFO] Didar write disabled; saving activity locally {"contact_id":"2956","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:18] [INFO] Updating virtual stage {"contact_id":"2956","stage_name":"deal_registered","force":false}
[2026-04-26 13:41:18] [INFO] Virtual stage successfully saved {"contact_id":"2956","stage_name":"deal_registered"}
[2026-04-26 13:41:18] [INFO] Virtual stage updated after activity save {"contact_id":"2956"}
[2026-04-26 13:41:18] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b2c30305dbd9.61403963","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-26 13:41:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede4c6b779e4.55618767","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede4c6b779e4.55618767"}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:18] [INFO] Updating virtual stage {"contact_id":"2956","stage_name":"deal_registered","force":false}
[2026-04-26 13:41:18] [INFO] Virtual stage successfully saved {"contact_id":"2956","stage_name":"deal_registered"}
[2026-04-26 13:41:18] [INFO] Virtual stage updated after activity save {"contact_id":"2956"}
[2026-04-26 13:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2956","person_id":"14298"}
[2026-04-26 13:41:32] [INFO] Checking activity reminders 
[2026-04-26 13:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:41:44] [INFO] Checking activity reminders 
[2026-04-26 13:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:42:02] [INFO] Checking activity reminders 
[2026-04-26 13:42:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:42:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:42:14] [INFO] Checking activity reminders 
[2026-04-26 13:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:42:32] [INFO] Checking activity reminders 
[2026-04-26 13:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:42:44] [INFO] Checking activity reminders 
[2026-04-26 13:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:43:02] [INFO] Checking activity reminders 
[2026-04-26 13:43:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:43:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:43:14] [INFO] Checking activity reminders 
[2026-04-26 13:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:43:32] [INFO] Checking activity reminders 
[2026-04-26 13:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:43:44] [INFO] Checking activity reminders 
[2026-04-26 13:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:44:02] [INFO] Checking activity reminders 
[2026-04-26 13:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:44:14] [INFO] Checking activity reminders 
[2026-04-26 13:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:44:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:44:32] [INFO] Checking activity reminders 
[2026-04-26 13:44:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:44:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:44:44] [INFO] Checking activity reminders 
[2026-04-26 13:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:45:02] [INFO] Checking activity reminders 
[2026-04-26 13:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:45:15] [INFO] Checking activity reminders 
[2026-04-26 13:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:45:32] [INFO] Checking activity reminders 
[2026-04-26 13:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:45:45] [INFO] Checking activity reminders 
[2026-04-26 13:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:46:02] [INFO] Checking activity reminders 
[2026-04-26 13:46:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:46:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:46:15] [INFO] Checking activity reminders 
[2026-04-26 13:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:46:33] [INFO] Checking activity reminders 
[2026-04-26 13:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:46:45] [INFO] Checking activity reminders 
[2026-04-26 13:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:47:03] [INFO] Checking activity reminders 
[2026-04-26 13:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:47:15] [INFO] Checking activity reminders 
[2026-04-26 13:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:47:33] [INFO] Checking activity reminders 
[2026-04-26 13:47:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:47:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:47:45] [INFO] Checking activity reminders 
[2026-04-26 13:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:48:03] [INFO] Checking activity reminders 
[2026-04-26 13:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:48:15] [INFO] Checking activity reminders 
[2026-04-26 13:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:48:33] [INFO] Checking activity reminders 
[2026-04-26 13:48:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:48:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:48:45] [INFO] Checking activity reminders 
[2026-04-26 13:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:49:03] [INFO] Checking activity reminders 
[2026-04-26 13:49:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:49:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:49:16] [INFO] Checking activity reminders 
[2026-04-26 13:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:49:33] [INFO] Checking activity reminders 
[2026-04-26 13:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:49:46] [INFO] Checking activity reminders 
[2026-04-26 13:49:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:49:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:50:04] [INFO] Checking activity reminders 
[2026-04-26 13:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:50:16] [INFO] Checking activity reminders 
[2026-04-26 13:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:50:34] [INFO] Checking activity reminders 
[2026-04-26 13:50:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:50:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:50:46] [INFO] Checking activity reminders 
[2026-04-26 13:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:51:04] [INFO] Checking activity reminders 
[2026-04-26 13:51:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:51:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:51:16] [INFO] Checking activity reminders 
[2026-04-26 13:51:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:51:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:51:34] [INFO] Checking activity reminders 
[2026-04-26 13:51:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:51:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:51:46] [INFO] Checking activity reminders 
[2026-04-26 13:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:52:04] [INFO] Checking activity reminders 
[2026-04-26 13:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:52:14] [INFO] Checking activity reminders 
[2026-04-26 13:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:52:16] [INFO] Checking activity reminders 
[2026-04-26 13:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:52:34] [INFO] Checking activity reminders 
[2026-04-26 13:52:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:52:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:52:46] [INFO] Activity save request {"post_data":{"contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:52:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12007","note_was_empty":true}
[2026-04-26 13:52:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"12007","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Updating virtual stage {"contact_id":"12007","stage_name":"deal_registered","force":false}
[2026-04-26 13:52:46] [INFO] Virtual stage successfully saved {"contact_id":"12007","stage_name":"deal_registered"}
[2026-04-26 13:52:46] [INFO] Virtual stage updated after activity save {"contact_id":"12007"}
[2026-04-26 13:52:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e5e4cd97ec13.18287078","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-26 13:52:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede77644bed9.71279706","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede77644bed9.71279706"}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Updating virtual stage {"contact_id":"12007","stage_name":"deal_registered","force":false}
[2026-04-26 13:52:46] [INFO] Virtual stage successfully saved {"contact_id":"12007","stage_name":"deal_registered"}
[2026-04-26 13:52:46] [INFO] Virtual stage updated after activity save {"contact_id":"12007"}
[2026-04-26 13:52:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:52:46] [INFO] Checking activity reminders 
[2026-04-26 13:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:53:04] [INFO] Checking activity reminders 
[2026-04-26 13:53:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:53:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:53:16] [INFO] Checking activity reminders 
[2026-04-26 13:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:53:34] [INFO] Checking activity reminders 
[2026-04-26 13:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:53:46] [INFO] Checking activity reminders 
[2026-04-26 13:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:54:04] [INFO] Checking activity reminders 
[2026-04-26 13:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:54:16] [INFO] Checking activity reminders 
[2026-04-26 13:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:54:21] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 13:54:21","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 13:54:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:54:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:54:21] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"12007","is_new_deal":false}
[2026-04-26 13:54:21] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 13:54:21] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 13:54:21] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 13:54:21] [INFO] getContactPrimaryPhone called {"contact_id":"12007"}
[2026-04-26 13:54:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:54:21] [INFO] getContactPrimaryPhone result {"contact_id":"12007","person_found":true,"primary_phone":"9144884467"}
[2026-04-26 13:54:21] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144884467"}
[2026-04-26 13:54:21] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144884467","contact_id":"12007","deal_id":"local_69e5e4cd97ec13.18287078","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 13:54:21"}
[2026-04-26 13:54:21] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","existing_deal_found":true,"existing_contact_id":"12007","existing_title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 13:54:21"}
[2026-04-26 13:54:21] [INFO] DealController.save validated payments {"deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","payments_count":0,"status":"lost","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-26 13:54:21] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12007","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 13:54:21] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e5e4cd97ec13.18287078","contact_didar_id":"12007","title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9144884467","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"lost","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خضر نژاد","existing_deal":"YES","existing_deal_id":"local_69e5e4cd97ec13.18287078","existing_deal_status":"Pending","server_time":"2026-04-26 13:54:21","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 13:54:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:54:21] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e5e4cd97ec13.18287078","contact_id":"12007","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9144884467 | کانال VIP با پشتیبانی شش ماهه","deal_status":"lost","pipeline_stage":"تماس عدم پاسخ","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-26 13:54:21","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 13:54:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12007","person_id":"18290"}
[2026-04-26 13:54:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:54:34] [INFO] Checking activity reminders 
[2026-04-26 13:54:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:54:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:54:47] [INFO] Checking activity reminders 
[2026-04-26 13:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:55:04] [INFO] Checking activity reminders 
[2026-04-26 13:55:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:55:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:55:17] [INFO] Checking activity reminders 
[2026-04-26 13:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:55:35] [INFO] Checking activity reminders 
[2026-04-26 13:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:55:47] [INFO] Checking activity reminders 
[2026-04-26 13:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:56:05] [INFO] Checking activity reminders 
[2026-04-26 13:56:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:56:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:56:17] [INFO] Checking activity reminders 
[2026-04-26 13:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:56:35] [INFO] Checking activity reminders 
[2026-04-26 13:56:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:56:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:56:47] [INFO] Checking activity reminders 
[2026-04-26 13:56:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:56:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:57:05] [INFO] Checking activity reminders 
[2026-04-26 13:57:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:57:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:57:17] [INFO] Checking activity reminders 
[2026-04-26 13:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:57:35] [INFO] Checking activity reminders 
[2026-04-26 13:57:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:57:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:57:47] [INFO] Checking activity reminders 
[2026-04-26 13:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:58:05] [INFO] Checking activity reminders 
[2026-04-26 13:58:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:58:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:58:06] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_28","deal_id":"local_69b7417ddbc365.66921775","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه 25 خرداد \/ تا اون موقع چند مرحله خورد خورد میزنه\r\nالان 16ت زد \/ \r\n","activity_duration":"30","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:58:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_1403_09_26_28","note_was_empty":true}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:06] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 13:58:06] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 13:58:06] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 13:58:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b7417ddbc365.66921775","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-26 13:58:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede8b6b775f5.47620074","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede8b6b775f5.47620074"}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:06] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered","force":false}
[2026-04-26 13:58:06] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_28","stage_name":"deal_registered"}
[2026-04-26 13:58:06] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_28"}
[2026-04-26 13:58:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 13:58:17] [INFO] Checking activity reminders 
[2026-04-26 13:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:58:35] [INFO] Checking activity reminders 
[2026-04-26 13:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:58:47] [INFO] Checking activity reminders 
[2026-04-26 13:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:58:48] [INFO] Activity save request {"post_data":{"contact_id":"2078","deal_id":"local_69d695612b3f22.02031521","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر کارهای دفتر و زمین \r\nبهش گفتم از اطلاعات کانال جا میمونی \r\nمیگه تا عصر چک ها رو ارسال میکنم و واریز انجام میدم \r\n","activity_duration":"10","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:58:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 13:58:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:58:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2078","note_was_empty":true}
[2026-04-26 13:58:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"2078","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:58:48] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-26 13:58:48] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-26 13:58:48] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-26 13:58:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d695612b3f22.02031521","stage":"تماس پیگیری","status_change":null}
[2026-04-26 13:58:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede8e093c8e0.48708960","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:58:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede8e093c8e0.48708960"}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:58:48] [INFO] Updating virtual stage {"contact_id":"2078","stage_name":"deal_registered","force":false}
[2026-04-26 13:58:48] [INFO] Virtual stage successfully saved {"contact_id":"2078","stage_name":"deal_registered"}
[2026-04-26 13:58:48] [INFO] Virtual stage updated after activity save {"contact_id":"2078"}
[2026-04-26 13:58:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2078","person_id":"17486"}
[2026-04-26 13:59:05] [INFO] Checking activity reminders 
[2026-04-26 13:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:59:17] [INFO] Checking activity reminders 
[2026-04-26 13:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:59:35] [INFO] Checking activity reminders 
[2026-04-26 13:59:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:59:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 13:59:47] [INFO] Checking activity reminders 
[2026-04-26 13:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 13:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:00:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:05] [INFO] Checking activity reminders 
[2026-04-26 14:00:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:00:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:00:18] [INFO] Checking activity reminders 
[2026-04-26 14:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:00:36] [INFO] Checking activity reminders 
[2026-04-26 14:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:00:46] [INFO] Activity save request {"post_data":{"contact_id":"local_694b7d4f4be706.92768057","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مریض داشت \r\nمنشی جواب داد \r\nشرایط صحبت نداشت \r\nارسال پیام در بله و پیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 14:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 14:00:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 14:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_694b7d4f4be706.92768057","note_was_empty":true}
[2026-04-26 14:00:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ede956696d33.05367272","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 14:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ede956696d33.05367272"}
[2026-04-26 14:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:46] [INFO] Updating virtual stage {"contact_id":"local_694b7d4f4be706.92768057","stage_name":"with_purchase","force":false}
[2026-04-26 14:00:46] [INFO] Virtual stage successfully saved {"contact_id":"local_694b7d4f4be706.92768057","stage_name":"with_purchase"}
[2026-04-26 14:00:46] [INFO] Virtual stage updated after activity save {"contact_id":"local_694b7d4f4be706.92768057"}
[2026-04-26 14:00:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7d4f4be706.92768057","person_id":"21330"}
[2026-04-26 14:00:48] [INFO] Checking activity reminders 
[2026-04-26 14:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:01:06] [INFO] Checking activity reminders 
[2026-04-26 14:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:01:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:01:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:01:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:01:17] [INFO] generateDealTitle result {"contact_id":"20834","person_name":"عبدالهی","mobile":"9130434854","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9130434854"}
[2026-04-26 14:01:18] [INFO] Checking activity reminders 
[2026-04-26 14:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:01:36] [INFO] Checking activity reminders 
[2026-04-26 14:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:01:48] [INFO] Checking activity reminders 
[2026-04-26 14:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:02:06] [INFO] Checking activity reminders 
[2026-04-26 14:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:02:18] [INFO] Checking activity reminders 
[2026-04-26 14:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:02:36] [INFO] Checking activity reminders 
[2026-04-26 14:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:02:48] [INFO] Checking activity reminders 
[2026-04-26 14:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:03:06] [INFO] Checking activity reminders 
[2026-04-26 14:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:03:18] [INFO] Checking activity reminders 
[2026-04-26 14:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:03:36] [INFO] Checking activity reminders 
[2026-04-26 14:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:03:48] [INFO] Checking activity reminders 
[2026-04-26 14:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:04:06] [INFO] Checking activity reminders 
[2026-04-26 14:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:04:18] [INFO] Checking activity reminders 
[2026-04-26 14:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:04:36] [INFO] Checking activity reminders 
[2026-04-26 14:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:04:48] [INFO] Checking activity reminders 
[2026-04-26 14:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:05:06] [INFO] Checking activity reminders 
[2026-04-26 14:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb4d84c5e3.14540339","person_id":"21357"}
[2026-04-26 14:05:18] [INFO] Checking activity reminders 
[2026-04-26 14:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:05:37] [INFO] Checking activity reminders 
[2026-04-26 14:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694cdb6c4dece5.80552545","person_id":"21358"}
[2026-04-26 14:05:48] [INFO] Checking activity reminders 
[2026-04-26 14:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:06:07] [INFO] Checking activity reminders 
[2026-04-26 14:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:06:19] [INFO] Checking activity reminders 
[2026-04-26 14:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:06:27] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20834","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 14:06:27","session_id":"lcomtd0elmes7j647egbf3eu6u"}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20834","is_new_deal":true}
[2026-04-26 14:06:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 14:06:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 14:06:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-26 14:06:27] [INFO] getContactPrimaryPhone called {"contact_id":"20834"}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:27] [INFO] getContactPrimaryPhone result {"contact_id":"20834","person_found":true,"primary_phone":"9130434854"}
[2026-04-26 14:06:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9130434854"}
[2026-04-26 14:06:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9130434854","contact_id":"20834","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-26 14:06:27"}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:27] [INFO] generateDealTitle result {"contact_id":"20834","person_name":"عبدالهی","mobile":"9130434854","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9130434854"}
[2026-04-26 14:06:27] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"20834","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-26 14:06:27] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20834","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 14:06:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"20834","title":"معامله دوم 9130434854 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9130434854","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":13500000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عبدالهی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-26 14:06:27","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:27] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-26 14:06:27] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"20834","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9130434854 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":13500000,"server_time":"2026-04-26 14:06:27","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 14:06:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:06:37] [INFO] Checking activity reminders 
[2026-04-26 14:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:06:49] [INFO] Checking activity reminders 
[2026-04-26 14:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:07:00] [INFO] Activity save request {"post_data":{"contact_id":"20834","deal_id":"local_69edeaaba37789.46100701","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بدون مشاوره 27 ت تمدید کرد \/ 13500 زد الان \/ تسویه 25 اردیبهشت","activity_duration":"15","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 14:07:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20834","note_was_empty":true}
[2026-04-26 14:07:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"20834","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:00] [INFO] Updating virtual stage {"contact_id":"20834","stage_name":"deal_registered","force":false}
[2026-04-26 14:07:00] [INFO] Virtual stage successfully saved {"contact_id":"20834","stage_name":"deal_registered"}
[2026-04-26 14:07:00] [INFO] Virtual stage updated after activity save {"contact_id":"20834"}
[2026-04-26 14:07:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69edeaaba37789.46100701","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-26 14:07:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edeacc1b18e6.32847625","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69edeacc1b18e6.32847625"}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:00] [INFO] Updating virtual stage {"contact_id":"20834","stage_name":"deal_registered","force":false}
[2026-04-26 14:07:00] [INFO] Virtual stage successfully saved {"contact_id":"20834","stage_name":"deal_registered"}
[2026-04-26 14:07:00] [INFO] Virtual stage updated after activity save {"contact_id":"20834"}
[2026-04-26 14:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:07:07] [INFO] Checking activity reminders 
[2026-04-26 14:07:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:07:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:07:12] [INFO] Checking activity reminders 
[2026-04-26 14:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:07:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:07:26] [INFO] Lead update received {"contact_id":"8044","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 14:07:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:07:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:07:26] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8044"}
[2026-04-26 14:07:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:07:37] [INFO] Checking activity reminders 
[2026-04-26 14:07:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:07:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:07:42] [INFO] Checking activity reminders 
[2026-04-26 14:07:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:07:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:08:07] [INFO] Checking activity reminders 
[2026-04-26 14:08:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:08:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:08:12] [INFO] Checking activity reminders 
[2026-04-26 14:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:08:37] [INFO] Checking activity reminders 
[2026-04-26 14:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:08:43] [INFO] Checking activity reminders 
[2026-04-26 14:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:08:56] [INFO] Activity save request {"post_data":{"contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه انجام شد \/ پشتیبانی کانال","activity_duration":"20","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 14:08:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"8044","note_was_empty":true}
[2026-04-26 14:08:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"8044","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Updating virtual stage {"contact_id":"8044","stage_name":"with_purchase","force":false}
[2026-04-26 14:08:56] [INFO] Virtual stage successfully saved {"contact_id":"8044","stage_name":"with_purchase"}
[2026-04-26 14:08:56] [INFO] Virtual stage updated after activity save {"contact_id":"8044"}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6ab233dc237.07267917","stage":"اتمام","status_change":"Won"}
[2026-04-26 14:08:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69edeb40a68f61.78486269","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69edeb40a68f61.78486269"}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:08:56] [INFO] Updating virtual stage {"contact_id":"8044","stage_name":"with_purchase","force":false}
[2026-04-26 14:08:56] [INFO] Virtual stage successfully saved {"contact_id":"8044","stage_name":"with_purchase"}
[2026-04-26 14:08:56] [INFO] Virtual stage updated after activity save {"contact_id":"8044"}
[2026-04-26 14:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-26 14:09:07] [INFO] Checking activity reminders 
[2026-04-26 14:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:09:13] [INFO] Checking activity reminders 
[2026-04-26 14:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:09:39] [INFO] Checking activity reminders 
[2026-04-26 14:09:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:09:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:09:43] [INFO] Checking activity reminders 
[2026-04-26 14:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:10:09] [INFO] Checking activity reminders 
[2026-04-26 14:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:10:13] [INFO] Checking activity reminders 
[2026-04-26 14:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:10:39] [INFO] Checking activity reminders 
[2026-04-26 14:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:10:43] [INFO] Checking activity reminders 
[2026-04-26 14:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:11:09] [INFO] Checking activity reminders 
[2026-04-26 14:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:11:13] [INFO] Checking activity reminders 
[2026-04-26 14:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:11:39] [INFO] Checking activity reminders 
[2026-04-26 14:11:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:11:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:11:43] [INFO] Checking activity reminders 
[2026-04-26 14:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:12:10] [INFO] Checking activity reminders 
[2026-04-26 14:12:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:12:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:12:13] [INFO] Checking activity reminders 
[2026-04-26 14:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:12:40] [INFO] Checking activity reminders 
[2026-04-26 14:12:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:12:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:12:44] [INFO] Checking activity reminders 
[2026-04-26 14:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:13:10] [INFO] Checking activity reminders 
[2026-04-26 14:13:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:13:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:13:14] [INFO] Checking activity reminders 
[2026-04-26 14:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:13:40] [INFO] Checking activity reminders 
[2026-04-26 14:13:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:13:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:13:44] [INFO] Checking activity reminders 
[2026-04-26 14:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:14:10] [INFO] Checking activity reminders 
[2026-04-26 14:14:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:14:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:14:14] [INFO] Checking activity reminders 
[2026-04-26 14:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:14:40] [INFO] Checking activity reminders 
[2026-04-26 14:14:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:14:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:14:44] [INFO] Checking activity reminders 
[2026-04-26 14:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:15:10] [INFO] Checking activity reminders 
[2026-04-26 14:15:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:15:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:15:14] [INFO] Checking activity reminders 
[2026-04-26 14:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:15:40] [INFO] Checking activity reminders 
[2026-04-26 14:15:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:15:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:15:44] [INFO] Checking activity reminders 
[2026-04-26 14:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:16:10] [INFO] Checking activity reminders 
[2026-04-26 14:16:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:16:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:16:14] [INFO] Checking activity reminders 
[2026-04-26 14:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:16:40] [INFO] Checking activity reminders 
[2026-04-26 14:16:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:16:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:16:44] [INFO] Checking activity reminders 
[2026-04-26 14:16:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:16:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:17:10] [INFO] Checking activity reminders 
[2026-04-26 14:17:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:17:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:17:14] [INFO] Checking activity reminders 
[2026-04-26 14:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:17:40] [INFO] Checking activity reminders 
[2026-04-26 14:17:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:17:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:17:44] [INFO] Checking activity reminders 
[2026-04-26 14:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:18:10] [INFO] Checking activity reminders 
[2026-04-26 14:18:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:18:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:18:14] [INFO] Checking activity reminders 
[2026-04-26 14:18:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:18:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:18:40] [INFO] Checking activity reminders 
[2026-04-26 14:18:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:18:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:18:45] [INFO] Checking activity reminders 
[2026-04-26 14:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:19:11] [INFO] Checking activity reminders 
[2026-04-26 14:19:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:19:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:19:15] [INFO] Checking activity reminders 
[2026-04-26 14:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:19:41] [INFO] Checking activity reminders 
[2026-04-26 14:19:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:19:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:19:45] [INFO] Checking activity reminders 
[2026-04-26 14:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:20:11] [INFO] Checking activity reminders 
[2026-04-26 14:20:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:20:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:20:15] [INFO] Checking activity reminders 
[2026-04-26 14:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:20:41] [INFO] Checking activity reminders 
[2026-04-26 14:20:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:20:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:20:45] [INFO] Checking activity reminders 
[2026-04-26 14:20:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:20:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:21:11] [INFO] Checking activity reminders 
[2026-04-26 14:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:21:15] [INFO] Checking activity reminders 
[2026-04-26 14:21:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:21:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:21:41] [INFO] Checking activity reminders 
[2026-04-26 14:21:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:21:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:21:45] [INFO] Checking activity reminders 
[2026-04-26 14:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:22:11] [INFO] Checking activity reminders 
[2026-04-26 14:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:22:15] [INFO] Checking activity reminders 
[2026-04-26 14:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:22:41] [INFO] Checking activity reminders 
[2026-04-26 14:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:22:45] [INFO] Checking activity reminders 
[2026-04-26 14:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:23:00] [WARNING] Auth check failed - not authenticated {"session_id":"e8c0137b96ebh5stqp580d58q5","session_keys":[],"action":"log_client_event"}
[2026-04-26 14:23:00] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 14:23:00] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 14:23:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 14:23:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 14:23:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 14:23:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 14:23:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 14:23:11] [INFO] Checking activity reminders 
[2026-04-26 14:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:23:30] [INFO] Checking activity reminders 
[2026-04-26 14:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:23:41] [INFO] Checking activity reminders 
[2026-04-26 14:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:23:52] [INFO] Checking activity reminders 
[2026-04-26 14:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:24:11] [INFO] Checking activity reminders 
[2026-04-26 14:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:24:42] [INFO] Checking activity reminders 
[2026-04-26 14:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:25:12] [INFO] Checking activity reminders 
[2026-04-26 14:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:25:32] [INFO] Checking activity reminders 
[2026-04-26 14:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:25:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 14:25:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 14:25:51] [INFO] Checking activity reminders 
[2026-04-26 14:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:26:21] [INFO] Checking activity reminders 
[2026-04-26 14:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:26:52] [INFO] Checking activity reminders 
[2026-04-26 14:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:27:22] [INFO] Checking activity reminders 
[2026-04-26 14:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:27:52] [INFO] Checking activity reminders 
[2026-04-26 14:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:27:52] [INFO] Checking activity reminders 
[2026-04-26 14:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:28:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 14:28:22] [INFO] Checking activity reminders 
[2026-04-26 14:28:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:28:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:28:52] [INFO] Checking activity reminders 
[2026-04-26 14:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:29:22] [INFO] Checking activity reminders 
[2026-04-26 14:29:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:29:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:29:52] [INFO] Checking activity reminders 
[2026-04-26 14:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:30:22] [INFO] Checking activity reminders 
[2026-04-26 14:30:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:30:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:30:52] [INFO] Checking activity reminders 
[2026-04-26 14:30:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:30:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:31:22] [INFO] Checking activity reminders 
[2026-04-26 14:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:31:52] [INFO] Checking activity reminders 
[2026-04-26 14:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:32:22] [INFO] Checking activity reminders 
[2026-04-26 14:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:32:52] [INFO] Checking activity reminders 
[2026-04-26 14:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:33:23] [INFO] Checking activity reminders 
[2026-04-26 14:33:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:33:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:33:53] [INFO] Checking activity reminders 
[2026-04-26 14:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:33:54] [WARNING] Auth check failed - not authenticated {"session_id":"8t05dcfmit4m0h6v7v7n2gopbe","session_keys":[],"action":"check_reminders"}
[2026-04-26 14:33:54] [WARNING] Auth check failed - not authenticated {"session_id":"8t05dcfmit4m0h6v7v7n2gopbe","session_keys":[],"action":"log_client_event"}
[2026-04-26 14:33:54] [WARNING] Auth check failed - not authenticated {"session_id":"8t05dcfmit4m0h6v7v7n2gopbe","session_keys":[],"action":"log_client_event"}
[2026-04-26 14:34:23] [INFO] Checking activity reminders 
[2026-04-26 14:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:34:53] [INFO] Checking activity reminders 
[2026-04-26 14:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:35:23] [INFO] Checking activity reminders 
[2026-04-26 14:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:35:53] [INFO] Checking activity reminders 
[2026-04-26 14:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:36:23] [INFO] Checking activity reminders 
[2026-04-26 14:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:36:53] [INFO] Checking activity reminders 
[2026-04-26 14:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:37:23] [INFO] Checking activity reminders 
[2026-04-26 14:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:37:54] [INFO] Checking activity reminders 
[2026-04-26 14:37:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:37:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:38:24] [INFO] Checking activity reminders 
[2026-04-26 14:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:38:54] [INFO] Checking activity reminders 
[2026-04-26 14:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:39:24] [INFO] Checking activity reminders 
[2026-04-26 14:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:39:54] [INFO] Checking activity reminders 
[2026-04-26 14:39:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:39:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:40:24] [INFO] Checking activity reminders 
[2026-04-26 14:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:40:54] [INFO] Checking activity reminders 
[2026-04-26 14:40:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:40:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:41:24] [INFO] Checking activity reminders 
[2026-04-26 14:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:41:54] [INFO] Checking activity reminders 
[2026-04-26 14:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:42:25] [INFO] Checking activity reminders 
[2026-04-26 14:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:42:55] [INFO] Checking activity reminders 
[2026-04-26 14:42:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:42:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:43:25] [INFO] Checking activity reminders 
[2026-04-26 14:43:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:43:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:43:55] [INFO] Checking activity reminders 
[2026-04-26 14:43:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:43:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:44:25] [INFO] Checking activity reminders 
[2026-04-26 14:44:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:44:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:44:55] [INFO] Checking activity reminders 
[2026-04-26 14:44:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:44:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:45:25] [INFO] Checking activity reminders 
[2026-04-26 14:45:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:45:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:45:55] [INFO] Checking activity reminders 
[2026-04-26 14:45:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:45:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:46:25] [INFO] Checking activity reminders 
[2026-04-26 14:46:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:46:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:46:55] [INFO] Checking activity reminders 
[2026-04-26 14:46:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:46:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:47:25] [INFO] Checking activity reminders 
[2026-04-26 14:47:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:47:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:47:55] [INFO] Checking activity reminders 
[2026-04-26 14:47:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:47:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:48:25] [INFO] Checking activity reminders 
[2026-04-26 14:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:48:56] [INFO] Checking activity reminders 
[2026-04-26 14:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:49:26] [INFO] Checking activity reminders 
[2026-04-26 14:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:49:56] [INFO] Checking activity reminders 
[2026-04-26 14:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:50:26] [INFO] Checking activity reminders 
[2026-04-26 14:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:50:56] [INFO] Checking activity reminders 
[2026-04-26 14:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:51:26] [INFO] Checking activity reminders 
[2026-04-26 14:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:51:56] [INFO] Checking activity reminders 
[2026-04-26 14:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:52:26] [INFO] Checking activity reminders 
[2026-04-26 14:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:52:56] [INFO] Checking activity reminders 
[2026-04-26 14:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:53:26] [INFO] Checking activity reminders 
[2026-04-26 14:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:53:56] [INFO] Checking activity reminders 
[2026-04-26 14:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:54:26] [INFO] Checking activity reminders 
[2026-04-26 14:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:54:57] [INFO] Checking activity reminders 
[2026-04-26 14:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:55:27] [INFO] Checking activity reminders 
[2026-04-26 14:55:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:55:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:55:57] [INFO] Checking activity reminders 
[2026-04-26 14:55:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:55:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:56:27] [INFO] Checking activity reminders 
[2026-04-26 14:56:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:56:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:56:57] [INFO] Checking activity reminders 
[2026-04-26 14:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:57:27] [INFO] Checking activity reminders 
[2026-04-26 14:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:57:57] [INFO] Checking activity reminders 
[2026-04-26 14:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:58:27] [INFO] Checking activity reminders 
[2026-04-26 14:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:58:57] [INFO] Checking activity reminders 
[2026-04-26 14:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:59:27] [INFO] Checking activity reminders 
[2026-04-26 14:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 14:59:57] [INFO] Checking activity reminders 
[2026-04-26 14:59:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 14:59:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:00:27] [INFO] Checking activity reminders 
[2026-04-26 15:00:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:00:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:00:57] [INFO] Checking activity reminders 
[2026-04-26 15:00:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:00:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:01:28] [INFO] Checking activity reminders 
[2026-04-26 15:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:01:58] [INFO] Checking activity reminders 
[2026-04-26 15:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:02:28] [INFO] Checking activity reminders 
[2026-04-26 15:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:02:58] [INFO] Checking activity reminders 
[2026-04-26 15:02:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:02:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:03:28] [INFO] Checking activity reminders 
[2026-04-26 15:03:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:03:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:03:58] [INFO] Checking activity reminders 
[2026-04-26 15:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:04:28] [INFO] Checking activity reminders 
[2026-04-26 15:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:04:58] [INFO] Checking activity reminders 
[2026-04-26 15:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:05:28] [INFO] Checking activity reminders 
[2026-04-26 15:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:05:58] [INFO] Checking activity reminders 
[2026-04-26 15:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:06:29] [INFO] Checking activity reminders 
[2026-04-26 15:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:06:59] [INFO] Checking activity reminders 
[2026-04-26 15:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:07:29] [INFO] Checking activity reminders 
[2026-04-26 15:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:07:59] [INFO] Checking activity reminders 
[2026-04-26 15:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:08:29] [INFO] Checking activity reminders 
[2026-04-26 15:08:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:08:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:08:59] [INFO] Checking activity reminders 
[2026-04-26 15:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:09:29] [INFO] Checking activity reminders 
[2026-04-26 15:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:09:59] [INFO] Checking activity reminders 
[2026-04-26 15:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:10:29] [INFO] Checking activity reminders 
[2026-04-26 15:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:10:59] [INFO] Checking activity reminders 
[2026-04-26 15:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:11:29] [INFO] Checking activity reminders 
[2026-04-26 15:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:11:31] [INFO] Checking activity reminders 
[2026-04-26 15:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:12:01] [INFO] Checking activity reminders 
[2026-04-26 15:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:12:23] [INFO] Checking activity reminders 
[2026-04-26 15:12:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:12:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:12:53] [INFO] Checking activity reminders 
[2026-04-26 15:12:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:12:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:13:23] [INFO] Checking activity reminders 
[2026-04-26 15:13:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:13:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:13:53] [INFO] Checking activity reminders 
[2026-04-26 15:13:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:13:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:14:23] [INFO] Checking activity reminders 
[2026-04-26 15:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:14:53] [INFO] Checking activity reminders 
[2026-04-26 15:14:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:14:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:15:23] [INFO] Checking activity reminders 
[2026-04-26 15:15:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:15:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:15:53] [INFO] Checking activity reminders 
[2026-04-26 15:15:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:15:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:16:23] [INFO] Checking activity reminders 
[2026-04-26 15:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:16:53] [INFO] Checking activity reminders 
[2026-04-26 15:16:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:16:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:17:24] [INFO] Checking activity reminders 
[2026-04-26 15:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:17:54] [INFO] Checking activity reminders 
[2026-04-26 15:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:18:24] [INFO] Checking activity reminders 
[2026-04-26 15:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:18:54] [INFO] Checking activity reminders 
[2026-04-26 15:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:19:24] [INFO] Checking activity reminders 
[2026-04-26 15:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:19:54] [INFO] Checking activity reminders 
[2026-04-26 15:19:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:19:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:20:20] [INFO] Checking activity reminders 
[2026-04-26 15:20:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:20:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:20:23] [INFO] Checking activity reminders 
[2026-04-26 15:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:20:25] [INFO] Checking activity reminders 
[2026-04-26 15:20:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:20:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:20:55] [INFO] Checking activity reminders 
[2026-04-26 15:20:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:20:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:21:25] [INFO] Checking activity reminders 
[2026-04-26 15:21:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:21:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:21:55] [INFO] Checking activity reminders 
[2026-04-26 15:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:22:25] [INFO] Checking activity reminders 
[2026-04-26 15:22:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:22:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:22:55] [INFO] Checking activity reminders 
[2026-04-26 15:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:23:25] [INFO] Checking activity reminders 
[2026-04-26 15:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:23:27] [INFO] Checking activity reminders 
[2026-04-26 15:23:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:23:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:23:29] [INFO] Checking activity reminders 
[2026-04-26 15:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:23:59] [INFO] Checking activity reminders 
[2026-04-26 15:23:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:23:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:24:29] [INFO] Checking activity reminders 
[2026-04-26 15:24:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:24:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:24:59] [INFO] Checking activity reminders 
[2026-04-26 15:24:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:24:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:25:09] [INFO] Checking activity reminders 
[2026-04-26 15:25:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:25:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:25:39] [INFO] Checking activity reminders 
[2026-04-26 15:25:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:25:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:26:09] [INFO] Checking activity reminders 
[2026-04-26 15:26:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:26:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:26:39] [INFO] Checking activity reminders 
[2026-04-26 15:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:27:09] [INFO] Checking activity reminders 
[2026-04-26 15:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:27:39] [INFO] Checking activity reminders 
[2026-04-26 15:27:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:27:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:28:10] [INFO] Checking activity reminders 
[2026-04-26 15:28:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:28:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:28:40] [INFO] Checking activity reminders 
[2026-04-26 15:28:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:28:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:29:10] [INFO] Checking activity reminders 
[2026-04-26 15:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:29:40] [INFO] Checking activity reminders 
[2026-04-26 15:29:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:29:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:30:10] [INFO] Checking activity reminders 
[2026-04-26 15:30:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:30:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:30:40] [INFO] Checking activity reminders 
[2026-04-26 15:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:31:10] [INFO] Checking activity reminders 
[2026-04-26 15:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:31:40] [INFO] Checking activity reminders 
[2026-04-26 15:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:32:10] [INFO] Checking activity reminders 
[2026-04-26 15:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:32:40] [INFO] Checking activity reminders 
[2026-04-26 15:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:33:10] [INFO] Checking activity reminders 
[2026-04-26 15:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:33:40] [INFO] Checking activity reminders 
[2026-04-26 15:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:34:10] [INFO] Checking activity reminders 
[2026-04-26 15:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:34:41] [INFO] Checking activity reminders 
[2026-04-26 15:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:35:11] [INFO] Checking activity reminders 
[2026-04-26 15:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:35:41] [INFO] Checking activity reminders 
[2026-04-26 15:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:36:11] [INFO] Checking activity reminders 
[2026-04-26 15:36:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:36:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:36:41] [INFO] Checking activity reminders 
[2026-04-26 15:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:36:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:36:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 15:36:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:37:11] [INFO] Checking activity reminders 
[2026-04-26 15:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:37:41] [INFO] Checking activity reminders 
[2026-04-26 15:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:37:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:37:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 15:37:57] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:38:11] [INFO] Checking activity reminders 
[2026-04-26 15:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:38:16] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:38:16] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"check_reminders"}
[2026-04-26 15:38:16] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:38:25] [WARNING] Auth check failed - not authenticated {"session_id":"lcomtd0elmes7j647egbf3eu6u","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:38:26] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-26 15:38:26] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-26 15:38:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 15:38:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 15:38:41] [INFO] Checking activity reminders 
[2026-04-26 15:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:38:56] [INFO] Checking activity reminders 
[2026-04-26 15:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:39:11] [INFO] Checking activity reminders 
[2026-04-26 15:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:39:26] [INFO] Checking activity reminders 
[2026-04-26 15:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:39:41] [INFO] Checking activity reminders 
[2026-04-26 15:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:39:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-26 15:39:56] [INFO] Checking activity reminders 
[2026-04-26 15:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:40:11] [INFO] Checking activity reminders 
[2026-04-26 15:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:40:27] [INFO] Checking activity reminders 
[2026-04-26 15:40:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:40:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:40:42] [INFO] Checking activity reminders 
[2026-04-26 15:40:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:40:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:40:59] [INFO] Checking activity reminders 
[2026-04-26 15:40:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:40:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:41:12] [INFO] Checking activity reminders 
[2026-04-26 15:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:41:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:41:29] [INFO] Checking activity reminders 
[2026-04-26 15:41:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:41:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:41:42] [INFO] Checking activity reminders 
[2026-04-26 15:41:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:41:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:41:59] [INFO] Checking activity reminders 
[2026-04-26 15:41:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:41:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:42:12] [INFO] Checking activity reminders 
[2026-04-26 15:42:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:42:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:42:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"local_1403_09_26_28","deal_id":"local_69b7417ddbc365.66921775","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 15:42:20","session_id":"lcomtd0elmes7j647egbf3eu6u"}
[2026-04-26 15:42:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:42:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:42:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"local_1403_09_26_28","is_new_deal":false}
[2026-04-26 15:42:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-26 15:42:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 15:42:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 15:42:20] [INFO] getContactPrimaryPhone called {"contact_id":"local_1403_09_26_28"}
[2026-04-26 15:42:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:42:20] [INFO] getContactPrimaryPhone result {"contact_id":"local_1403_09_26_28","person_found":true,"primary_phone":"9144774709"}
[2026-04-26 15:42:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9144774709"}
[2026-04-26 15:42:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9144774709","contact_id":"local_1403_09_26_28","deal_id":"local_69b7417ddbc365.66921775","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-26 15:42:20"}
[2026-04-26 15:42:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b7417ddbc365.66921775","contact_id":"local_1403_09_26_28","existing_deal_found":true,"existing_contact_id":"local_1403_09_26_28","existing_title":"معامله اول 9144774709 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-26 15:42:20"}
[2026-04-26 15:42:20] [INFO] DealController.save validated payments {"deal_id":"local_69b7417ddbc365.66921775","contact_id":"local_1403_09_26_28","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-26 15:42:20] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_1403_09_26_28","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 15:42:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b7417ddbc365.66921775","contact_didar_id":"local_1403_09_26_28","title":"معامله اول 9144774709 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9144774709","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":16000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"آذرمی","existing_deal":"YES","existing_deal_id":"local_69b7417ddbc365.66921775","existing_deal_status":"Pending","server_time":"2026-04-26 15:42:20","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-26 15:42:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:42:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b7417ddbc365.66921775","contact_id":"local_1403_09_26_28","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9144774709 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":16000000,"server_time":"2026-04-26 15:42:20","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 15:42:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-26 15:42:29] [INFO] Checking activity reminders 
[2026-04-26 15:42:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:42:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:42:42] [INFO] Checking activity reminders 
[2026-04-26 15:42:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:42:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:42:59] [INFO] Checking activity reminders 
[2026-04-26 15:42:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:42:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:43:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 15:43:12] [INFO] Checking activity reminders 
[2026-04-26 15:43:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:43:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:43:29] [INFO] Checking activity reminders 
[2026-04-26 15:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:43:42] [INFO] Checking activity reminders 
[2026-04-26 15:43:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:43:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:43:59] [INFO] Checking activity reminders 
[2026-04-26 15:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:44:12] [INFO] Checking activity reminders 
[2026-04-26 15:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:44:29] [INFO] Checking activity reminders 
[2026-04-26 15:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:44:42] [INFO] Checking activity reminders 
[2026-04-26 15:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:44:59] [INFO] Checking activity reminders 
[2026-04-26 15:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:45:12] [INFO] Checking activity reminders 
[2026-04-26 15:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:45:30] [INFO] Checking activity reminders 
[2026-04-26 15:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:45:32] [INFO] Checking activity reminders 
[2026-04-26 15:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:45:36] [INFO] Checking activity reminders 
[2026-04-26 15:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:45:40] [INFO] Checking activity reminders 
[2026-04-26 15:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:46:10] [INFO] Checking activity reminders 
[2026-04-26 15:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:46:40] [INFO] Checking activity reminders 
[2026-04-26 15:46:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:46:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:46:44] [INFO] Checking activity reminders 
[2026-04-26 15:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:46:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 15:47:15] [INFO] Checking activity reminders 
[2026-04-26 15:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:47:45] [INFO] Checking activity reminders 
[2026-04-26 15:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:48:15] [INFO] Checking activity reminders 
[2026-04-26 15:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:48:45] [INFO] Checking activity reminders 
[2026-04-26 15:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:49:07] [INFO] Checking activity reminders 
[2026-04-26 15:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:49:15] [INFO] Checking activity reminders 
[2026-04-26 15:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:49:37] [INFO] Checking activity reminders 
[2026-04-26 15:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:49:45] [INFO] Checking activity reminders 
[2026-04-26 15:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:50:07] [INFO] Checking activity reminders 
[2026-04-26 15:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:50:15] [INFO] Checking activity reminders 
[2026-04-26 15:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:50:38] [INFO] Checking activity reminders 
[2026-04-26 15:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:50:45] [INFO] Checking activity reminders 
[2026-04-26 15:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:51:08] [INFO] Checking activity reminders 
[2026-04-26 15:51:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:51:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:51:15] [INFO] Checking activity reminders 
[2026-04-26 15:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:51:38] [INFO] Checking activity reminders 
[2026-04-26 15:51:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:51:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:51:45] [INFO] Checking activity reminders 
[2026-04-26 15:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:52:08] [INFO] Checking activity reminders 
[2026-04-26 15:52:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:52:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:52:16] [INFO] Checking activity reminders 
[2026-04-26 15:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:52:38] [INFO] Checking activity reminders 
[2026-04-26 15:52:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:52:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:52:46] [INFO] Checking activity reminders 
[2026-04-26 15:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:52:59] [WARNING] Auth check failed - not authenticated {"session_id":"bm1kfjp007e5g2p8nkv7gsd1kf","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:52:59] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 15:52:59] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 15:53:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 15:53:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 15:53:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 15:53:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 15:53:08] [INFO] Checking activity reminders 
[2026-04-26 15:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:53:16] [INFO] Checking activity reminders 
[2026-04-26 15:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:53:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:30] [INFO] Checking activity reminders 
[2026-04-26 15:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:53:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20750","person_id":"10457"}
[2026-04-26 15:53:38] [INFO] Checking activity reminders 
[2026-04-26 15:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:53:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:46] [INFO] Checking activity reminders 
[2026-04-26 15:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-04-26 15:53:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17368","person_id":"10452"}
[2026-04-26 15:54:00] [INFO] Checking activity reminders 
[2026-04-26 15:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:54:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12117","person_id":"10451"}
[2026-04-26 15:54:08] [INFO] Checking activity reminders 
[2026-04-26 15:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:54:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10811","person_id":"14666"}
[2026-04-26 15:54:16] [INFO] Checking activity reminders 
[2026-04-26 15:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:54:30] [INFO] Checking activity reminders 
[2026-04-26 15:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:54:38] [INFO] Checking activity reminders 
[2026-04-26 15:54:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:54:46] [INFO] Checking activity reminders 
[2026-04-26 15:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:55:00] [INFO] Checking activity reminders 
[2026-04-26 15:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:55:08] [INFO] Checking activity reminders 
[2026-04-26 15:55:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:55:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:55:16] [INFO] Checking activity reminders 
[2026-04-26 15:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:55:38] [INFO] Checking activity reminders 
[2026-04-26 15:55:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:55:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:55:46] [INFO] Checking activity reminders 
[2026-04-26 15:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:56:08] [INFO] Checking activity reminders 
[2026-04-26 15:56:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:56:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:56:16] [INFO] Checking activity reminders 
[2026-04-26 15:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:56:38] [INFO] Checking activity reminders 
[2026-04-26 15:56:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:56:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:56:46] [INFO] Checking activity reminders 
[2026-04-26 15:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:57:09] [INFO] Checking activity reminders 
[2026-04-26 15:57:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:57:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:57:16] [INFO] Checking activity reminders 
[2026-04-26 15:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:57:39] [INFO] Checking activity reminders 
[2026-04-26 15:57:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:57:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:57:47] [INFO] Checking activity reminders 
[2026-04-26 15:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:58:09] [INFO] Checking activity reminders 
[2026-04-26 15:58:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:58:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:58:17] [INFO] Checking activity reminders 
[2026-04-26 15:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:58:39] [INFO] Checking activity reminders 
[2026-04-26 15:58:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:58:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:58:47] [INFO] Checking activity reminders 
[2026-04-26 15:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:59:09] [INFO] Checking activity reminders 
[2026-04-26 15:59:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:59:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:59:17] [INFO] Checking activity reminders 
[2026-04-26 15:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-26 15:59:18] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 15:59:18] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 15:59:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 15:59:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 15:59:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 15:59:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 15:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3854","person_id":"15871"}
[2026-04-26 15:59:32] [INFO] Lead update received {"contact_id":"3854","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 15:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3854","person_id":"15871"}
[2026-04-26 15:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3854","person_id":"15871"}
[2026-04-26 15:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3854","person_id":"15871"}
[2026-04-26 15:59:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3854"}
[2026-04-26 15:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3854","person_id":"15871"}
[2026-04-26 15:59:47] [INFO] Checking activity reminders 
[2026-04-26 15:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 15:59:47] [INFO] Checking activity reminders 
[2026-04-26 15:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 15:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:00:17] [INFO] Checking activity reminders 
[2026-04-26 16:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:00:17] [INFO] Checking activity reminders 
[2026-04-26 16:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:00:47] [INFO] Checking activity reminders 
[2026-04-26 16:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:00:47] [INFO] Checking activity reminders 
[2026-04-26 16:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:01:07] [INFO] Activity save request {"post_data":{"contact_id":"5575","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"cip  ناراضی 4میلیارد هستن متقاعد کردم میگه جلسه با استاد میخوام ارجاع به اقای سهرابی","activity_duration":"20","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:01:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:01:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:01:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5575","note_was_empty":true}
[2026-04-26 16:01:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"5575","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 16:01:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee058ba3ce48.57861231","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:01:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee058ba3ce48.57861231"}
[2026-04-26 16:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:01:07] [INFO] Updating virtual stage {"contact_id":"5575","stage_name":"deal_registered","force":false}
[2026-04-26 16:01:07] [INFO] Virtual stage successfully saved {"contact_id":"5575","stage_name":"deal_registered"}
[2026-04-26 16:01:07] [INFO] Virtual stage updated after activity save {"contact_id":"5575"}
[2026-04-26 16:01:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:01:17] [INFO] Checking activity reminders 
[2026-04-26 16:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:01:31] [INFO] Checking activity reminders 
[2026-04-26 16:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:01:40] [INFO] Checking activity reminders 
[2026-04-26 16:01:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:01:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:01:47] [INFO] Checking activity reminders 
[2026-04-26 16:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:00] [INFO] Checking activity reminders 
[2026-04-26 16:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:07] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9123931436","09123931436"]}
[2026-04-26 16:02:07] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9123931436","09123931436"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-26 16:02:07] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9123931436","full_name":"لید جدید"}
[2026-04-26 16:02:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:02:07] [INFO] Notification created {"notification_id":"671","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-26 16:02:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:02:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:02:17] [INFO] Checking activity reminders 
[2026-04-26 16:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:38] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_30","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"برای کانال 405 مجدد پیگیری و پرزنت شد \r\nمیگه 2-3 ساعت وارد کانال بشم ببینم چه جوریه بعد پرداخت کنم \r\nپارسال هر چی استاد میگفت کا رخودمو انجام میدادم بهش گفتم دلیل حضورتون در کانال چیه \r\nدر نهایت تصمیم با خودتونه \r\n","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 16:02:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:02:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 16:02:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_30","note_was_empty":true}
[2026-04-26 16:02:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee05e622f851.29281899","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 16:02:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee05e622f851.29281899"}
[2026-04-26 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 16:02:38] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_30","stage_name":"contact_followup","force":false}
[2026-04-26 16:02:38] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_30","stage_name":"contact_followup"}
[2026-04-26 16:02:38] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_30"}
[2026-04-26 16:02:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_30","person_id":"21112"}
[2026-04-26 16:02:50] [INFO] Checking activity reminders 
[2026-04-26 16:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:52] [INFO] Checking activity reminders 
[2026-04-26 16:02:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:53] [INFO] Checking activity reminders 
[2026-04-26 16:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:02:54] [INFO] Checking activity reminders 
[2026-04-26 16:02:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:02:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:03:25] [INFO] Checking activity reminders 
[2026-04-26 16:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:03:34] [INFO] Checking activity reminders 
[2026-04-26 16:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:03:41] [INFO] Checking activity reminders 
[2026-04-26 16:03:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:03:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:11] [INFO] Checking activity reminders 
[2026-04-26 16:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:04:37] [INFO] Lead update received {"contact_id":"local_69ee05c732c967.94217821","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:37] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69ee05c732c967.94217821"}
[2026-04-26 16:04:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:41] [INFO] Checking activity reminders 
[2026-04-26 16:04:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:04:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:04:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_69ee05c732c967.94217821","deal_id":"local_69ee05c73431d","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 16:04:57","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 16:04:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_69ee05c732c967.94217821","is_new_deal":false}
[2026-04-26 16:04:57] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-26 16:04:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-26 16:04:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-26 16:04:57] [INFO] getContactPrimaryPhone called {"contact_id":"local_69ee05c732c967.94217821"}
[2026-04-26 16:04:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:57] [INFO] getContactPrimaryPhone result {"contact_id":"local_69ee05c732c967.94217821","person_found":true,"primary_phone":"9123931436"}
[2026-04-26 16:04:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123931436"}
[2026-04-26 16:04:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123931436","contact_id":"local_69ee05c732c967.94217821","deal_id":"local_69ee05c73431d","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 16:04:57"}
[2026-04-26 16:04:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ee05c73431d","contact_id":"local_69ee05c732c967.94217821","existing_deal_found":true,"existing_contact_id":"local_69ee05c732c967.94217821","existing_title":"معامله اول 9123931436","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 16:04:57"}
[2026-04-26 16:04:57] [INFO] DealController.save validated payments {"deal_id":"local_69ee05c73431d","contact_id":"local_69ee05c732c967.94217821","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-26 16:04:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69ee05c732c967.94217821","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 16:04:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ee05c73431d","contact_didar_id":"local_69ee05c732c967.94217821","title":"معامله اول 9123931436 | هوش خودرو","base_title_used":"معامله اول 9123931436","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سعید الوندی","existing_deal":"YES","existing_deal_id":"local_69ee05c73431d","existing_deal_status":"Pending","server_time":"2026-04-26 16:04:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 16:04:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ee05c73431d","contact_id":"local_69ee05c732c967.94217821","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9123931436 | هوش خودرو","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-26 16:04:57","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 16:04:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:04:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:05:12] [INFO] Checking activity reminders 
[2026-04-26 16:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:05:42] [INFO] Checking activity reminders 
[2026-04-26 16:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:06:35] [INFO] Checking activity reminders 
[2026-04-26 16:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:06:37] [INFO] Checking activity reminders 
[2026-04-26 16:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:06:38] [INFO] Checking activity reminders 
[2026-04-26 16:06:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:06:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:07:03] [INFO] Checking activity reminders 
[2026-04-26 16:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:07:08] [INFO] Checking activity reminders 
[2026-04-26 16:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:07:34] [INFO] Checking activity reminders 
[2026-04-26 16:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:07:38] [INFO] Checking activity reminders 
[2026-04-26 16:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:08:04] [INFO] Checking activity reminders 
[2026-04-26 16:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:08:08] [INFO] Checking activity reminders 
[2026-04-26 16:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:08:34] [INFO] Checking activity reminders 
[2026-04-26 16:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:08:38] [INFO] Checking activity reminders 
[2026-04-26 16:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:08:49] [INFO] Checking activity reminders 
[2026-04-26 16:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:09:04] [INFO] Checking activity reminders 
[2026-04-26 16:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:09:19] [INFO] Checking activity reminders 
[2026-04-26 16:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:09:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:09:34] [INFO] Checking activity reminders 
[2026-04-26 16:09:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:09:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:10:04] [INFO] Checking activity reminders 
[2026-04-26 16:10:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:10:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:10:09] [INFO] Checking activity reminders 
[2026-04-26 16:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:10:14] [INFO] Activity save request {"post_data":{"contact_id":"5575","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"مدت زمان بورسی گفتم \/ دید دادم ولی ناراحته \/ میگه ماشین 300 ت سود \/ 2تا معامله ملکی میلیاردی سود \/ صندوق چرا سود نکرده حداقل میزاشتی تو حامی سود میداد","activity_duration":"30","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:10:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:10:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:10:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:10:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:10:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5575","note_was_empty":true}
[2026-04-26 16:10:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"5575","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 16:10:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee07ae656ea9.96928311","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:10:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:10:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee07ae656ea9.96928311"}
[2026-04-26 16:10:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:10:14] [INFO] Updating virtual stage {"contact_id":"5575","stage_name":"deal_registered","force":false}
[2026-04-26 16:10:14] [INFO] Virtual stage successfully saved {"contact_id":"5575","stage_name":"deal_registered"}
[2026-04-26 16:10:14] [INFO] Virtual stage updated after activity save {"contact_id":"5575"}
[2026-04-26 16:10:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-26 16:10:23] [INFO] Lead update received {"contact_id":"7897","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:10:23] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7897"}
[2026-04-26 16:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:10:39] [INFO] Checking activity reminders 
[2026-04-26 16:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:11:00] [INFO] Checking activity reminders 
[2026-04-26 16:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:11:09] [INFO] Checking activity reminders 
[2026-04-26 16:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:11:39] [INFO] Checking activity reminders 
[2026-04-26 16:11:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:11:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:11:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"7897","deal_id":"7812","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 16:11:55","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"7897","is_new_deal":false}
[2026-04-26 16:11:55] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-26 16:11:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-26 16:11:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-26 16:11:55] [INFO] getContactPrimaryPhone called {"contact_id":"7897"}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:55] [INFO] getContactPrimaryPhone result {"contact_id":"7897","person_found":true,"primary_phone":"9361991753"}
[2026-04-26 16:11:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9361991753"}
[2026-04-26 16:11:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9361991753","contact_id":"7897","deal_id":"7812","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 16:11:55"}
[2026-04-26 16:11:55] [INFO] DealController.save existing deal lookup {"deal_id":"7812","contact_id":"7897","existing_deal_found":true,"existing_contact_id":"7897","existing_title":"معامله ابراهیم حمرایی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 16:11:55"}
[2026-04-26 16:11:55] [INFO] DealController.save validated payments {"deal_id":"7812","contact_id":"7897","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-26 16:11:55] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7897","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 16:11:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"7812","contact_didar_id":"7897","title":"معامله ابراهیم حمرایی | هوش خودرو","base_title_used":"معامله ابراهیم حمرایی","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ابراهیم حمرانی سلمان","existing_deal":"YES","existing_deal_id":"7812","existing_deal_status":"Pending","server_time":"2026-04-26 16:11:55","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:55] [INFO] Deal success processed {"contact_id":"7897","person_name":"ابراهیم حمرانی سلمان","products_count":1}
[2026-04-26 16:11:55] [INFO] ensureDealProductsFromText: products synced {"deal_id":"7812","product_ids":[2]}
[2026-04-26 16:11:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"7812","contact_id":"7897","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله ابراهیم حمرایی | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-04-26 16:11:55","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:55] [INFO] Updating virtual stage {"contact_id":"7897","stage_name":"with_purchase","force":true}
[2026-04-26 16:11:55] [INFO] Virtual stage successfully saved {"contact_id":"7897","stage_name":"with_purchase"}
[2026-04-26 16:11:55] [INFO] Moved contact out of kariz after successful deal {"contact_id":"7897","deal_id":"7812","target_stage":"with_purchase"}
[2026-04-26 16:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7897","person_id":"8120"}
[2026-04-26 16:11:58] [INFO] Checking activity reminders 
[2026-04-26 16:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:11:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"127","person_id":"17958"}
[2026-04-26 16:12:09] [INFO] Checking activity reminders 
[2026-04-26 16:12:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:12:24] [INFO] Checking activity reminders 
[2026-04-26 16:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:12:26] [INFO] Checking activity reminders 
[2026-04-26 16:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:12:28] [INFO] Checking activity reminders 
[2026-04-26 16:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:12:41] [INFO] Activity save request {"post_data":{"contact_id":"local_69ee05c732c967.94217821","deal_id":"local_69ee05c73431d","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"50 ساله \r\nکار دیزیل خودرو های سنگین \r\nعلاقه به کا رخرید و فروش خودرو سواری \r\nپرزنت هوش و ارسال سرفصل ها در روبیکا \r\nارسال ادرس مجموعه و افزایش نرخ از طرف فنی حرفه ای \r\nپشتیبانی و مشاوره اموزشی \r\n","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:41] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:12:41] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:41] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69ee05c732c967.94217821","note_was_empty":true}
[2026-04-26 16:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:41] [INFO] Updating virtual stage {"contact_id":"local_69ee05c732c967.94217821","stage_name":"new","force":false}
[2026-04-26 16:12:41] [INFO] Virtual stage successfully saved {"contact_id":"local_69ee05c732c967.94217821","stage_name":"new"}
[2026-04-26 16:12:41] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ee05c732c967.94217821"}
[2026-04-26 16:12:41] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ee05c73431d","stage":"تماس پیگیری","status_change":null}
[2026-04-26 16:12:41] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee0841d3ebc2.43927303","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:41] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee0841d3ebc2.43927303"}
[2026-04-26 16:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:41] [INFO] Updating virtual stage {"contact_id":"local_69ee05c732c967.94217821","stage_name":"deal_registered","force":false}
[2026-04-26 16:12:41] [INFO] Virtual stage successfully saved {"contact_id":"local_69ee05c732c967.94217821","stage_name":"deal_registered"}
[2026-04-26 16:12:41] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ee05c732c967.94217821"}
[2026-04-26 16:12:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ee05c732c967.94217821","person_id":"22270"}
[2026-04-26 16:12:56] [INFO] Checking activity reminders 
[2026-04-26 16:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:12:58] [INFO] Checking activity reminders 
[2026-04-26 16:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:13:22] [INFO] Lead update received {"contact_id":"127","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:13:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"127","person_id":"17958"}
[2026-04-26 16:13:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"127","person_id":"17958"}
[2026-04-26 16:13:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"127"}
[2026-04-26 16:13:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"127","person_id":"17958"}
[2026-04-26 16:13:26] [INFO] Checking activity reminders 
[2026-04-26 16:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:13:28] [INFO] Checking activity reminders 
[2026-04-26 16:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:13:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-26 16:13:56] [INFO] Checking activity reminders 
[2026-04-26 16:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:13:58] [INFO] Checking activity reminders 
[2026-04-26 16:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:14:26] [INFO] Checking activity reminders 
[2026-04-26 16:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:14:28] [INFO] Checking activity reminders 
[2026-04-26 16:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:14:38] [INFO] Lead update received {"contact_id":"5962","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:14:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-26 16:14:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-26 16:14:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5962"}
[2026-04-26 16:14:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-26 16:14:56] [INFO] Checking activity reminders 
[2026-04-26 16:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:14:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12689","person_id":"4596"}
[2026-04-26 16:14:58] [INFO] Checking activity reminders 
[2026-04-26 16:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:15:26] [INFO] Checking activity reminders 
[2026-04-26 16:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:15:28] [INFO] Checking activity reminders 
[2026-04-26 16:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:15:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 16:15:56] [INFO] Checking activity reminders 
[2026-04-26 16:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:15:58] [INFO] Checking activity reminders 
[2026-04-26 16:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:16:26] [INFO] Checking activity reminders 
[2026-04-26 16:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:16:29] [INFO] Checking activity reminders 
[2026-04-26 16:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:16:57] [INFO] Checking activity reminders 
[2026-04-26 16:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:16:59] [INFO] Checking activity reminders 
[2026-04-26 16:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:17:27] [INFO] Checking activity reminders 
[2026-04-26 16:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:17:28] [INFO] Lead update received {"contact_id":"7910","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:17:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 16:17:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 16:17:28] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7910"}
[2026-04-26 16:17:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 16:17:29] [INFO] Checking activity reminders 
[2026-04-26 16:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:17:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 16:17:57] [INFO] Checking activity reminders 
[2026-04-26 16:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:17:59] [INFO] Checking activity reminders 
[2026-04-26 16:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:18:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-26 16:18:27] [INFO] Checking activity reminders 
[2026-04-26 16:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:18:29] [INFO] Checking activity reminders 
[2026-04-26 16:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:18:57] [INFO] Checking activity reminders 
[2026-04-26 16:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:18:59] [INFO] Checking activity reminders 
[2026-04-26 16:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:19:04] [INFO] Lead update received {"contact_id":"12467","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-26 16:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-26 16:19:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12467"}
[2026-04-26 16:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-26 16:19:27] [INFO] Checking activity reminders 
[2026-04-26 16:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:19:29] [INFO] Checking activity reminders 
[2026-04-26 16:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:19:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 16:19:57] [INFO] Checking activity reminders 
[2026-04-26 16:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:19:59] [INFO] Checking activity reminders 
[2026-04-26 16:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:20:27] [INFO] Checking activity reminders 
[2026-04-26 16:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:20:29] [INFO] Checking activity reminders 
[2026-04-26 16:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:20:50] [INFO] Lead update received {"contact_id":"local_69d224d8e7aef7.68866400","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 16:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 16:20:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69d224d8e7aef7.68866400"}
[2026-04-26 16:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 16:20:57] [INFO] Checking activity reminders 
[2026-04-26 16:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:21:00] [INFO] Checking activity reminders 
[2026-04-26 16:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:21:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 16:21:27] [INFO] Checking activity reminders 
[2026-04-26 16:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:21:30] [INFO] Checking activity reminders 
[2026-04-26 16:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:21:57] [INFO] Checking activity reminders 
[2026-04-26 16:21:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:21:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:22:00] [INFO] Checking activity reminders 
[2026-04-26 16:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:22:27] [INFO] Checking activity reminders 
[2026-04-26 16:22:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:22:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:22:30] [INFO] Checking activity reminders 
[2026-04-26 16:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:22:57] [INFO] Checking activity reminders 
[2026-04-26 16:22:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:22:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:23:00] [INFO] Checking activity reminders 
[2026-04-26 16:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:23:28] [INFO] Checking activity reminders 
[2026-04-26 16:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:23:30] [INFO] Checking activity reminders 
[2026-04-26 16:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:23:37] [INFO] Lead update received {"contact_id":"7993","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 16:23:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 16:23:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 16:23:37] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7993"}
[2026-04-26 16:23:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 16:23:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 16:23:58] [INFO] Checking activity reminders 
[2026-04-26 16:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:24:00] [INFO] Checking activity reminders 
[2026-04-26 16:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:24:00] [INFO] Checking activity reminders 
[2026-04-26 16:24:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:24:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:24:02] [INFO] Checking activity reminders 
[2026-04-26 16:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:24:32] [INFO] Checking activity reminders 
[2026-04-26 16:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:25:02] [INFO] Checking activity reminders 
[2026-04-26 16:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:25:34] [INFO] Checking activity reminders 
[2026-04-26 16:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:25:35] [INFO] Checking activity reminders 
[2026-04-26 16:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:25:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 16:25:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 16:25:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 16:25:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 16:25:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 16:25:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 16:26:05] [INFO] Checking activity reminders 
[2026-04-26 16:26:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:26:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:26:06] [INFO] Checking activity reminders 
[2026-04-26 16:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:26:35] [INFO] Checking activity reminders 
[2026-04-26 16:26:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:26:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:26:36] [INFO] Checking activity reminders 
[2026-04-26 16:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:27:05] [INFO] Checking activity reminders 
[2026-04-26 16:27:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:27:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:27:06] [INFO] Checking activity reminders 
[2026-04-26 16:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:27:35] [INFO] Checking activity reminders 
[2026-04-26 16:27:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:27:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:27:37] [INFO] Checking activity reminders 
[2026-04-26 16:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:28:05] [INFO] Checking activity reminders 
[2026-04-26 16:28:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:28:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:28:07] [INFO] Checking activity reminders 
[2026-04-26 16:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:28:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 16:28:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 16:28:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 16:28:35] [INFO] Checking activity reminders 
[2026-04-26 16:28:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:28:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:28:37] [INFO] Checking activity reminders 
[2026-04-26 16:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:29:05] [INFO] Checking activity reminders 
[2026-04-26 16:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:29:07] [INFO] Checking activity reminders 
[2026-04-26 16:29:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:29:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:29:34] [INFO] Checking activity reminders 
[2026-04-26 16:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:29:35] [INFO] Checking activity reminders 
[2026-04-26 16:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:30:05] [INFO] Checking activity reminders 
[2026-04-26 16:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:30:35] [INFO] Checking activity reminders 
[2026-04-26 16:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:30:39] [INFO] Checking activity reminders 
[2026-04-26 16:30:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:30:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:31:09] [INFO] Checking activity reminders 
[2026-04-26 16:31:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:31:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:31:39] [INFO] Checking activity reminders 
[2026-04-26 16:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:32:09] [INFO] Checking activity reminders 
[2026-04-26 16:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:32:26] [INFO] Checking activity reminders 
[2026-04-26 16:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:32:30] [INFO] Checking activity reminders 
[2026-04-26 16:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:32:32] [INFO] Checking activity reminders 
[2026-04-26 16:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:32:45] [WARNING] Auth check failed - not authenticated {"session_id":"2d5jfn42qpj9htv76usqglaccg","session_keys":[],"action":"log_client_event"}
[2026-04-26 16:32:45] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-26 16:32:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 16:33:02] [INFO] Checking activity reminders 
[2026-04-26 16:33:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:33:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:33:15] [INFO] Checking activity reminders 
[2026-04-26 16:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:33:33] [INFO] Checking activity reminders 
[2026-04-26 16:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:33:43] [INFO] Checking activity reminders 
[2026-04-26 16:33:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:33:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:34:03] [INFO] Checking activity reminders 
[2026-04-26 16:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:34:33] [INFO] Checking activity reminders 
[2026-04-26 16:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:35:03] [INFO] Checking activity reminders 
[2026-04-26 16:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:35:26] [INFO] Checking activity reminders 
[2026-04-26 16:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:35:56] [INFO] Checking activity reminders 
[2026-04-26 16:35:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:35:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:36:26] [INFO] Checking activity reminders 
[2026-04-26 16:36:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:36:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:36:56] [INFO] Checking activity reminders 
[2026-04-26 16:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:37:26] [INFO] Checking activity reminders 
[2026-04-26 16:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:37:35] [INFO] Checking activity reminders 
[2026-04-26 16:37:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:37:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:37:56] [INFO] Checking activity reminders 
[2026-04-26 16:37:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:37:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:38:26] [INFO] Checking activity reminders 
[2026-04-26 16:38:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:38:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:38:56] [INFO] Checking activity reminders 
[2026-04-26 16:38:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:38:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:39:26] [INFO] Checking activity reminders 
[2026-04-26 16:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:39:56] [INFO] Checking activity reminders 
[2026-04-26 16:39:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:39:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:39:58] [INFO] Checking activity reminders 
[2026-04-26 16:39:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:39:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:40:18] [INFO] Checking activity reminders 
[2026-04-26 16:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:40:26] [INFO] Checking activity reminders 
[2026-04-26 16:40:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:40:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:40:56] [INFO] Checking activity reminders 
[2026-04-26 16:40:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:40:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:41:26] [INFO] Checking activity reminders 
[2026-04-26 16:41:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:41:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:41:57] [INFO] Checking activity reminders 
[2026-04-26 16:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:42:27] [INFO] Checking activity reminders 
[2026-04-26 16:42:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:42:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:42:44] [INFO] Checking activity reminders 
[2026-04-26 16:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:42:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:42:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:42:57] [INFO] Checking activity reminders 
[2026-04-26 16:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:43:14] [INFO] Checking activity reminders 
[2026-04-26 16:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:43:27] [INFO] Checking activity reminders 
[2026-04-26 16:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:43:44] [INFO] Checking activity reminders 
[2026-04-26 16:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:43:57] [INFO] Checking activity reminders 
[2026-04-26 16:43:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:43:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:44:08] [INFO] Activity save request {"post_data":{"contact_id":"local_69e8b43bee45c0.47356306","deal_id":"local_69e8b43c09d2f","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیام","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:44:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e8b43bee45c0.47356306","note_was_empty":true}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:08] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered","force":false}
[2026-04-26 16:44:08] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered"}
[2026-04-26 16:44:08] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-26 16:44:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8b43c09d2f","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-26 16:44:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee0fa05edd71.57526028","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee0fa05edd71.57526028"}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:08] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered","force":false}
[2026-04-26 16:44:08] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered"}
[2026-04-26 16:44:08] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-26 16:44:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-26 16:44:14] [INFO] Checking activity reminders 
[2026-04-26 16:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:44:27] [INFO] Checking activity reminders 
[2026-04-26 16:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:44:44] [INFO] Checking activity reminders 
[2026-04-26 16:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:44:57] [INFO] Checking activity reminders 
[2026-04-26 16:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:45:14] [INFO] Checking activity reminders 
[2026-04-26 16:45:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:45:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:45:27] [INFO] Checking activity reminders 
[2026-04-26 16:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:45:44] [INFO] Checking activity reminders 
[2026-04-26 16:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:45:57] [INFO] Checking activity reminders 
[2026-04-26 16:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:46:14] [INFO] Checking activity reminders 
[2026-04-26 16:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:46:27] [INFO] Checking activity reminders 
[2026-04-26 16:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:46:44] [INFO] Checking activity reminders 
[2026-04-26 16:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:46:57] [INFO] Checking activity reminders 
[2026-04-26 16:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:47:14] [INFO] Checking activity reminders 
[2026-04-26 16:47:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:47:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:47:28] [INFO] Checking activity reminders 
[2026-04-26 16:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:47:44] [INFO] Checking activity reminders 
[2026-04-26 16:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:47:58] [INFO] Checking activity reminders 
[2026-04-26 16:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:48:14] [INFO] Checking activity reminders 
[2026-04-26 16:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:48:17] [INFO] Activity save request {"post_data":{"contact_id":"local_69870f7363fff9.61964412","deal_id":"local_69885635936d66.27779342","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:48:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69870f7363fff9.61964412","note_was_empty":true}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:17] [INFO] Updating virtual stage {"contact_id":"local_69870f7363fff9.61964412","stage_name":"deal_registered","force":false}
[2026-04-26 16:48:17] [INFO] Virtual stage successfully saved {"contact_id":"local_69870f7363fff9.61964412","stage_name":"deal_registered"}
[2026-04-26 16:48:17] [INFO] Virtual stage updated after activity save {"contact_id":"local_69870f7363fff9.61964412"}
[2026-04-26 16:48:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69885635936d66.27779342","stage":"تماس پیگیری","status_change":null}
[2026-04-26 16:48:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1099177602.65097901","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1099177602.65097901"}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:17] [INFO] Updating virtual stage {"contact_id":"local_69870f7363fff9.61964412","stage_name":"deal_registered","force":false}
[2026-04-26 16:48:17] [INFO] Virtual stage successfully saved {"contact_id":"local_69870f7363fff9.61964412","stage_name":"deal_registered"}
[2026-04-26 16:48:17] [INFO] Virtual stage updated after activity save {"contact_id":"local_69870f7363fff9.61964412"}
[2026-04-26 16:48:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69870f7363fff9.61964412","person_id":"21568"}
[2026-04-26 16:48:28] [INFO] Checking activity reminders 
[2026-04-26 16:48:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:48:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:48:45] [INFO] Checking activity reminders 
[2026-04-26 16:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:48:58] [INFO] Checking activity reminders 
[2026-04-26 16:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:49:15] [INFO] Checking activity reminders 
[2026-04-26 16:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:49:28] [INFO] Checking activity reminders 
[2026-04-26 16:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:49:45] [INFO] Checking activity reminders 
[2026-04-26 16:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:49:58] [INFO] Checking activity reminders 
[2026-04-26 16:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:50:15] [INFO] Checking activity reminders 
[2026-04-26 16:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:50:28] [INFO] Checking activity reminders 
[2026-04-26 16:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:50:45] [INFO] Checking activity reminders 
[2026-04-26 16:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:50:58] [INFO] Checking activity reminders 
[2026-04-26 16:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:51:15] [INFO] Checking activity reminders 
[2026-04-26 16:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:51:28] [INFO] Checking activity reminders 
[2026-04-26 16:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:51:45] [INFO] Checking activity reminders 
[2026-04-26 16:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:51:58] [INFO] Checking activity reminders 
[2026-04-26 16:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:52:15] [INFO] Checking activity reminders 
[2026-04-26 16:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:52:28] [INFO] Checking activity reminders 
[2026-04-26 16:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:52:45] [INFO] Checking activity reminders 
[2026-04-26 16:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:52:58] [INFO] Checking activity reminders 
[2026-04-26 16:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:53:15] [INFO] Checking activity reminders 
[2026-04-26 16:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:53:28] [INFO] Checking activity reminders 
[2026-04-26 16:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:53:45] [INFO] Checking activity reminders 
[2026-04-26 16:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:53:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:53:59] [INFO] Checking activity reminders 
[2026-04-26 16:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:54:15] [INFO] Checking activity reminders 
[2026-04-26 16:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:54:29] [INFO] Checking activity reminders 
[2026-04-26 16:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:54:45] [INFO] Checking activity reminders 
[2026-04-26 16:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:54:59] [INFO] Checking activity reminders 
[2026-04-26 16:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:55:15] [INFO] Checking activity reminders 
[2026-04-26 16:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:55:29] [INFO] Checking activity reminders 
[2026-04-26 16:55:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:55:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:55:46] [INFO] Checking activity reminders 
[2026-04-26 16:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:55:59] [INFO] Checking activity reminders 
[2026-04-26 16:55:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:55:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:56:16] [INFO] Checking activity reminders 
[2026-04-26 16:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:56:29] [INFO] Checking activity reminders 
[2026-04-26 16:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:56:46] [INFO] Checking activity reminders 
[2026-04-26 16:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:56:59] [INFO] Checking activity reminders 
[2026-04-26 16:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:57:16] [INFO] Checking activity reminders 
[2026-04-26 16:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:57:29] [INFO] Checking activity reminders 
[2026-04-26 16:57:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:57:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:57:46] [INFO] Checking activity reminders 
[2026-04-26 16:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:57:59] [INFO] Checking activity reminders 
[2026-04-26 16:57:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:57:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:58:16] [INFO] Checking activity reminders 
[2026-04-26 16:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:58:29] [INFO] Checking activity reminders 
[2026-04-26 16:58:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:58:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:58:46] [INFO] Checking activity reminders 
[2026-04-26 16:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:59:00] [INFO] Checking activity reminders 
[2026-04-26 16:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:59:04] [INFO] Activity save request {"post_data":{"contact_id":"1168","deal_id":"local_6987451090b541.45812000","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nجاده بود \r\nپیامک \r\nخودش تماس میگیره ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 16:59:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1168","note_was_empty":true}
[2026-04-26 16:59:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"1168","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:04] [INFO] Updating virtual stage {"contact_id":"1168","stage_name":"deal_registered","force":false}
[2026-04-26 16:59:04] [INFO] Virtual stage successfully saved {"contact_id":"1168","stage_name":"deal_registered"}
[2026-04-26 16:59:04] [INFO] Virtual stage updated after activity save {"contact_id":"1168"}
[2026-04-26 16:59:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6987451090b541.45812000","stage":"تماس پیگیری","status_change":null}
[2026-04-26 16:59:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1320ef0733.76796787","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1320ef0733.76796787"}
[2026-04-26 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:04] [INFO] Updating virtual stage {"contact_id":"1168","stage_name":"deal_registered","force":false}
[2026-04-26 16:59:04] [INFO] Virtual stage successfully saved {"contact_id":"1168","stage_name":"deal_registered"}
[2026-04-26 16:59:04] [INFO] Virtual stage updated after activity save {"contact_id":"1168"}
[2026-04-26 16:59:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-26 16:59:16] [INFO] Checking activity reminders 
[2026-04-26 16:59:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:59:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:59:30] [INFO] Checking activity reminders 
[2026-04-26 16:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 16:59:46] [INFO] Checking activity reminders 
[2026-04-26 16:59:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 16:59:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:00:00] [INFO] Checking activity reminders 
[2026-04-26 17:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:00:16] [INFO] Checking activity reminders 
[2026-04-26 17:00:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:00:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:00:46] [INFO] Checking activity reminders 
[2026-04-26 17:00:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:00:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:01:16] [INFO] Checking activity reminders 
[2026-04-26 17:01:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:01:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:01:32] [INFO] Checking activity reminders 
[2026-04-26 17:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:01:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987212d6389d6.41139615","person_id":"21574"}
[2026-04-26 17:01:46] [INFO] Checking activity reminders 
[2026-04-26 17:01:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:01:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:02:02] [INFO] Checking activity reminders 
[2026-04-26 17:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:02:17] [INFO] Checking activity reminders 
[2026-04-26 17:02:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:02:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:02:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:02:32] [INFO] Checking activity reminders 
[2026-04-26 17:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:02:47] [INFO] Checking activity reminders 
[2026-04-26 17:02:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:02:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:03:02] [INFO] Checking activity reminders 
[2026-04-26 17:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:03:17] [INFO] Checking activity reminders 
[2026-04-26 17:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:03:33] [INFO] Checking activity reminders 
[2026-04-26 17:03:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:03:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:03:47] [INFO] Checking activity reminders 
[2026-04-26 17:03:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:03:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:04:03] [INFO] Checking activity reminders 
[2026-04-26 17:04:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:04:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:04:17] [INFO] Checking activity reminders 
[2026-04-26 17:04:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:04:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:04:33] [INFO] Checking activity reminders 
[2026-04-26 17:04:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:04:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:04:47] [INFO] Checking activity reminders 
[2026-04-26 17:04:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:04:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:05:03] [INFO] Checking activity reminders 
[2026-04-26 17:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:05:15] [INFO] Activity save request {"post_data":{"contact_id":"local_698721da1f62c3.64920843","deal_id":"local_698751536ac249.85396581","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 17:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 17:05:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 17:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_698721da1f62c3.64920843","note_was_empty":true}
[2026-04-26 17:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:15] [INFO] Updating virtual stage {"contact_id":"local_698721da1f62c3.64920843","stage_name":"deal_registered","force":false}
[2026-04-26 17:05:15] [INFO] Virtual stage successfully saved {"contact_id":"local_698721da1f62c3.64920843","stage_name":"deal_registered"}
[2026-04-26 17:05:15] [INFO] Virtual stage updated after activity save {"contact_id":"local_698721da1f62c3.64920843"}
[2026-04-26 17:05:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_698751536ac249.85396581","stage":"تماس پیگیری","status_change":null}
[2026-04-26 17:05:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1493e07055.16887524","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 17:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1493e07055.16887524"}
[2026-04-26 17:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:15] [INFO] Updating virtual stage {"contact_id":"local_698721da1f62c3.64920843","stage_name":"deal_registered","force":false}
[2026-04-26 17:05:15] [INFO] Virtual stage successfully saved {"contact_id":"local_698721da1f62c3.64920843","stage_name":"deal_registered"}
[2026-04-26 17:05:15] [INFO] Virtual stage updated after activity save {"contact_id":"local_698721da1f62c3.64920843"}
[2026-04-26 17:05:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_698721da1f62c3.64920843","person_id":"21579"}
[2026-04-26 17:05:17] [INFO] Checking activity reminders 
[2026-04-26 17:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:05:33] [INFO] Checking activity reminders 
[2026-04-26 17:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:05:47] [INFO] Checking activity reminders 
[2026-04-26 17:05:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:05:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:06:03] [INFO] Checking activity reminders 
[2026-04-26 17:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:06:17] [INFO] Checking activity reminders 
[2026-04-26 17:06:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:06:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:06:33] [INFO] Checking activity reminders 
[2026-04-26 17:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:06:47] [INFO] Checking activity reminders 
[2026-04-26 17:06:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:06:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:07:03] [INFO] Checking activity reminders 
[2026-04-26 17:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:07:18] [INFO] Checking activity reminders 
[2026-04-26 17:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:07:33] [INFO] Checking activity reminders 
[2026-04-26 17:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:07:48] [INFO] Checking activity reminders 
[2026-04-26 17:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:08:03] [INFO] Checking activity reminders 
[2026-04-26 17:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:08:18] [INFO] Checking activity reminders 
[2026-04-26 17:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:08:28] [INFO] Activity save request {"post_data":{"contact_id":"local_6987227c338ff3.15760851","deal_id":"local_69874b4e3c0352.80502383","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در دسترس نیست \r\nپیام در بله ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 17:08:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_6987227c338ff3.15760851","note_was_empty":true}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:28] [INFO] Updating virtual stage {"contact_id":"local_6987227c338ff3.15760851","stage_name":"deal_registered","force":false}
[2026-04-26 17:08:28] [INFO] Virtual stage successfully saved {"contact_id":"local_6987227c338ff3.15760851","stage_name":"deal_registered"}
[2026-04-26 17:08:28] [INFO] Virtual stage updated after activity save {"contact_id":"local_6987227c338ff3.15760851"}
[2026-04-26 17:08:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69874b4e3c0352.80502383","stage":"تماس پیگیری","status_change":null}
[2026-04-26 17:08:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1554123983.50625973","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1554123983.50625973"}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:28] [INFO] Updating virtual stage {"contact_id":"local_6987227c338ff3.15760851","stage_name":"deal_registered","force":false}
[2026-04-26 17:08:28] [INFO] Virtual stage successfully saved {"contact_id":"local_6987227c338ff3.15760851","stage_name":"deal_registered"}
[2026-04-26 17:08:28] [INFO] Virtual stage updated after activity save {"contact_id":"local_6987227c338ff3.15760851"}
[2026-04-26 17:08:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:08:33] [INFO] Checking activity reminders 
[2026-04-26 17:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:08:48] [INFO] Checking activity reminders 
[2026-04-26 17:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:09:04] [INFO] Checking activity reminders 
[2026-04-26 17:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:09:18] [INFO] Checking activity reminders 
[2026-04-26 17:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:09:34] [INFO] Checking activity reminders 
[2026-04-26 17:09:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:09:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:09:48] [INFO] Checking activity reminders 
[2026-04-26 17:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:10:04] [INFO] Checking activity reminders 
[2026-04-26 17:10:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:10:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:10:18] [INFO] Checking activity reminders 
[2026-04-26 17:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:10:34] [INFO] Checking activity reminders 
[2026-04-26 17:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:10:48] [INFO] Checking activity reminders 
[2026-04-26 17:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:11:04] [INFO] Checking activity reminders 
[2026-04-26 17:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:11:18] [INFO] Checking activity reminders 
[2026-04-26 17:11:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:11:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:11:34] [INFO] Checking activity reminders 
[2026-04-26 17:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:11:48] [INFO] Checking activity reminders 
[2026-04-26 17:11:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:11:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:12:04] [INFO] Checking activity reminders 
[2026-04-26 17:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:12:19] [INFO] Checking activity reminders 
[2026-04-26 17:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:12:34] [INFO] Checking activity reminders 
[2026-04-26 17:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:12:49] [INFO] Checking activity reminders 
[2026-04-26 17:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:13:04] [INFO] Checking activity reminders 
[2026-04-26 17:13:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:13:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:13:19] [INFO] Checking activity reminders 
[2026-04-26 17:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:13:34] [INFO] Checking activity reminders 
[2026-04-26 17:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:13:49] [INFO] Checking activity reminders 
[2026-04-26 17:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:14:04] [INFO] Checking activity reminders 
[2026-04-26 17:14:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:14:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:14:19] [INFO] Checking activity reminders 
[2026-04-26 17:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:14:34] [INFO] Checking activity reminders 
[2026-04-26 17:14:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:14:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:14:49] [INFO] Checking activity reminders 
[2026-04-26 17:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:15:05] [INFO] Checking activity reminders 
[2026-04-26 17:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:15:19] [INFO] Checking activity reminders 
[2026-04-26 17:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:15:35] [INFO] Checking activity reminders 
[2026-04-26 17:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:15:49] [INFO] Checking activity reminders 
[2026-04-26 17:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:16:05] [INFO] Checking activity reminders 
[2026-04-26 17:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:16:19] [INFO] Checking activity reminders 
[2026-04-26 17:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:16:35] [INFO] Checking activity reminders 
[2026-04-26 17:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:16:42] [INFO] Checking activity reminders 
[2026-04-26 17:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:16:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 17:16:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 17:16:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 17:16:49] [INFO] Checking activity reminders 
[2026-04-26 17:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:05] [INFO] Checking activity reminders 
[2026-04-26 17:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:12] [INFO] Checking activity reminders 
[2026-04-26 17:17:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:19] [INFO] Checking activity reminders 
[2026-04-26 17:17:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 17:17:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 17:17:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 17:17:35] [INFO] Checking activity reminders 
[2026-04-26 17:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:42] [INFO] Checking activity reminders 
[2026-04-26 17:17:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:17:50] [INFO] Checking activity reminders 
[2026-04-26 17:17:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:17:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:05] [INFO] Checking activity reminders 
[2026-04-26 17:18:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:13] [INFO] Checking activity reminders 
[2026-04-26 17:18:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:20] [INFO] Checking activity reminders 
[2026-04-26 17:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:35] [INFO] Checking activity reminders 
[2026-04-26 17:18:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:43] [INFO] Checking activity reminders 
[2026-04-26 17:18:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:18:50] [INFO] Checking activity reminders 
[2026-04-26 17:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:19:05] [INFO] Checking activity reminders 
[2026-04-26 17:19:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:19:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:19:13] [INFO] Checking activity reminders 
[2026-04-26 17:19:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:19:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:19:35] [INFO] Checking activity reminders 
[2026-04-26 17:19:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:19:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:19:43] [INFO] Checking activity reminders 
[2026-04-26 17:19:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:19:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:20:05] [INFO] Checking activity reminders 
[2026-04-26 17:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:20:13] [INFO] Checking activity reminders 
[2026-04-26 17:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:20:35] [INFO] Checking activity reminders 
[2026-04-26 17:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:20:43] [INFO] Checking activity reminders 
[2026-04-26 17:20:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:20:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:21:05] [INFO] Checking activity reminders 
[2026-04-26 17:21:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:21:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:21:13] [INFO] Checking activity reminders 
[2026-04-26 17:21:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:21:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:21:35] [INFO] Checking activity reminders 
[2026-04-26 17:21:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:21:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:21:43] [INFO] Checking activity reminders 
[2026-04-26 17:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:01] [INFO] Checking activity reminders 
[2026-04-26 17:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:05] [INFO] Checking activity reminders 
[2026-04-26 17:22:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:22:13] [INFO] Checking activity reminders 
[2026-04-26 17:22:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:31] [INFO] Checking activity reminders 
[2026-04-26 17:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:36] [INFO] Checking activity reminders 
[2026-04-26 17:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:22:43] [INFO] Checking activity reminders 
[2026-04-26 17:22:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:22:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:23:01] [INFO] Checking activity reminders 
[2026-04-26 17:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:23:06] [INFO] Checking activity reminders 
[2026-04-26 17:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:23:31] [INFO] Checking activity reminders 
[2026-04-26 17:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:23:36] [INFO] Checking activity reminders 
[2026-04-26 17:23:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:23:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:24:02] [INFO] Checking activity reminders 
[2026-04-26 17:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:24:06] [INFO] Checking activity reminders 
[2026-04-26 17:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:24:32] [INFO] Checking activity reminders 
[2026-04-26 17:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:24:36] [INFO] Checking activity reminders 
[2026-04-26 17:24:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:24:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:25:02] [INFO] Checking activity reminders 
[2026-04-26 17:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:25:06] [INFO] Checking activity reminders 
[2026-04-26 17:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:25:32] [INFO] Checking activity reminders 
[2026-04-26 17:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:25:36] [INFO] Checking activity reminders 
[2026-04-26 17:25:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:25:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:26:02] [INFO] Checking activity reminders 
[2026-04-26 17:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:26:06] [INFO] Checking activity reminders 
[2026-04-26 17:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:26:32] [INFO] Checking activity reminders 
[2026-04-26 17:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:26:36] [INFO] Checking activity reminders 
[2026-04-26 17:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:27:02] [INFO] Checking activity reminders 
[2026-04-26 17:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:27:06] [INFO] Checking activity reminders 
[2026-04-26 17:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:27:32] [INFO] Checking activity reminders 
[2026-04-26 17:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:27:36] [INFO] Checking activity reminders 
[2026-04-26 17:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:28:02] [INFO] Checking activity reminders 
[2026-04-26 17:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:28:06] [INFO] Checking activity reminders 
[2026-04-26 17:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:28:32] [INFO] Checking activity reminders 
[2026-04-26 17:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:28:36] [INFO] Checking activity reminders 
[2026-04-26 17:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:29:02] [INFO] Checking activity reminders 
[2026-04-26 17:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:29:06] [INFO] Checking activity reminders 
[2026-04-26 17:29:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:29:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:29:33] [INFO] Checking activity reminders 
[2026-04-26 17:29:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:29:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:29:36] [INFO] Checking activity reminders 
[2026-04-26 17:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:30:03] [INFO] Checking activity reminders 
[2026-04-26 17:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:30:07] [INFO] Checking activity reminders 
[2026-04-26 17:30:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:30:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:30:33] [INFO] Checking activity reminders 
[2026-04-26 17:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:30:37] [INFO] Checking activity reminders 
[2026-04-26 17:30:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:30:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:31:03] [INFO] Checking activity reminders 
[2026-04-26 17:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:31:07] [INFO] Checking activity reminders 
[2026-04-26 17:31:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:31:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:31:33] [INFO] Checking activity reminders 
[2026-04-26 17:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:31:37] [INFO] Checking activity reminders 
[2026-04-26 17:31:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:31:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:03] [INFO] Checking activity reminders 
[2026-04-26 17:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:07] [INFO] Checking activity reminders 
[2026-04-26 17:32:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:32:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987227c338ff3.15760851","person_id":"21583"}
[2026-04-26 17:32:33] [INFO] Checking activity reminders 
[2026-04-26 17:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:37] [INFO] Checking activity reminders 
[2026-04-26 17:32:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:32:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:39] [INFO] Checking activity reminders 
[2026-04-26 17:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:32:58] [INFO] Activity save request {"post_data":{"contact_id":"15642","deal_id":"local_69d0a4d2c54204.03126347","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"ریپلای جریان بله \/ گفتن 27ت بیا گفت اطلاع میدم بازم دارم باهاش چتی صحبت میکنم ","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:32:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 17:32:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:32:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15642","note_was_empty":true}
[2026-04-26 17:32:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"15642","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:32:58] [INFO] Updating virtual stage {"contact_id":"15642","stage_name":"deal_registered","force":false}
[2026-04-26 17:32:58] [INFO] Virtual stage successfully saved {"contact_id":"15642","stage_name":"deal_registered"}
[2026-04-26 17:32:58] [INFO] Virtual stage updated after activity save {"contact_id":"15642"}
[2026-04-26 17:32:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a4d2c54204.03126347","stage":"تماس پیگیری","status_change":null}
[2026-04-26 17:32:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1b1221d1a2.38600875","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:32:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1b1221d1a2.38600875"}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:32:58] [INFO] Updating virtual stage {"contact_id":"15642","stage_name":"deal_registered","force":false}
[2026-04-26 17:32:58] [INFO] Virtual stage successfully saved {"contact_id":"15642","stage_name":"deal_registered"}
[2026-04-26 17:32:58] [INFO] Virtual stage updated after activity save {"contact_id":"15642"}
[2026-04-26 17:32:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15642","person_id":"14225"}
[2026-04-26 17:33:03] [INFO] Checking activity reminders 
[2026-04-26 17:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:33:09] [INFO] Checking activity reminders 
[2026-04-26 17:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:33:33] [INFO] Checking activity reminders 
[2026-04-26 17:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:33:40] [INFO] Checking activity reminders 
[2026-04-26 17:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:34:03] [INFO] Checking activity reminders 
[2026-04-26 17:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:34:10] [INFO] Checking activity reminders 
[2026-04-26 17:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:34:33] [INFO] Checking activity reminders 
[2026-04-26 17:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:34:40] [INFO] Checking activity reminders 
[2026-04-26 17:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:35:04] [INFO] Checking activity reminders 
[2026-04-26 17:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:35:10] [INFO] Checking activity reminders 
[2026-04-26 17:35:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:35:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:35:34] [INFO] Checking activity reminders 
[2026-04-26 17:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:35:40] [INFO] Checking activity reminders 
[2026-04-26 17:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:36:04] [INFO] Checking activity reminders 
[2026-04-26 17:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:36:10] [INFO] Checking activity reminders 
[2026-04-26 17:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:36:34] [INFO] Checking activity reminders 
[2026-04-26 17:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:36:40] [INFO] Checking activity reminders 
[2026-04-26 17:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:36:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:37:04] [INFO] Checking activity reminders 
[2026-04-26 17:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:37:10] [INFO] Checking activity reminders 
[2026-04-26 17:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:37:34] [INFO] Checking activity reminders 
[2026-04-26 17:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:37:40] [INFO] Checking activity reminders 
[2026-04-26 17:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:38:04] [INFO] Checking activity reminders 
[2026-04-26 17:38:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:38:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:38:10] [INFO] Checking activity reminders 
[2026-04-26 17:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:38:34] [INFO] Checking activity reminders 
[2026-04-26 17:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:38:40] [INFO] Checking activity reminders 
[2026-04-26 17:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:39:04] [INFO] Checking activity reminders 
[2026-04-26 17:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:39:10] [INFO] Checking activity reminders 
[2026-04-26 17:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:39:34] [INFO] Checking activity reminders 
[2026-04-26 17:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:39:40] [INFO] Checking activity reminders 
[2026-04-26 17:39:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:39:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:40:04] [INFO] Checking activity reminders 
[2026-04-26 17:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:40:11] [INFO] Checking activity reminders 
[2026-04-26 17:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:40:35] [INFO] Checking activity reminders 
[2026-04-26 17:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:40:41] [INFO] Checking activity reminders 
[2026-04-26 17:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:41:05] [INFO] Checking activity reminders 
[2026-04-26 17:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:41:11] [INFO] Checking activity reminders 
[2026-04-26 17:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:41:35] [INFO] Checking activity reminders 
[2026-04-26 17:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:41:41] [INFO] Checking activity reminders 
[2026-04-26 17:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:42:05] [INFO] Checking activity reminders 
[2026-04-26 17:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:42:11] [INFO] Checking activity reminders 
[2026-04-26 17:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:42:28] [INFO] Activity save request {"post_data":{"contact_id":"13470","deal_id":"local_69884d29571513.00689610","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 17:42:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13470","note_was_empty":true}
[2026-04-26 17:42:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"13470","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:28] [INFO] Updating virtual stage {"contact_id":"13470","stage_name":"deal_registered","force":false}
[2026-04-26 17:42:28] [INFO] Virtual stage successfully saved {"contact_id":"13470","stage_name":"deal_registered"}
[2026-04-26 17:42:28] [INFO] Virtual stage updated after activity save {"contact_id":"13470"}
[2026-04-26 17:42:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69884d29571513.00689610","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-26 17:42:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1d4ccb2234.56101485","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1d4ccb2234.56101485"}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:28] [INFO] Updating virtual stage {"contact_id":"13470","stage_name":"deal_registered","force":false}
[2026-04-26 17:42:28] [INFO] Virtual stage successfully saved {"contact_id":"13470","stage_name":"deal_registered"}
[2026-04-26 17:42:28] [INFO] Virtual stage updated after activity save {"contact_id":"13470"}
[2026-04-26 17:42:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13470","person_id":"16142"}
[2026-04-26 17:42:35] [INFO] Checking activity reminders 
[2026-04-26 17:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:42:41] [INFO] Checking activity reminders 
[2026-04-26 17:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:43:05] [INFO] Checking activity reminders 
[2026-04-26 17:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:43:11] [INFO] Checking activity reminders 
[2026-04-26 17:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:43:35] [INFO] Checking activity reminders 
[2026-04-26 17:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:43:41] [INFO] Checking activity reminders 
[2026-04-26 17:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:43:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884d81c07af1.20454520","person_id":"21608"}
[2026-04-26 17:44:05] [INFO] Checking activity reminders 
[2026-04-26 17:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:44:11] [INFO] Checking activity reminders 
[2026-04-26 17:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:44:35] [INFO] Checking activity reminders 
[2026-04-26 17:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:44:41] [INFO] Checking activity reminders 
[2026-04-26 17:44:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:44:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:45:05] [INFO] Checking activity reminders 
[2026-04-26 17:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:45:11] [INFO] Checking activity reminders 
[2026-04-26 17:45:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:45:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:45:35] [INFO] Checking activity reminders 
[2026-04-26 17:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:45:42] [INFO] Checking activity reminders 
[2026-04-26 17:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:46:05] [INFO] Checking activity reminders 
[2026-04-26 17:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:46:12] [INFO] Checking activity reminders 
[2026-04-26 17:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:46:36] [INFO] Checking activity reminders 
[2026-04-26 17:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:46:42] [INFO] Checking activity reminders 
[2026-04-26 17:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:47:06] [INFO] Checking activity reminders 
[2026-04-26 17:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:47:12] [INFO] Checking activity reminders 
[2026-04-26 17:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:47:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:47:36] [INFO] Checking activity reminders 
[2026-04-26 17:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:47:42] [INFO] Checking activity reminders 
[2026-04-26 17:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:48:06] [INFO] Checking activity reminders 
[2026-04-26 17:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:48:12] [INFO] Checking activity reminders 
[2026-04-26 17:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:48:20] [INFO] Activity save request {"post_data":{"contact_id":"local_69884de0a4a832.02844346","deal_id":"local_69884de0a79fb","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سرمایه گذاری بلند مدت کرده الان برای نوسان گیری و عضویت در کانال سرمایه در گردش نداره ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 17:48:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69884de0a4a832.02844346","note_was_empty":true}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:20] [INFO] Updating virtual stage {"contact_id":"local_69884de0a4a832.02844346","stage_name":"deal_registered","force":false}
[2026-04-26 17:48:20] [INFO] Virtual stage successfully saved {"contact_id":"local_69884de0a4a832.02844346","stage_name":"deal_registered"}
[2026-04-26 17:48:20] [INFO] Virtual stage updated after activity save {"contact_id":"local_69884de0a4a832.02844346"}
[2026-04-26 17:48:20] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69884de0a79fb","stage":"تماس پیگیری","status_change":null}
[2026-04-26 17:48:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee1eacca4f64.57775011","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee1eacca4f64.57775011"}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:20] [INFO] Updating virtual stage {"contact_id":"local_69884de0a4a832.02844346","stage_name":"deal_registered","force":false}
[2026-04-26 17:48:20] [INFO] Virtual stage successfully saved {"contact_id":"local_69884de0a4a832.02844346","stage_name":"deal_registered"}
[2026-04-26 17:48:20] [INFO] Virtual stage updated after activity save {"contact_id":"local_69884de0a4a832.02844346"}
[2026-04-26 17:48:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884de0a4a832.02844346","person_id":"21610"}
[2026-04-26 17:48:31] [INFO] Checking activity reminders 
[2026-04-26 17:48:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:48:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:48:36] [INFO] Checking activity reminders 
[2026-04-26 17:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:49:02] [INFO] Checking activity reminders 
[2026-04-26 17:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:49:06] [INFO] Checking activity reminders 
[2026-04-26 17:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:49:32] [INFO] Checking activity reminders 
[2026-04-26 17:49:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:49:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:49:36] [INFO] Checking activity reminders 
[2026-04-26 17:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:50:02] [INFO] Checking activity reminders 
[2026-04-26 17:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:50:06] [INFO] Checking activity reminders 
[2026-04-26 17:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:50:32] [INFO] Checking activity reminders 
[2026-04-26 17:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:50:36] [INFO] Checking activity reminders 
[2026-04-26 17:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:51:02] [INFO] Checking activity reminders 
[2026-04-26 17:51:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:51:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:51:06] [INFO] Checking activity reminders 
[2026-04-26 17:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:51:32] [INFO] Checking activity reminders 
[2026-04-26 17:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:51:36] [INFO] Checking activity reminders 
[2026-04-26 17:51:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:51:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:51:38] [WARNING] Auth check failed - not authenticated {"session_id":"2d5jfn42qpj9htv76usqglaccg","session_keys":[],"action":"check_reminders"}
[2026-04-26 17:51:38] [WARNING] Auth check failed - not authenticated {"session_id":"2d5jfn42qpj9htv76usqglaccg","session_keys":[],"action":"log_client_event"}
[2026-04-26 17:51:38] [WARNING] Auth check failed - not authenticated {"session_id":"2d5jfn42qpj9htv76usqglaccg","session_keys":[],"action":"log_client_event"}
[2026-04-26 17:52:02] [INFO] Checking activity reminders 
[2026-04-26 17:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:52:07] [INFO] Checking activity reminders 
[2026-04-26 17:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:52:32] [INFO] Checking activity reminders 
[2026-04-26 17:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:52:37] [INFO] Checking activity reminders 
[2026-04-26 17:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:52:38] [INFO] Checking activity reminders 
[2026-04-26 17:52:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:52:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:52:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:53:02] [INFO] Checking activity reminders 
[2026-04-26 17:53:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:07] [INFO] Checking activity reminders 
[2026-04-26 17:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:10] [INFO] Checking activity reminders 
[2026-04-26 17:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:53:32] [INFO] Checking activity reminders 
[2026-04-26 17:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:37] [INFO] Checking activity reminders 
[2026-04-26 17:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:40] [INFO] Checking activity reminders 
[2026-04-26 17:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:53:58] [INFO] Lead update received {"contact_id":"20973","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 17:53:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:53:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:53:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:53:58] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20973"}
[2026-04-26 17:53:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:54:02] [INFO] Checking activity reminders 
[2026-04-26 17:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:54:07] [INFO] Checking activity reminders 
[2026-04-26 17:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:54:32] [INFO] Checking activity reminders 
[2026-04-26 17:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:54:37] [INFO] Checking activity reminders 
[2026-04-26 17:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:55:02] [INFO] Checking activity reminders 
[2026-04-26 17:55:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:55:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:55:07] [INFO] Checking activity reminders 
[2026-04-26 17:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:55:33] [INFO] Checking activity reminders 
[2026-04-26 17:55:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:55:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:56:03] [INFO] Checking activity reminders 
[2026-04-26 17:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:56:33] [INFO] Checking activity reminders 
[2026-04-26 17:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:56:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5cf1280cb81.11074755","person_id":"21864"}
[2026-04-26 17:57:03] [INFO] Checking activity reminders 
[2026-04-26 17:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:57:31] [INFO] Checking activity reminders 
[2026-04-26 17:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:57:33] [INFO] Checking activity reminders 
[2026-04-26 17:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:58:03] [INFO] Checking activity reminders 
[2026-04-26 17:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:58:04] [INFO] Checking activity reminders 
[2026-04-26 17:58:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:58:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:58:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 17:58:33] [INFO] Checking activity reminders 
[2026-04-26 17:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:58:34] [INFO] Checking activity reminders 
[2026-04-26 17:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:59:03] [INFO] Checking activity reminders 
[2026-04-26 17:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:59:04] [INFO] Checking activity reminders 
[2026-04-26 17:59:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:59:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:59:07] [INFO] Checking activity reminders 
[2026-04-26 17:59:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:59:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:59:33] [INFO] Checking activity reminders 
[2026-04-26 17:59:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:59:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 17:59:37] [INFO] Checking activity reminders 
[2026-04-26 17:59:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 17:59:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:00:03] [INFO] Checking activity reminders 
[2026-04-26 18:00:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:00:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:00:07] [INFO] Checking activity reminders 
[2026-04-26 18:00:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:00:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:00:33] [INFO] Checking activity reminders 
[2026-04-26 18:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:00:35] [INFO] Checking activity reminders 
[2026-04-26 18:00:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:00:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:00:37] [INFO] Checking activity reminders 
[2026-04-26 18:00:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:00:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:03] [INFO] Checking activity reminders 
[2026-04-26 18:01:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:05] [INFO] Checking activity reminders 
[2026-04-26 18:01:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:28] [INFO] Checking activity reminders 
[2026-04-26 18:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:33] [INFO] Checking activity reminders 
[2026-04-26 18:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:36] [INFO] Checking activity reminders 
[2026-04-26 18:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:01:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 18:01:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 18:01:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 18:01:44] [INFO] Activity save request {"post_data":{"contact_id":"20973","deal_id":"18670","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"الباقی کانال رو چک داده پاسم شده \/ تسویه هست\/ در خصوص سی ای پی ناراضی بود متقاعد کردم خوش برخورد بود 2ت اینطورا داره صندئق \/ ","activity_duration":"30","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 18:01:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20973","note_was_empty":true}
[2026-04-26 18:01:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"20973","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] Updating virtual stage {"contact_id":"20973","stage_name":"deal_registered","force":false}
[2026-04-26 18:01:44] [INFO] Virtual stage successfully saved {"contact_id":"20973","stage_name":"deal_registered"}
[2026-04-26 18:01:44] [INFO] Virtual stage updated after activity save {"contact_id":"20973"}
[2026-04-26 18:01:44] [INFO] Pipeline stage updated after activity save {"deal_id":"18670","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-26 18:01:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee21d028dc39.06118202","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee21d028dc39.06118202"}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] Updating virtual stage {"contact_id":"20973","stage_name":"deal_registered","force":false}
[2026-04-26 18:01:44] [INFO] Virtual stage successfully saved {"contact_id":"20973","stage_name":"deal_registered"}
[2026-04-26 18:01:44] [INFO] Virtual stage updated after activity save {"contact_id":"20973"}
[2026-04-26 18:01:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:01:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 18:01:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 18:01:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 18:01:58] [INFO] Checking activity reminders 
[2026-04-26 18:01:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:01:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:03] [INFO] Checking activity reminders 
[2026-04-26 18:02:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:06] [INFO] Checking activity reminders 
[2026-04-26 18:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:28] [INFO] Checking activity reminders 
[2026-04-26 18:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:34] [INFO] Checking activity reminders 
[2026-04-26 18:02:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:36] [INFO] Checking activity reminders 
[2026-04-26 18:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:02:59] [INFO] Checking activity reminders 
[2026-04-26 18:02:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:02:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:04] [INFO] Checking activity reminders 
[2026-04-26 18:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:06] [INFO] Checking activity reminders 
[2026-04-26 18:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:29] [INFO] Checking activity reminders 
[2026-04-26 18:03:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:34] [INFO] Checking activity reminders 
[2026-04-26 18:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:36] [INFO] Checking activity reminders 
[2026-04-26 18:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:03:59] [INFO] Checking activity reminders 
[2026-04-26 18:03:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:03:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:04] [INFO] Checking activity reminders 
[2026-04-26 18:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:06] [INFO] Checking activity reminders 
[2026-04-26 18:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:29] [INFO] Checking activity reminders 
[2026-04-26 18:04:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:34] [INFO] Checking activity reminders 
[2026-04-26 18:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:36] [INFO] Checking activity reminders 
[2026-04-26 18:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:04:59] [INFO] Checking activity reminders 
[2026-04-26 18:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:04] [INFO] Checking activity reminders 
[2026-04-26 18:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:06] [INFO] Checking activity reminders 
[2026-04-26 18:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:29] [INFO] Checking activity reminders 
[2026-04-26 18:05:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:34] [INFO] Checking activity reminders 
[2026-04-26 18:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:36] [INFO] Checking activity reminders 
[2026-04-26 18:05:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:05:59] [INFO] Checking activity reminders 
[2026-04-26 18:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:04] [INFO] Checking activity reminders 
[2026-04-26 18:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:06] [INFO] Checking activity reminders 
[2026-04-26 18:06:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:29] [INFO] Checking activity reminders 
[2026-04-26 18:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:34] [INFO] Checking activity reminders 
[2026-04-26 18:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:36] [INFO] Checking activity reminders 
[2026-04-26 18:06:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:06:59] [INFO] Checking activity reminders 
[2026-04-26 18:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:04] [INFO] Checking activity reminders 
[2026-04-26 18:07:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:06] [INFO] Checking activity reminders 
[2026-04-26 18:07:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:29] [INFO] Checking activity reminders 
[2026-04-26 18:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:34] [INFO] Checking activity reminders 
[2026-04-26 18:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:36] [INFO] Checking activity reminders 
[2026-04-26 18:07:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:07:59] [INFO] Checking activity reminders 
[2026-04-26 18:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:08:04] [INFO] Checking activity reminders 
[2026-04-26 18:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:08:21] [WARNING] Auth check failed - not authenticated {"session_id":"9l3rq6cfqol4oalsg6oht192ep","session_keys":[],"action":"log_client_event"}
[2026-04-26 18:08:21] [WARNING] Login attempt failed - wrong password {"user_id":"1714","identifier":"خانم شایسته 2"}
[2026-04-26 18:08:27] [WARNING] Auth check failed - not authenticated {"session_id":"9l3rq6cfqol4oalsg6oht192ep","session_keys":[],"action":"log_client_event"}
[2026-04-26 18:08:27] [WARNING] Login attempt failed - wrong password {"user_id":"1714","identifier":"خانم شایسته 2"}
[2026-04-26 18:08:29] [INFO] Checking activity reminders 
[2026-04-26 18:08:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:08:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:08:33] [WARNING] Auth check failed - not authenticated {"session_id":"9l3rq6cfqol4oalsg6oht192ep","session_keys":[],"action":"log_client_event"}
[2026-04-26 18:08:33] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-26 18:08:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 18:08:34] [INFO] Checking activity reminders 
[2026-04-26 18:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:08:54] [INFO] Checking activity reminders 
[2026-04-26 18:08:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:08:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:08:59] [INFO] Checking activity reminders 
[2026-04-26 18:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:04] [INFO] Checking activity reminders 
[2026-04-26 18:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:24] [INFO] Checking activity reminders 
[2026-04-26 18:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:29] [INFO] Checking activity reminders 
[2026-04-26 18:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:35] [INFO] Checking activity reminders 
[2026-04-26 18:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:45] [INFO] Checking activity reminders 
[2026-04-26 18:09:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:09:59] [INFO] Checking activity reminders 
[2026-04-26 18:09:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:09:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:10:05] [INFO] Checking activity reminders 
[2026-04-26 18:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:10:15] [INFO] Checking activity reminders 
[2026-04-26 18:10:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:10:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:10:30] [INFO] Checking activity reminders 
[2026-04-26 18:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:10:52] [INFO] Checking activity reminders 
[2026-04-26 18:10:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:10:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:11:00] [INFO] Checking activity reminders 
[2026-04-26 18:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:11:30] [INFO] Checking activity reminders 
[2026-04-26 18:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:12:00] [INFO] Checking activity reminders 
[2026-04-26 18:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:12:14] [INFO] Checking activity reminders 
[2026-04-26 18:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:12:30] [INFO] Checking activity reminders 
[2026-04-26 18:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:12:44] [INFO] Checking activity reminders 
[2026-04-26 18:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:12:47] [INFO] Checking activity reminders 
[2026-04-26 18:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:00] [INFO] Checking activity reminders 
[2026-04-26 18:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:14] [INFO] Checking activity reminders 
[2026-04-26 18:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:17] [INFO] Checking activity reminders 
[2026-04-26 18:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:29] [INFO] Checking activity reminders 
[2026-04-26 18:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:13:45] [INFO] Checking activity reminders 
[2026-04-26 18:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:45] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20973","deal_id":"18670","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 18:13:45","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 18:13:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:13:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20973","is_new_deal":false}
[2026-04-26 18:13:45] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 18:13:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 18:13:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 18:13:45] [INFO] getContactPrimaryPhone called {"contact_id":"20973"}
[2026-04-26 18:13:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:13:45] [INFO] getContactPrimaryPhone result {"contact_id":"20973","person_found":true,"primary_phone":"9103110415"}
[2026-04-26 18:13:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9103110415"}
[2026-04-26 18:13:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9103110415","contact_id":"20973","deal_id":"18670","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 18:13:45"}
[2026-04-26 18:13:45] [INFO] DealController.save existing deal lookup {"deal_id":"18670","contact_id":"20973","existing_deal_found":true,"existing_contact_id":"20973","existing_title":"معامله فرشاد میرزایی | کانال VIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 18:13:45"}
[2026-04-26 18:13:45] [INFO] DealController.save validated payments {"deal_id":"18670","contact_id":"20973","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-26 18:13:45] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20973","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 18:13:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"18670","contact_didar_id":"20973","title":"معامله فرشاد میرزایی | کانال VIP با پشتیبانی","base_title_used":"معامله فرشاد میرزایی","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فرشاد میرزایی","existing_deal":"YES","existing_deal_id":"18670","existing_deal_status":"Pending","server_time":"2026-04-26 18:13:45","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 18:13:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:13:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"18670","contact_id":"20973","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله فرشاد میرزایی | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-26 18:13:45","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 18:13:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:13:47] [INFO] Checking activity reminders 
[2026-04-26 18:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:13:59] [INFO] Checking activity reminders 
[2026-04-26 18:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:15] [INFO] Checking activity reminders 
[2026-04-26 18:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:17] [INFO] Checking activity reminders 
[2026-04-26 18:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:29] [INFO] Checking activity reminders 
[2026-04-26 18:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 18:14:50] [INFO] Checking activity reminders 
[2026-04-26 18:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:55] [INFO] Checking activity reminders 
[2026-04-26 18:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:14:59] [INFO] Checking activity reminders 
[2026-04-26 18:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:15:15] [INFO] Checking activity reminders 
[2026-04-26 18:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:19] [INFO] Checking activity reminders 
[2026-04-26 18:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:21] [INFO] Checking activity reminders 
[2026-04-26 18:15:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:25] [INFO] Checking activity reminders 
[2026-04-26 18:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:45] [INFO] Checking activity reminders 
[2026-04-26 18:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:51] [INFO] Checking activity reminders 
[2026-04-26 18:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:15:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20973","deal_id":"18670","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 18:15:55","session_id":"lcomtd0elmes7j647egbf3eu6u"}
[2026-04-26 18:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:15:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20973","is_new_deal":false}
[2026-04-26 18:15:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 18:15:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 18:15:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 18:15:55] [INFO] getContactPrimaryPhone called {"contact_id":"20973"}
[2026-04-26 18:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:15:55] [INFO] getContactPrimaryPhone result {"contact_id":"20973","person_found":true,"primary_phone":"9103110415"}
[2026-04-26 18:15:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9103110415"}
[2026-04-26 18:15:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9103110415","contact_id":"20973","deal_id":"18670","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-26 18:15:55"}
[2026-04-26 18:15:55] [INFO] DealController.save existing deal lookup {"deal_id":"18670","contact_id":"20973","existing_deal_found":true,"existing_contact_id":"20973","existing_title":"معامله فرشاد میرزایی | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-26 18:15:55"}
[2026-04-26 18:15:55] [INFO] DealController.save validated payments {"deal_id":"18670","contact_id":"20973","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-26 18:15:55] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20973","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 18:15:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"18670","contact_didar_id":"20973","title":"معامله فرشاد میرزایی | کانال VIP با پشتیبانی","base_title_used":"معامله فرشاد میرزایی","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"فرشاد میرزایی","existing_deal":"YES","existing_deal_id":"18670","existing_deal_status":"Pending","server_time":"2026-04-26 18:15:55","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-26 18:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:15:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"18670","contact_id":"20973","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله فرشاد میرزایی | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-26 18:15:55","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 18:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20973","person_id":"14413"}
[2026-04-26 18:15:55] [INFO] Checking activity reminders 
[2026-04-26 18:15:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:15:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:16:15] [INFO] Checking activity reminders 
[2026-04-26 18:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:16:45] [INFO] Checking activity reminders 
[2026-04-26 18:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:16:57] [INFO] Checking activity reminders 
[2026-04-26 18:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:16:59] [INFO] Checking activity reminders 
[2026-04-26 18:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:17:15] [INFO] Checking activity reminders 
[2026-04-26 18:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:17:29] [INFO] Checking activity reminders 
[2026-04-26 18:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:17:45] [INFO] Checking activity reminders 
[2026-04-26 18:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:17:52] [INFO] Checking activity reminders 
[2026-04-26 18:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:17:59] [INFO] Checking activity reminders 
[2026-04-26 18:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:18:15] [INFO] Checking activity reminders 
[2026-04-26 18:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:18:29] [INFO] Checking activity reminders 
[2026-04-26 18:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:18:45] [INFO] Checking activity reminders 
[2026-04-26 18:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:18:59] [INFO] Checking activity reminders 
[2026-04-26 18:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:19:01] [INFO] Checking activity reminders 
[2026-04-26 18:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:19:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:19:16] [INFO] Checking activity reminders 
[2026-04-26 18:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:19:29] [INFO] Checking activity reminders 
[2026-04-26 18:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:19:59] [INFO] Checking activity reminders 
[2026-04-26 18:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:20:29] [INFO] Checking activity reminders 
[2026-04-26 18:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:21:00] [INFO] Checking activity reminders 
[2026-04-26 18:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:21:30] [INFO] Checking activity reminders 
[2026-04-26 18:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:23:57] [INFO] Checking activity reminders 
[2026-04-26 18:23:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:23:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:23:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-26 18:24:18] [INFO] Lead update received {"contact_id":"9004","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 18:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-26 18:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-26 18:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-26 18:24:18] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9004"}
[2026-04-26 18:24:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-26 18:27:09] [INFO] Checking activity reminders 
[2026-04-26 18:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:27:11] [INFO] Checking activity reminders 
[2026-04-26 18:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:27:41] [INFO] Checking activity reminders 
[2026-04-26 18:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:28:11] [INFO] Checking activity reminders 
[2026-04-26 18:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:28:17] [INFO] Checking activity reminders 
[2026-04-26 18:28:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:28:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:28:47] [INFO] Checking activity reminders 
[2026-04-26 18:28:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:28:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:29:17] [INFO] Checking activity reminders 
[2026-04-26 18:29:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:29:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:29:47] [INFO] Checking activity reminders 
[2026-04-26 18:29:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:29:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:29:54] [INFO] Checking activity reminders 
[2026-04-26 18:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:24] [INFO] Checking activity reminders 
[2026-04-26 18:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:27] [INFO] Activity save request {"post_data":{"contact_id":"local_6989b7d9607fa1.01628805","deal_id":"local_6989b7d964633","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 18:30:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_6989b7d9607fa1.01628805","note_was_empty":true}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:27] [INFO] Updating virtual stage {"contact_id":"local_6989b7d9607fa1.01628805","stage_name":"deal_registered","force":false}
[2026-04-26 18:30:27] [INFO] Virtual stage successfully saved {"contact_id":"local_6989b7d9607fa1.01628805","stage_name":"deal_registered"}
[2026-04-26 18:30:27] [INFO] Virtual stage updated after activity save {"contact_id":"local_6989b7d9607fa1.01628805"}
[2026-04-26 18:30:27] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6989b7d964633","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-26 18:30:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee288b61fdd5.45386813","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee288b61fdd5.45386813"}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:27] [INFO] Updating virtual stage {"contact_id":"local_6989b7d9607fa1.01628805","stage_name":"deal_registered","force":false}
[2026-04-26 18:30:27] [INFO] Virtual stage successfully saved {"contact_id":"local_6989b7d9607fa1.01628805","stage_name":"deal_registered"}
[2026-04-26 18:30:27] [INFO] Virtual stage updated after activity save {"contact_id":"local_6989b7d9607fa1.01628805"}
[2026-04-26 18:30:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7d9607fa1.01628805","person_id":"21644"}
[2026-04-26 18:30:38] [INFO] Checking activity reminders 
[2026-04-26 18:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:40] [INFO] Checking activity reminders 
[2026-04-26 18:30:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:42] [INFO] Checking activity reminders 
[2026-04-26 18:30:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:45] [INFO] Checking activity reminders 
[2026-04-26 18:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:30:50] [INFO] Checking activity reminders 
[2026-04-26 18:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:31:04] [INFO] Checking activity reminders 
[2026-04-26 18:31:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:31:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:31:34] [INFO] Checking activity reminders 
[2026-04-26 18:31:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:31:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:31:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b7f70da5f6.98229071","person_id":"21645"}
[2026-04-26 18:32:04] [INFO] Checking activity reminders 
[2026-04-26 18:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:32:34] [INFO] Checking activity reminders 
[2026-04-26 18:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:33:04] [INFO] Checking activity reminders 
[2026-04-26 18:33:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:33:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:33:34] [INFO] Checking activity reminders 
[2026-04-26 18:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:34:05] [INFO] Checking activity reminders 
[2026-04-26 18:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:34:35] [INFO] Checking activity reminders 
[2026-04-26 18:34:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:34:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:35:05] [INFO] Checking activity reminders 
[2026-04-26 18:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:35:35] [INFO] Checking activity reminders 
[2026-04-26 18:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:36:05] [INFO] Checking activity reminders 
[2026-04-26 18:36:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:36:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:36:35] [INFO] Checking activity reminders 
[2026-04-26 18:36:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:36:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:37:05] [INFO] Checking activity reminders 
[2026-04-26 18:37:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:37:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:37:35] [INFO] Checking activity reminders 
[2026-04-26 18:37:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:37:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:38:05] [INFO] Checking activity reminders 
[2026-04-26 18:38:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:38:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:38:35] [INFO] Checking activity reminders 
[2026-04-26 18:38:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:38:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:39:05] [INFO] Checking activity reminders 
[2026-04-26 18:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:39:35] [INFO] Checking activity reminders 
[2026-04-26 18:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:40:05] [INFO] Checking activity reminders 
[2026-04-26 18:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:40:35] [INFO] Checking activity reminders 
[2026-04-26 18:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:41:06] [INFO] Checking activity reminders 
[2026-04-26 18:41:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:41:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:41:36] [INFO] Checking activity reminders 
[2026-04-26 18:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:42:06] [INFO] Checking activity reminders 
[2026-04-26 18:42:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:42:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:42:36] [INFO] Checking activity reminders 
[2026-04-26 18:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:43:06] [INFO] Checking activity reminders 
[2026-04-26 18:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:43:36] [INFO] Checking activity reminders 
[2026-04-26 18:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:44:06] [INFO] Checking activity reminders 
[2026-04-26 18:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:44:36] [INFO] Checking activity reminders 
[2026-04-26 18:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:45:06] [INFO] Checking activity reminders 
[2026-04-26 18:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:45:36] [INFO] Checking activity reminders 
[2026-04-26 18:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:46:06] [INFO] Checking activity reminders 
[2026-04-26 18:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:46:36] [INFO] Checking activity reminders 
[2026-04-26 18:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:47:07] [INFO] Checking activity reminders 
[2026-04-26 18:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:47:37] [INFO] Checking activity reminders 
[2026-04-26 18:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:48:07] [INFO] Checking activity reminders 
[2026-04-26 18:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:48:37] [INFO] Checking activity reminders 
[2026-04-26 18:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:49:07] [INFO] Checking activity reminders 
[2026-04-26 18:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:49:37] [INFO] Checking activity reminders 
[2026-04-26 18:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:50:07] [INFO] Checking activity reminders 
[2026-04-26 18:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:50:37] [INFO] Checking activity reminders 
[2026-04-26 18:50:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:50:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:51:07] [INFO] Checking activity reminders 
[2026-04-26 18:51:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:51:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:51:37] [INFO] Checking activity reminders 
[2026-04-26 18:51:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:51:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:52:07] [INFO] Checking activity reminders 
[2026-04-26 18:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:52:37] [INFO] Checking activity reminders 
[2026-04-26 18:52:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:52:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:53:07] [INFO] Checking activity reminders 
[2026-04-26 18:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:53:38] [INFO] Checking activity reminders 
[2026-04-26 18:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:54:08] [INFO] Checking activity reminders 
[2026-04-26 18:54:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:54:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:54:25] [INFO] Checking activity reminders 
[2026-04-26 18:54:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:54:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:54:55] [INFO] Checking activity reminders 
[2026-04-26 18:54:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:54:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:54:59] [INFO] Checking activity reminders 
[2026-04-26 18:54:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:54:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:55:07] [INFO] Checking activity reminders 
[2026-04-26 18:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:55:11] [INFO] Checking activity reminders 
[2026-04-26 18:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:55:41] [INFO] Checking activity reminders 
[2026-04-26 18:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:56:11] [INFO] Checking activity reminders 
[2026-04-26 18:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:56:41] [INFO] Checking activity reminders 
[2026-04-26 18:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:57:11] [INFO] Checking activity reminders 
[2026-04-26 18:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:57:41] [INFO] Checking activity reminders 
[2026-04-26 18:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:58:11] [INFO] Checking activity reminders 
[2026-04-26 18:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:58:41] [INFO] Checking activity reminders 
[2026-04-26 18:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:59:11] [INFO] Checking activity reminders 
[2026-04-26 18:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 18:59:41] [INFO] Checking activity reminders 
[2026-04-26 18:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 18:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:00:11] [INFO] Checking activity reminders 
[2026-04-26 19:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:00:41] [INFO] Checking activity reminders 
[2026-04-26 19:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:01:11] [INFO] Checking activity reminders 
[2026-04-26 19:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:01:41] [INFO] Checking activity reminders 
[2026-04-26 19:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:02:12] [INFO] Checking activity reminders 
[2026-04-26 19:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:02:42] [INFO] Checking activity reminders 
[2026-04-26 19:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:03:12] [INFO] Checking activity reminders 
[2026-04-26 19:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:03:42] [INFO] Checking activity reminders 
[2026-04-26 19:03:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:03:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:04:12] [INFO] Checking activity reminders 
[2026-04-26 19:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:04:42] [INFO] Checking activity reminders 
[2026-04-26 19:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:05:12] [INFO] Checking activity reminders 
[2026-04-26 19:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:05:42] [INFO] Checking activity reminders 
[2026-04-26 19:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:06:12] [INFO] Checking activity reminders 
[2026-04-26 19:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:06:42] [INFO] Checking activity reminders 
[2026-04-26 19:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:07:12] [INFO] Checking activity reminders 
[2026-04-26 19:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:07:42] [INFO] Checking activity reminders 
[2026-04-26 19:07:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:07:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:08:12] [INFO] Checking activity reminders 
[2026-04-26 19:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:08:43] [INFO] Checking activity reminders 
[2026-04-26 19:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:09:13] [INFO] Checking activity reminders 
[2026-04-26 19:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:09:43] [INFO] Checking activity reminders 
[2026-04-26 19:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:10:13] [INFO] Checking activity reminders 
[2026-04-26 19:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:10:32] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-26 19:10:32] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-26 19:10:32] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"check_reminders"}
[2026-04-26 19:10:32] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-26 19:10:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-26 19:10:39] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-26 19:10:39] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-26 19:10:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 19:10:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:10:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:10:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:10:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:10:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:10:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:10:43] [INFO] Checking activity reminders 
[2026-04-26 19:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:11:09] [INFO] Checking activity reminders 
[2026-04-26 19:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:11:13] [INFO] Checking activity reminders 
[2026-04-26 19:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:11:39] [INFO] Checking activity reminders 
[2026-04-26 19:11:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:11:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:11:43] [INFO] Checking activity reminders 
[2026-04-26 19:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:12:09] [INFO] Checking activity reminders 
[2026-04-26 19:12:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:12:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:12:13] [INFO] Checking activity reminders 
[2026-04-26 19:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:12:39] [INFO] Checking activity reminders 
[2026-04-26 19:12:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:12:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:12:40] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:12:40] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:12:40] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:12:43] [INFO] Checking activity reminders 
[2026-04-26 19:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:12:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:12:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:12:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:12:48] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 19:12:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 19:13:13] [INFO] Checking activity reminders 
[2026-04-26 19:13:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:13:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:13:18] [INFO] Checking activity reminders 
[2026-04-26 19:13:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:13:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:13:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 19:13:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7993","person_id":"12348"}
[2026-04-26 19:13:43] [INFO] Checking activity reminders 
[2026-04-26 19:13:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:13:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:13:48] [INFO] Checking activity reminders 
[2026-04-26 19:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:13:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:14:13] [INFO] Checking activity reminders 
[2026-04-26 19:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:14:18] [INFO] Checking activity reminders 
[2026-04-26 19:14:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:14:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:14:43] [INFO] Checking activity reminders 
[2026-04-26 19:14:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:14:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:14:49] [INFO] Checking activity reminders 
[2026-04-26 19:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:15:14] [INFO] Checking activity reminders 
[2026-04-26 19:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:15:19] [INFO] Checking activity reminders 
[2026-04-26 19:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:15:44] [INFO] Checking activity reminders 
[2026-04-26 19:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:15:54] [INFO] Checking activity reminders 
[2026-04-26 19:15:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:15:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:16:14] [INFO] Checking activity reminders 
[2026-04-26 19:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:16:24] [INFO] Checking activity reminders 
[2026-04-26 19:16:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:16:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:16:44] [INFO] Checking activity reminders 
[2026-04-26 19:16:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:16:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:16:54] [INFO] Checking activity reminders 
[2026-04-26 19:16:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:16:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:17:14] [INFO] Checking activity reminders 
[2026-04-26 19:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:17:24] [INFO] Checking activity reminders 
[2026-04-26 19:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:17:44] [INFO] Checking activity reminders 
[2026-04-26 19:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:17:54] [INFO] Checking activity reminders 
[2026-04-26 19:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:18:14] [INFO] Checking activity reminders 
[2026-04-26 19:18:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:18:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:18:24] [INFO] Checking activity reminders 
[2026-04-26 19:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:18:44] [INFO] Checking activity reminders 
[2026-04-26 19:18:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:18:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:18:54] [INFO] Checking activity reminders 
[2026-04-26 19:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:19:14] [INFO] Checking activity reminders 
[2026-04-26 19:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:19:24] [INFO] Checking activity reminders 
[2026-04-26 19:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:19:44] [INFO] Checking activity reminders 
[2026-04-26 19:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:19:55] [INFO] Checking activity reminders 
[2026-04-26 19:19:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:19:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:20:14] [INFO] Checking activity reminders 
[2026-04-26 19:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:20:25] [INFO] Checking activity reminders 
[2026-04-26 19:20:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:20:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:20:44] [INFO] Checking activity reminders 
[2026-04-26 19:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:20:55] [INFO] Checking activity reminders 
[2026-04-26 19:20:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:20:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:21:14] [INFO] Checking activity reminders 
[2026-04-26 19:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:21:25] [INFO] Checking activity reminders 
[2026-04-26 19:21:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:21:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:21:45] [INFO] Checking activity reminders 
[2026-04-26 19:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:21:55] [INFO] Checking activity reminders 
[2026-04-26 19:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:22:15] [INFO] Checking activity reminders 
[2026-04-26 19:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:22:25] [INFO] Checking activity reminders 
[2026-04-26 19:22:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:22:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:22:45] [INFO] Checking activity reminders 
[2026-04-26 19:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:22:55] [INFO] Checking activity reminders 
[2026-04-26 19:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:23:15] [INFO] Checking activity reminders 
[2026-04-26 19:23:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:23:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:23:25] [INFO] Checking activity reminders 
[2026-04-26 19:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:23:45] [INFO] Checking activity reminders 
[2026-04-26 19:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:23:56] [INFO] Checking activity reminders 
[2026-04-26 19:23:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:23:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:24:15] [INFO] Checking activity reminders 
[2026-04-26 19:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:24:26] [INFO] Checking activity reminders 
[2026-04-26 19:24:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:24:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:24:45] [INFO] Checking activity reminders 
[2026-04-26 19:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:24:56] [INFO] Checking activity reminders 
[2026-04-26 19:24:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:24:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:25:15] [INFO] Checking activity reminders 
[2026-04-26 19:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:25:26] [INFO] Checking activity reminders 
[2026-04-26 19:25:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:25:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:25:38] [INFO] Checking activity reminders 
[2026-04-26 19:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:25:45] [INFO] Checking activity reminders 
[2026-04-26 19:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:26:08] [INFO] Checking activity reminders 
[2026-04-26 19:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:26:15] [INFO] Checking activity reminders 
[2026-04-26 19:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:26:38] [INFO] Checking activity reminders 
[2026-04-26 19:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:26:45] [INFO] Checking activity reminders 
[2026-04-26 19:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:27:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:27:08] [INFO] Checking activity reminders 
[2026-04-26 19:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:27:15] [INFO] Checking activity reminders 
[2026-04-26 19:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:27:38] [INFO] Checking activity reminders 
[2026-04-26 19:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:27:45] [INFO] Checking activity reminders 
[2026-04-26 19:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:28:08] [INFO] Checking activity reminders 
[2026-04-26 19:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:28:13] [INFO] Lead update received {"contact_id":"5265","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:28:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5265"}
[2026-04-26 19:28:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:28:15] [INFO] Checking activity reminders 
[2026-04-26 19:28:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:28:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:28:39] [INFO] Checking activity reminders 
[2026-04-26 19:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:28:46] [INFO] Checking activity reminders 
[2026-04-26 19:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:29:09] [INFO] Checking activity reminders 
[2026-04-26 19:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:29:16] [INFO] Checking activity reminders 
[2026-04-26 19:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:29:39] [INFO] Checking activity reminders 
[2026-04-26 19:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:29:46] [INFO] Checking activity reminders 
[2026-04-26 19:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:30:16] [INFO] Checking activity reminders 
[2026-04-26 19:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:30:46] [INFO] Checking activity reminders 
[2026-04-26 19:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:37:34] [INFO] Checking activity reminders 
[2026-04-26 19:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:37:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-26 19:37:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:38:00] [INFO] Lead update received {"contact_id":"13234","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:38:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13234"}
[2026-04-26 19:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:40:25] [INFO] Checking activity reminders 
[2026-04-26 19:40:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:40:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:40:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-26 19:40:55] [INFO] Checking activity reminders 
[2026-04-26 19:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:41:25] [INFO] Checking activity reminders 
[2026-04-26 19:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:41:35] [INFO] Lead update received {"contact_id":"7976","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-26 19:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-26 19:41:35] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7976"}
[2026-04-26 19:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-26 19:41:55] [INFO] Checking activity reminders 
[2026-04-26 19:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:42:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:25] [INFO] Checking activity reminders 
[2026-04-26 19:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:42:27] [INFO] Checking activity reminders 
[2026-04-26 19:42:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:42:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:42:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"2675","deal_id":"local_69ca525bcfe515.48532960","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 19:42:48","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"2675","is_new_deal":false}
[2026-04-26 19:42:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:42:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:42:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:42:48] [INFO] getContactPrimaryPhone called {"contact_id":"2675"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [INFO] getContactPrimaryPhone result {"contact_id":"2675","person_found":true,"primary_phone":"9399745818"}
[2026-04-26 19:42:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9399745818"}
[2026-04-26 19:42:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9399745818","contact_id":"2675","deal_id":"local_69ca525bcfe515.48532960","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 19:42:48"}
[2026-04-26 19:42:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","existing_deal_found":true,"existing_contact_id":"2675","existing_title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 19:42:48"}
[2026-04-26 19:42:48] [INFO] DealController.save validated payments {"deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","payments_count":2,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-26 19:42:48] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"2675","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 19:42:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca525bcfe515.48532960","contact_didar_id":"2675","title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9399745818","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"پارسایی پارسایی","existing_deal":"YES","existing_deal_id":"local_69ca525bcfe515.48532960","existing_deal_status":"Pending","server_time":"2026-04-26 19:42:48","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [INFO] Deal success processed {"contact_id":"2675","person_name":"پارسایی پارسایی","products_count":1}
[2026-04-26 19:42:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca525bcfe515.48532960","contact_id":"2675","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9399745818 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-26 19:42:48","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:48] [INFO] Updating virtual stage {"contact_id":"2675","stage_name":"with_purchase","force":true}
[2026-04-26 19:42:48] [INFO] Virtual stage successfully saved {"contact_id":"2675","stage_name":"with_purchase"}
[2026-04-26 19:42:48] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2675","deal_id":"local_69ca525bcfe515.48532960","target_stage":"with_purchase"}
[2026-04-26 19:42:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:42:56] [INFO] Checking activity reminders 
[2026-04-26 19:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:42:57] [INFO] Checking activity reminders 
[2026-04-26 19:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:43:12] [INFO] Lead update received {"contact_id":"13234","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:12] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13234"}
[2026-04-26 19:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:22] [INFO] Lead update received {"contact_id":"2675","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:43:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2675"}
[2026-04-26 19:43:22] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-26 19:43:26] [INFO] Checking activity reminders 
[2026-04-26 19:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:43:27] [INFO] Checking activity reminders 
[2026-04-26 19:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:43:31] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"13234","deal_id":"13557","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 19:43:31","session_id":"6d8sg5ql92dg8q8njkg5nooff4"}
[2026-04-26 19:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:31] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"13234","is_new_deal":false}
[2026-04-26 19:43:31] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:43:31] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:43:31] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 19:43:31] [INFO] getContactPrimaryPhone called {"contact_id":"13234"}
[2026-04-26 19:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:31] [INFO] getContactPrimaryPhone result {"contact_id":"13234","person_found":true,"primary_phone":"9120167882"}
[2026-04-26 19:43:31] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120167882"}
[2026-04-26 19:43:31] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120167882","contact_id":"13234","deal_id":"13557","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 19:43:31"}
[2026-04-26 19:43:31] [INFO] DealController.save existing deal lookup {"deal_id":"13557","contact_id":"13234","existing_deal_found":true,"existing_contact_id":"13234","existing_title":"معامله شایان خطیب","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-26 19:43:31"}
[2026-04-26 19:43:31] [INFO] DealController.save validated payments {"deal_id":"13557","contact_id":"13234","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-26 19:43:31] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13234","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-26 19:43:31] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"13557","contact_didar_id":"13234","title":"معامله شایان خطیب | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله شایان خطیب","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"شایان خطیب","existing_deal":"YES","existing_deal_id":"13557","existing_deal_status":"Pending","server_time":"2026-04-26 19:43:31","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-26 19:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:31] [INFO] ensureDealProductsFromText: products synced {"deal_id":"13557","product_ids":[35]}
[2026-04-26 19:43:31] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"13557","contact_id":"13234","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله شایان خطیب | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-26 19:43:31","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 19:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:43:38] [INFO] Lead update received {"contact_id":"2675","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2675"}
[2026-04-26 19:43:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:43:56] [INFO] Checking activity reminders 
[2026-04-26 19:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:43:57] [INFO] Checking activity reminders 
[2026-04-26 19:43:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:43:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:44:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 19:44:26] [INFO] Checking activity reminders 
[2026-04-26 19:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:44:30] [INFO] Checking activity reminders 
[2026-04-26 19:44:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:44:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3592","person_id":"16652"}
[2026-04-26 19:44:56] [INFO] Checking activity reminders 
[2026-04-26 19:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:00] [INFO] Checking activity reminders 
[2026-04-26 19:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:26] [INFO] Checking activity reminders 
[2026-04-26 19:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:30] [INFO] Checking activity reminders 
[2026-04-26 19:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:49] [INFO] Activity save request {"post_data":{"contact_id":"13234","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"3 ساله دنبال \r\nکرمان \r\nلوازم خانگی \r\nفقط طلای فیزیکی اب شده میخره \r\nاز خرید خودرو جا مونده .\r\nپرزنت 405 \r\nمشاوره با استاد \r\nارسال در بله \r\n","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-26 19:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:45:49] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-26 19:45:49] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-26 19:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:45:49] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13234","note_was_empty":true}
[2026-04-26 19:45:49] [INFO] Didar write disabled; saving activity locally {"contact_id":"13234","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-26 19:45:49] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ee3a3590f112.18014495","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-26 19:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:45:49] [INFO] Activity saved successfully {"activity_id":"local_activity_69ee3a3590f112.18014495"}
[2026-04-26 19:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:45:49] [INFO] Updating virtual stage {"contact_id":"13234","stage_name":"deal_registered","force":false}
[2026-04-26 19:45:49] [INFO] Virtual stage successfully saved {"contact_id":"13234","stage_name":"deal_registered"}
[2026-04-26 19:45:49] [INFO] Virtual stage updated after activity save {"contact_id":"13234"}
[2026-04-26 19:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-26 19:45:50] [INFO] Lead update received {"contact_id":"3592","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3592","person_id":"16652"}
[2026-04-26 19:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3592","person_id":"16652"}
[2026-04-26 19:45:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3592"}
[2026-04-26 19:45:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3592","person_id":"16652"}
[2026-04-26 19:45:55] [INFO] Checking activity reminders 
[2026-04-26 19:45:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:56] [INFO] Checking activity reminders 
[2026-04-26 19:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:45:57] [INFO] Checking activity reminders 
[2026-04-26 19:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:26] [INFO] Checking activity reminders 
[2026-04-26 19:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:27] [INFO] Checking activity reminders 
[2026-04-26 19:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21119","person_id":"988"}
[2026-04-26 19:46:32] [INFO] Checking activity reminders 
[2026-04-26 19:46:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:33] [INFO] Checking activity reminders 
[2026-04-26 19:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:35] [INFO] Checking activity reminders 
[2026-04-26 19:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:48] [INFO] Checking activity reminders 
[2026-04-26 19:46:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:46:56] [INFO] Checking activity reminders 
[2026-04-26 19:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:11] [INFO] Lead update received {"contact_id":"21119","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:47:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21119","person_id":"988"}
[2026-04-26 19:47:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21119","person_id":"988"}
[2026-04-26 19:47:11] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21119"}
[2026-04-26 19:47:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21119","person_id":"988"}
[2026-04-26 19:47:19] [INFO] Checking activity reminders 
[2026-04-26 19:47:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:27] [INFO] Checking activity reminders 
[2026-04-26 19:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-26 19:47:30] [INFO] Checking activity reminders 
[2026-04-26 19:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:32] [INFO] Checking activity reminders 
[2026-04-26 19:47:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:35] [INFO] Checking activity reminders 
[2026-04-26 19:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:47:57] [INFO] Checking activity reminders 
[2026-04-26 19:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:48:05] [INFO] Checking activity reminders 
[2026-04-26 19:48:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:48:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:48:05] [INFO] Lead update received {"contact_id":"11409","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:48:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-26 19:48:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-26 19:48:05] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11409"}
[2026-04-26 19:48:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-26 19:48:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16071","person_id":"18040"}
[2026-04-26 19:48:27] [INFO] Checking activity reminders 
[2026-04-26 19:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:48:35] [INFO] Checking activity reminders 
[2026-04-26 19:48:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:48:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:48:57] [INFO] Checking activity reminders 
[2026-04-26 19:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:49:05] [INFO] Checking activity reminders 
[2026-04-26 19:49:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:49:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:49:20] [INFO] Lead update received {"contact_id":"16071","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:49:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16071","person_id":"18040"}
[2026-04-26 19:49:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16071","person_id":"18040"}
[2026-04-26 19:49:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16071"}
[2026-04-26 19:49:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16071","person_id":"18040"}
[2026-04-26 19:49:27] [INFO] Checking activity reminders 
[2026-04-26 19:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:49:35] [INFO] Checking activity reminders 
[2026-04-26 19:49:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:49:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:49:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2895","person_id":"12586"}
[2026-04-26 19:49:57] [INFO] Checking activity reminders 
[2026-04-26 19:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:50:05] [INFO] Checking activity reminders 
[2026-04-26 19:50:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:50:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:50:28] [INFO] Checking activity reminders 
[2026-04-26 19:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:50:35] [INFO] Checking activity reminders 
[2026-04-26 19:50:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:50:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:50:36] [INFO] Lead update received {"contact_id":"2895","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 19:50:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2895","person_id":"12586"}
[2026-04-26 19:50:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2895","person_id":"12586"}
[2026-04-26 19:50:36] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2895"}
[2026-04-26 19:50:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2895","person_id":"12586"}
[2026-04-26 19:50:58] [INFO] Checking activity reminders 
[2026-04-26 19:50:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:50:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:51:05] [INFO] Checking activity reminders 
[2026-04-26 19:51:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:51:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:51:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 19:51:28] [INFO] Checking activity reminders 
[2026-04-26 19:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:51:35] [INFO] Checking activity reminders 
[2026-04-26 19:51:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:51:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:51:58] [INFO] Checking activity reminders 
[2026-04-26 19:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:52:05] [INFO] Checking activity reminders 
[2026-04-26 19:52:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:52:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:52:28] [INFO] Checking activity reminders 
[2026-04-26 19:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:52:36] [INFO] Checking activity reminders 
[2026-04-26 19:52:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:52:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:53:06] [INFO] Checking activity reminders 
[2026-04-26 19:53:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:53:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 19:53:36] [INFO] Checking activity reminders 
[2026-04-26 19:53:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 19:53:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:03:17] [INFO] Checking activity reminders 
[2026-04-26 20:03:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:03:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:03:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 20:03:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 20:03:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 20:03:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 20:03:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 20:03:56] [INFO] Checking activity reminders 
[2026-04-26 20:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-26 20:04:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20921","person_id":"18782"}
[2026-04-26 20:04:26] [INFO] Checking activity reminders 
[2026-04-26 20:04:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:04:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:04:51] [INFO] Lead update received {"contact_id":"20921","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:04:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20921","person_id":"18782"}
[2026-04-26 20:04:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20921","person_id":"18782"}
[2026-04-26 20:04:51] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20921"}
[2026-04-26 20:04:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20921","person_id":"18782"}
[2026-04-26 20:04:57] [INFO] Checking activity reminders 
[2026-04-26 20:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:05:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9210","person_id":"13723"}
[2026-04-26 20:05:27] [INFO] Checking activity reminders 
[2026-04-26 20:05:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:05:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:05:50] [INFO] Lead update received {"contact_id":"9210","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:05:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9210","person_id":"13723"}
[2026-04-26 20:05:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9210","person_id":"13723"}
[2026-04-26 20:05:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9210"}
[2026-04-26 20:05:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9210","person_id":"13723"}
[2026-04-26 20:05:57] [INFO] Checking activity reminders 
[2026-04-26 20:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:06:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 20:06:27] [INFO] Checking activity reminders 
[2026-04-26 20:06:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:06:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:06:57] [INFO] Checking activity reminders 
[2026-04-26 20:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:07:22] [INFO] Lead update received {"contact_id":"1360","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 20:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 20:07:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1360"}
[2026-04-26 20:07:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1360","person_id":"8218"}
[2026-04-26 20:07:27] [INFO] Checking activity reminders 
[2026-04-26 20:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16719","person_id":"18222"}
[2026-04-26 20:07:57] [INFO] Checking activity reminders 
[2026-04-26 20:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:08:23] [INFO] Lead update received {"contact_id":"16719","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:08:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16719","person_id":"18222"}
[2026-04-26 20:08:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16719","person_id":"18222"}
[2026-04-26 20:08:23] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16719"}
[2026-04-26 20:08:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16719","person_id":"18222"}
[2026-04-26 20:08:27] [INFO] Checking activity reminders 
[2026-04-26 20:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:08:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1407","person_id":"15872"}
[2026-04-26 20:08:57] [INFO] Checking activity reminders 
[2026-04-26 20:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:09:21] [INFO] Lead update received {"contact_id":"1407","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1407","person_id":"15872"}
[2026-04-26 20:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1407","person_id":"15872"}
[2026-04-26 20:09:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1407"}
[2026-04-26 20:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1407","person_id":"15872"}
[2026-04-26 20:09:28] [INFO] Checking activity reminders 
[2026-04-26 20:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:09:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1407","person_id":"15872"}
[2026-04-26 20:09:58] [INFO] Checking activity reminders 
[2026-04-26 20:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:10:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3416","person_id":"20541"}
[2026-04-26 20:10:28] [INFO] Checking activity reminders 
[2026-04-26 20:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:10:50] [INFO] Lead update received {"contact_id":"3416","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3416","person_id":"20541"}
[2026-04-26 20:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3416","person_id":"20541"}
[2026-04-26 20:10:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3416"}
[2026-04-26 20:10:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3416","person_id":"20541"}
[2026-04-26 20:10:58] [INFO] Checking activity reminders 
[2026-04-26 20:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:11:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:11:25] [INFO] Lead update received {"contact_id":"8512","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:11:25] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8512"}
[2026-04-26 20:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:11:28] [INFO] Checking activity reminders 
[2026-04-26 20:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:11:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:11:58] [INFO] Checking activity reminders 
[2026-04-26 20:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:12:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:28] [INFO] Checking activity reminders 
[2026-04-26 20:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:12:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"2075","deal_id":"local_69cd56ed71f131.82135384","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:12:32","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"2075","is_new_deal":false}
[2026-04-26 20:12:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:12:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:12:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:12:32] [INFO] getContactPrimaryPhone called {"contact_id":"2075"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [INFO] getContactPrimaryPhone result {"contact_id":"2075","person_found":true,"primary_phone":"9134092875"}
[2026-04-26 20:12:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134092875"}
[2026-04-26 20:12:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134092875","contact_id":"2075","deal_id":"local_69cd56ed71f131.82135384","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:12:32"}
[2026-04-26 20:12:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_69cd56ed71f131.82135384","contact_id":"2075","existing_deal_found":true,"existing_contact_id":"2075","existing_title":"معامله سوم 9134092875 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:12:32"}
[2026-04-26 20:12:32] [INFO] DealController.save validated payments {"deal_id":"local_69cd56ed71f131.82135384","contact_id":"2075","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-26 20:12:32] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"2075","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:12:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69cd56ed71f131.82135384","contact_didar_id":"2075","title":"معامله سوم 9134092875 | کانال VIP بدون پشتیبان","base_title_used":"معامله سوم 9134092875","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مشهدی","existing_deal":"YES","existing_deal_id":"local_69cd56ed71f131.82135384","existing_deal_status":"Won","server_time":"2026-04-26 20:12:32","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [INFO] Deal success processed {"contact_id":"2075","person_name":"مشهدی","products_count":1}
[2026-04-26 20:12:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69cd56ed71f131.82135384","contact_id":"2075","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9134092875 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-26 20:12:32","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:32] [INFO] Updating virtual stage {"contact_id":"2075","stage_name":"with_purchase","force":true}
[2026-04-26 20:12:32] [INFO] Virtual stage successfully saved {"contact_id":"2075","stage_name":"with_purchase"}
[2026-04-26 20:12:32] [INFO] Moved contact out of kariz after successful deal {"contact_id":"2075","deal_id":"local_69cd56ed71f131.82135384","target_stage":"with_purchase"}
[2026-04-26 20:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:50] [INFO] Lead update received {"contact_id":"2075","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:12:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2075"}
[2026-04-26 20:12:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2075","person_id":"16820"}
[2026-04-26 20:12:58] [INFO] Checking activity reminders 
[2026-04-26 20:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:13:28] [INFO] Checking activity reminders 
[2026-04-26 20:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:13:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12313","person_id":"20640"}
[2026-04-26 20:13:58] [INFO] Checking activity reminders 
[2026-04-26 20:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:14:20] [INFO] Lead update received {"contact_id":"12313","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:14:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12313","person_id":"20640"}
[2026-04-26 20:14:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12313","person_id":"20640"}
[2026-04-26 20:14:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12313"}
[2026-04-26 20:14:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12313","person_id":"20640"}
[2026-04-26 20:14:29] [INFO] Checking activity reminders 
[2026-04-26 20:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:14:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:14:59] [INFO] Checking activity reminders 
[2026-04-26 20:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:15:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12740","deal_id":"local_69ca90ed2c2244.08949604","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:15:04","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12740","is_new_deal":false}
[2026-04-26 20:15:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:15:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:15:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-26 20:15:04] [INFO] getContactPrimaryPhone called {"contact_id":"12740"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [INFO] getContactPrimaryPhone result {"contact_id":"12740","person_found":true,"primary_phone":"9121571976"}
[2026-04-26 20:15:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121571976"}
[2026-04-26 20:15:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121571976","contact_id":"12740","deal_id":"local_69ca90ed2c2244.08949604","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:15:04"}
[2026-04-26 20:15:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca90ed2c2244.08949604","contact_id":"12740","existing_deal_found":true,"existing_contact_id":"12740","existing_title":"معامله اول 9121571976 | کانال VIP با پشتیبانی، کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:15:04"}
[2026-04-26 20:15:04] [INFO] DealController.save validated payments {"deal_id":"local_69ca90ed2c2244.08949604","contact_id":"12740","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-26 20:15:04] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12740","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:15:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ca90ed2c2244.08949604","contact_didar_id":"12740","title":"معامله اول 9121571976 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9121571976","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"قشلاقی","existing_deal":"YES","existing_deal_id":"local_69ca90ed2c2244.08949604","existing_deal_status":"Won","server_time":"2026-04-26 20:15:04","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [INFO] Deal success processed {"contact_id":"12740","person_name":"قشلاقی","products_count":1}
[2026-04-26 20:15:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ca90ed2c2244.08949604","contact_id":"12740","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9121571976 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-26 20:15:04","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:04] [INFO] Updating virtual stage {"contact_id":"12740","stage_name":"with_purchase","force":true}
[2026-04-26 20:15:04] [INFO] Virtual stage successfully saved {"contact_id":"12740","stage_name":"with_purchase"}
[2026-04-26 20:15:04] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12740","deal_id":"local_69ca90ed2c2244.08949604","target_stage":"with_purchase"}
[2026-04-26 20:15:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:27] [INFO] Lead update received {"contact_id":"12740","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:15:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:27] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12740"}
[2026-04-26 20:15:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:29] [INFO] Checking activity reminders 
[2026-04-26 20:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:15:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12740","person_id":"14025"}
[2026-04-26 20:15:59] [INFO] Checking activity reminders 
[2026-04-26 20:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:16:29] [INFO] Checking activity reminders 
[2026-04-26 20:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:16:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:16:59] [INFO] Checking activity reminders 
[2026-04-26 20:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:17:02] [INFO] Lead update received {"contact_id":"11172","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:17:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:02] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11172"}
[2026-04-26 20:17:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:22] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11172","deal_id":"local_69bbe8a438e555.86714702","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:17:22","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:22] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11172","is_new_deal":false}
[2026-04-26 20:17:22] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:17:22] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:17:22] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:17:22] [INFO] getContactPrimaryPhone called {"contact_id":"11172"}
[2026-04-26 20:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:22] [INFO] getContactPrimaryPhone result {"contact_id":"11172","person_found":true,"primary_phone":"9183719675"}
[2026-04-26 20:17:22] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9183719675"}
[2026-04-26 20:17:22] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9183719675","contact_id":"11172","deal_id":"local_69bbe8a438e555.86714702","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:17:22"}
[2026-04-26 20:17:22] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bbe8a438e555.86714702","contact_id":"11172","existing_deal_found":true,"existing_contact_id":"11172","existing_title":"معامله دوم 9183719675 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:17:22"}
[2026-04-26 20:17:22] [INFO] DealController.save validated payments {"deal_id":"local_69bbe8a438e555.86714702","contact_id":"11172","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-26 20:17:22] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11172","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:17:22] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bbe8a438e555.86714702","contact_didar_id":"11172","title":"معامله دوم 9183719675 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9183719675","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"خانوم ناصری","existing_deal":"YES","existing_deal_id":"local_69bbe8a438e555.86714702","existing_deal_status":"Pending","server_time":"2026-04-26 20:17:22","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:22] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bbe8a438e555.86714702","contact_id":"11172","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9183719675 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":15000000,"server_time":"2026-04-26 20:17:22","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-26 20:17:29] [INFO] Checking activity reminders 
[2026-04-26 20:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:17:59] [INFO] Checking activity reminders 
[2026-04-26 20:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:18:29] [INFO] Checking activity reminders 
[2026-04-26 20:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:18:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15901","person_id":"13169"}
[2026-04-26 20:18:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9457","person_id":"13957"}
[2026-04-26 20:19:00] [INFO] Checking activity reminders 
[2026-04-26 20:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:19:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9348","person_id":"4867"}
[2026-04-26 20:19:30] [INFO] Checking activity reminders 
[2026-04-26 20:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:19:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6781","person_id":"4055"}
[2026-04-26 20:19:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-26 20:20:00] [INFO] Checking activity reminders 
[2026-04-26 20:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:20:30] [INFO] Checking activity reminders 
[2026-04-26 20:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:20:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9348","person_id":"4867"}
[2026-04-26 20:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6781","person_id":"4055"}
[2026-04-26 20:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9348","person_id":"4867"}
[2026-04-26 20:21:00] [INFO] Checking activity reminders 
[2026-04-26 20:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:21:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-26 20:21:30] [INFO] Checking activity reminders 
[2026-04-26 20:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:22:00] [INFO] Checking activity reminders 
[2026-04-26 20:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:22:30] [INFO] Checking activity reminders 
[2026-04-26 20:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:22:40] [INFO] Lead update received {"contact_id":"4040","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-26 20:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-26 20:22:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4040"}
[2026-04-26 20:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-26 20:23:00] [INFO] Checking activity reminders 
[2026-04-26 20:23:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:23:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:23:30] [INFO] Checking activity reminders 
[2026-04-26 20:23:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:23:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:23:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-26 20:24:01] [INFO] Checking activity reminders 
[2026-04-26 20:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:24:31] [INFO] Checking activity reminders 
[2026-04-26 20:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:24:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-26 20:25:01] [INFO] Checking activity reminders 
[2026-04-26 20:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:25:13] [INFO] Lead update received {"contact_id":"11284","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-26 20:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-26 20:25:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11284"}
[2026-04-26 20:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-26 20:25:31] [INFO] Checking activity reminders 
[2026-04-26 20:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:25:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-26 20:26:01] [INFO] Checking activity reminders 
[2026-04-26 20:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:26:08] [INFO] Lead update received {"contact_id":"11341","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:26:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-26 20:26:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-26 20:26:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11341"}
[2026-04-26 20:26:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-26 20:26:31] [INFO] Checking activity reminders 
[2026-04-26 20:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-26 20:27:01] [INFO] Checking activity reminders 
[2026-04-26 20:27:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:27:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:27:31] [INFO] Checking activity reminders 
[2026-04-26 20:27:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:27:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:27:52] [INFO] Lead update received {"contact_id":"4030","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:27:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-26 20:27:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-26 20:27:52] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4030"}
[2026-04-26 20:27:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4030","person_id":"20812"}
[2026-04-26 20:28:01] [INFO] Checking activity reminders 
[2026-04-26 20:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:28:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-26 20:28:31] [INFO] Checking activity reminders 
[2026-04-26 20:28:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:28:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:29:02] [INFO] Checking activity reminders 
[2026-04-26 20:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:29:32] [INFO] Checking activity reminders 
[2026-04-26 20:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:30:02] [INFO] Checking activity reminders 
[2026-04-26 20:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:30:32] [INFO] Checking activity reminders 
[2026-04-26 20:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:31:02] [INFO] Checking activity reminders 
[2026-04-26 20:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:31:08] [INFO] Lead update received {"contact_id":"7918","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:31:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-26 20:31:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-26 20:31:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7918"}
[2026-04-26 20:31:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7918","person_id":"7386"}
[2026-04-26 20:31:32] [INFO] Checking activity reminders 
[2026-04-26 20:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:31:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17001","person_id":"2711"}
[2026-04-26 20:32:02] [INFO] Checking activity reminders 
[2026-04-26 20:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:32:04] [INFO] Lead update received {"contact_id":"17001","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:32:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17001","person_id":"2711"}
[2026-04-26 20:32:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17001","person_id":"2711"}
[2026-04-26 20:32:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"17001"}
[2026-04-26 20:32:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17001","person_id":"2711"}
[2026-04-26 20:32:33] [INFO] Checking activity reminders 
[2026-04-26 20:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:32:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-26 20:33:03] [INFO] Checking activity reminders 
[2026-04-26 20:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:33:33] [INFO] Checking activity reminders 
[2026-04-26 20:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:33:48] [INFO] Lead update received {"contact_id":"795","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-26 20:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-26 20:33:48] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"795"}
[2026-04-26 20:33:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-26 20:34:03] [INFO] Checking activity reminders 
[2026-04-26 20:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:34:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-26 20:34:33] [INFO] Checking activity reminders 
[2026-04-26 20:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:35:03] [INFO] Checking activity reminders 
[2026-04-26 20:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:35:04] [INFO] Lead update received {"contact_id":"12744","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:35:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-26 20:35:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-26 20:35:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12744"}
[2026-04-26 20:35:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-26 20:35:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:35:33] [INFO] Checking activity reminders 
[2026-04-26 20:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:35:41] [INFO] Lead update received {"contact_id":"5405","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:35:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:35:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:35:41] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5405"}
[2026-04-26 20:35:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:36:03] [INFO] Checking activity reminders 
[2026-04-26 20:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:36:33] [INFO] Checking activity reminders 
[2026-04-26 20:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:36:43] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:36:43","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:36:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:36:43] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","is_new_deal":false}
[2026-04-26 20:36:43] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:36:43] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:36:43] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:36:43] [INFO] getContactPrimaryPhone called {"contact_id":"5405"}
[2026-04-26 20:36:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:36:43] [INFO] getContactPrimaryPhone result {"contact_id":"5405","person_found":true,"primary_phone":"9120821013"}
[2026-04-26 20:36:43] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120821013"}
[2026-04-26 20:36:43] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120821013","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:36:43"}
[2026-04-26 20:36:43] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca54e8ca0810.10670708","contact_id":"5405","existing_deal_found":true,"existing_contact_id":"5405","existing_title":"معامله دوم 9120821013 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:36:43"}
[2026-04-26 20:37:04] [INFO] Checking activity reminders 
[2026-04-26 20:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:37:13] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:37:13","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:37:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:37:13] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"5405","is_new_deal":false}
[2026-04-26 20:37:13] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:37:13] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:37:13] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-26 20:37:13] [INFO] getContactPrimaryPhone called {"contact_id":"5405"}
[2026-04-26 20:37:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:37:13] [INFO] getContactPrimaryPhone result {"contact_id":"5405","person_found":true,"primary_phone":"9120821013"}
[2026-04-26 20:37:13] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120821013"}
[2026-04-26 20:37:13] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120821013","contact_id":"5405","deal_id":"local_69ca54e8ca0810.10670708","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:37:13"}
[2026-04-26 20:37:13] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ca54e8ca0810.10670708","contact_id":"5405","existing_deal_found":true,"existing_contact_id":"5405","existing_title":"معامله دوم 9120821013 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:37:13"}
[2026-04-26 20:37:34] [INFO] Checking activity reminders 
[2026-04-26 20:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:37:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-26 20:38:04] [INFO] Checking activity reminders 
[2026-04-26 20:38:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:38:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:38:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:38:34] [INFO] Checking activity reminders 
[2026-04-26 20:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:39:04] [INFO] Checking activity reminders 
[2026-04-26 20:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:39:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:39:32] [INFO] Lead update received {"contact_id":"4667","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:39:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:39:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:39:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4667"}
[2026-04-26 20:39:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:39:34] [INFO] Checking activity reminders 
[2026-04-26 20:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:39:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 20:40:04] [INFO] Checking activity reminders 
[2026-04-26 20:40:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:40:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:40:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-26 20:40:35] [INFO] Checking activity reminders 
[2026-04-26 20:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:41:05] [INFO] Checking activity reminders 
[2026-04-26 20:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:41:35] [INFO] Checking activity reminders 
[2026-04-26 20:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:41:44] [INFO] Lead update received {"contact_id":"20939","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:41:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-26 20:41:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-26 20:41:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20939"}
[2026-04-26 20:41:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20939","person_id":"4400"}
[2026-04-26 20:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:42:05] [INFO] Checking activity reminders 
[2026-04-26 20:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:42:35] [INFO] Checking activity reminders 
[2026-04-26 20:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:43:05] [INFO] Checking activity reminders 
[2026-04-26 20:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:43:35] [INFO] Checking activity reminders 
[2026-04-26 20:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:44:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:05] [INFO] Checking activity reminders 
[2026-04-26 20:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:44:21] [INFO] Lead update received {"contact_id":"10894","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10894"}
[2026-04-26 20:44:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:35] [INFO] Checking activity reminders 
[2026-04-26 20:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:44:38] [INFO] Lead update received {"contact_id":"10894","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:44:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10894"}
[2026-04-26 20:44:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10894","person_id":"20755"}
[2026-04-26 20:44:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-26 20:45:06] [INFO] Checking activity reminders 
[2026-04-26 20:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:45:36] [INFO] Checking activity reminders 
[2026-04-26 20:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:45:52] [INFO] Lead update received {"contact_id":"21012","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:45:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-26 20:45:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-26 20:45:52] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21012"}
[2026-04-26 20:45:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-26 20:46:06] [INFO] Checking activity reminders 
[2026-04-26 20:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:46:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21442","person_id":"8649"}
[2026-04-26 20:46:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17425","person_id":"3349"}
[2026-04-26 20:46:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17396","person_id":"5397"}
[2026-04-26 20:46:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16502","person_id":"2276"}
[2026-04-26 20:46:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16135","person_id":"1517"}
[2026-04-26 20:46:36] [INFO] Checking activity reminders 
[2026-04-26 20:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:46:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11850","person_id":"17918"}
[2026-04-26 20:46:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11242","person_id":"15907"}
[2026-04-26 20:47:06] [INFO] Checking activity reminders 
[2026-04-26 20:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:47:36] [INFO] Checking activity reminders 
[2026-04-26 20:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:47:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:48:06] [INFO] Checking activity reminders 
[2026-04-26 20:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:48:36] [INFO] Checking activity reminders 
[2026-04-26 20:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:48:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:48:50","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:48:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15975","is_new_deal":false}
[2026-04-26 20:48:50] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 20:48:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:48:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:48:50] [INFO] getContactPrimaryPhone called {"contact_id":"15975"}
[2026-04-26 20:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:48:50] [INFO] getContactPrimaryPhone result {"contact_id":"15975","person_found":true,"primary_phone":"9152158004"}
[2026-04-26 20:48:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152158004"}
[2026-04-26 20:48:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152158004","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:48:50"}
[2026-04-26 20:48:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","existing_deal_found":true,"existing_contact_id":"15975","existing_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:48:50"}
[2026-04-26 20:48:50] [INFO] DealController.save validated payments {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","payments_count":2,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-26 20:48:50] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15975","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:48:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c871c870d9e8.36262570","contact_didar_id":"15975","title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9152158004","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"وحید حداد","existing_deal":"YES","existing_deal_id":"local_69c871c870d9e8.36262570","existing_deal_status":"Won","server_time":"2026-04-26 20:48:50","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:48:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-26 20:48:50","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:48:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:49:06","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"15975","is_new_deal":false}
[2026-04-26 20:49:06] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 20:49:06] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:49:06] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:49:06] [INFO] getContactPrimaryPhone called {"contact_id":"15975"}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [INFO] getContactPrimaryPhone result {"contact_id":"15975","person_found":true,"primary_phone":"9152158004"}
[2026-04-26 20:49:06] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9152158004"}
[2026-04-26 20:49:06] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9152158004","contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:49:06"}
[2026-04-26 20:49:06] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","existing_deal_found":true,"existing_contact_id":"15975","existing_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:49:06"}
[2026-04-26 20:49:06] [INFO] DealController.save validated payments {"deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","payments_count":2,"status":"won","pipeline_stage":"پشتیبانی"}
[2026-04-26 20:49:06] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15975","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:49:06] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c871c870d9e8.36262570","contact_didar_id":"15975","title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9152158004","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"وحید حداد","existing_deal":"YES","existing_deal_id":"local_69c871c870d9e8.36262570","existing_deal_status":"Pending","server_time":"2026-04-26 20:49:06","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [INFO] Deal success processed {"contact_id":"15975","person_name":"وحید حداد","products_count":1}
[2026-04-26 20:49:06] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c871c870d9e8.36262570","contact_id":"15975","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9152158004 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-26 20:49:06","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:06] [INFO] Updating virtual stage {"contact_id":"15975","stage_name":"with_purchase","force":true}
[2026-04-26 20:49:06] [INFO] Virtual stage successfully saved {"contact_id":"15975","stage_name":"with_purchase"}
[2026-04-26 20:49:06] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15975","deal_id":"local_69c871c870d9e8.36262570","target_stage":"with_purchase"}
[2026-04-26 20:49:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-26 20:49:07] [INFO] Checking activity reminders 
[2026-04-26 20:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:49:41] [INFO] Checking activity reminders 
[2026-04-26 20:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:49:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-26 20:50:11] [INFO] Checking activity reminders 
[2026-04-26 20:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:50:41] [INFO] Checking activity reminders 
[2026-04-26 20:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:50:44] [INFO] Lead update received {"contact_id":"7841","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 20:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-26 20:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-26 20:50:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7841"}
[2026-04-26 20:50:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7841","person_id":"13780"}
[2026-04-26 20:51:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20606","person_id":"3153"}
[2026-04-26 20:51:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15458","person_id":"15757"}
[2026-04-26 20:51:11] [INFO] Checking activity reminders 
[2026-04-26 20:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2692","person_id":"14190"}
[2026-04-26 20:51:41] [INFO] Checking activity reminders 
[2026-04-26 20:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:51:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-26 20:52:11] [INFO] Checking activity reminders 
[2026-04-26 20:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:52:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-26 20:52:41] [INFO] Checking activity reminders 
[2026-04-26 20:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:53:12] [INFO] Checking activity reminders 
[2026-04-26 20:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:53:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:53:42] [INFO] Checking activity reminders 
[2026-04-26 20:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:54:12] [INFO] Checking activity reminders 
[2026-04-26 20:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:54:23] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:54:23","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:54:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:23] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9650","is_new_deal":false}
[2026-04-26 20:54:23] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:23] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:23] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:23] [INFO] getContactPrimaryPhone called {"contact_id":"9650"}
[2026-04-26 20:54:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:23] [INFO] getContactPrimaryPhone result {"contact_id":"9650","person_found":true,"primary_phone":"9309207679"}
[2026-04-26 20:54:23] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9309207679"}
[2026-04-26 20:54:23] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9309207679","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:54:23"}
[2026-04-26 20:54:23] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","existing_deal_found":true,"existing_contact_id":"9650","existing_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:54:23"}
[2026-04-26 20:54:23] [INFO] DealController.save validated payments {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","payments_count":2,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-26 20:54:23] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9650","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:54:23] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d92591ca001.49338768","contact_didar_id":"9650","title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9309207679","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عبیداوی عبیداوی","existing_deal":"YES","existing_deal_id":"local_699d92591ca001.49338768","existing_deal_status":"Won","server_time":"2026-04-26 20:54:23","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:54:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:23] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d92591ca001.49338768","contact_id":"9650","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-26 20:54:23","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:54:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-26 20:54:40","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9650","is_new_deal":false}
[2026-04-26 20:54:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-26 20:54:40] [INFO] getContactPrimaryPhone called {"contact_id":"9650"}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [INFO] getContactPrimaryPhone result {"contact_id":"9650","person_found":true,"primary_phone":"9309207679"}
[2026-04-26 20:54:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9309207679"}
[2026-04-26 20:54:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9309207679","contact_id":"9650","deal_id":"local_699d92591ca001.49338768","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:54:40"}
[2026-04-26 20:54:40] [INFO] DealController.save existing deal lookup {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","existing_deal_found":true,"existing_contact_id":"9650","existing_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-26 20:54:40"}
[2026-04-26 20:54:40] [INFO] DealController.save validated payments {"deal_id":"local_699d92591ca001.49338768","contact_id":"9650","payments_count":2,"status":"won","pipeline_stage":"پشتیبانی"}
[2026-04-26 20:54:40] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9650","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-26 20:54:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699d92591ca001.49338768","contact_didar_id":"9650","title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9309207679","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"won","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"عبیداوی عبیداوی","existing_deal":"YES","existing_deal_id":"local_699d92591ca001.49338768","existing_deal_status":"Pending","server_time":"2026-04-26 20:54:40","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [INFO] Deal success processed {"contact_id":"9650","person_name":"عبیداوی عبیداوی","products_count":1}
[2026-04-26 20:54:40] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699d92591ca001.49338768","contact_id":"9650","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9309207679 | کانال VIP با پشتیبانی","deal_status":"won","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-26 20:54:40","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:40] [INFO] Updating virtual stage {"contact_id":"9650","stage_name":"with_purchase","force":true}
[2026-04-26 20:54:40] [INFO] Virtual stage successfully saved {"contact_id":"9650","stage_name":"with_purchase"}
[2026-04-26 20:54:40] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9650","deal_id":"local_699d92591ca001.49338768","target_stage":"with_purchase"}
[2026-04-26 20:54:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-26 20:54:46] [INFO] Checking activity reminders 
[2026-04-26 20:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:55:16] [INFO] Checking activity reminders 
[2026-04-26 20:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:55:46] [INFO] Checking activity reminders 
[2026-04-26 20:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:56:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 20:56:16] [INFO] Checking activity reminders 
[2026-04-26 20:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:56:46] [INFO] Checking activity reminders 
[2026-04-26 20:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:56:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d673b991e925.63859145","person_id":"22045"}
[2026-04-26 20:57:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528e795c1535.38181082","person_id":"21463"}
[2026-04-26 20:57:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21393","person_id":"10848"}
[2026-04-26 20:57:16] [INFO] Checking activity reminders 
[2026-04-26 20:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:57:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21221","person_id":"15611"}
[2026-04-26 20:57:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21197","person_id":"9973"}
[2026-04-26 20:57:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21076","person_id":"9930"}
[2026-04-26 20:57:47] [INFO] Checking activity reminders 
[2026-04-26 20:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:57:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21014","person_id":"5918"}
[2026-04-26 20:58:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20681","person_id":"4550"}
[2026-04-26 20:58:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20466","person_id":"19376"}
[2026-04-26 20:58:17] [INFO] Checking activity reminders 
[2026-04-26 20:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:58:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20406","person_id":"15684"}
[2026-04-26 20:58:47] [INFO] Checking activity reminders 
[2026-04-26 20:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:58:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cc3ba045d98.86248747","person_id":"21537"}
[2026-04-26 20:59:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-26 20:59:17] [INFO] Checking activity reminders 
[2026-04-26 20:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:59:47] [INFO] Checking activity reminders 
[2026-04-26 20:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 20:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 20:59:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8512","person_id":"5202"}
[2026-04-26 21:00:17] [INFO] Checking activity reminders 
[2026-04-26 21:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:00:47] [INFO] Checking activity reminders 
[2026-04-26 21:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:01:17] [INFO] Checking activity reminders 
[2026-04-26 21:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:01:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 21:01:47] [INFO] Checking activity reminders 
[2026-04-26 21:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:02:18] [INFO] Checking activity reminders 
[2026-04-26 21:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:02:43] [INFO] Lead update received {"contact_id":"20648","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:02:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 21:02:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 21:02:43] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20648"}
[2026-04-26 21:02:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-26 21:02:48] [INFO] Checking activity reminders 
[2026-04-26 21:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:02:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-26 21:03:18] [INFO] Checking activity reminders 
[2026-04-26 21:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:03:48] [INFO] Checking activity reminders 
[2026-04-26 21:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:04:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 21:04:18] [INFO] Checking activity reminders 
[2026-04-26 21:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:04:21] [INFO] Lead update received {"contact_id":"9687","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:04:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 21:04:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 21:04:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9687"}
[2026-04-26 21:04:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 21:04:48] [INFO] Checking activity reminders 
[2026-04-26 21:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:05:18] [INFO] Checking activity reminders 
[2026-04-26 21:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:05:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9687","person_id":"4425"}
[2026-04-26 21:05:48] [INFO] Checking activity reminders 
[2026-04-26 21:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:06:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-26 21:06:15] [INFO] Lead update received {"contact_id":"local_69dc8794ca28e4.79401978","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:06:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-26 21:06:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-26 21:06:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69dc8794ca28e4.79401978"}
[2026-04-26 21:06:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-26 21:06:18] [INFO] Checking activity reminders 
[2026-04-26 21:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:06:49] [INFO] Checking activity reminders 
[2026-04-26 21:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:06:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-26 21:07:19] [INFO] Checking activity reminders 
[2026-04-26 21:07:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:07:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:07:49] [INFO] Checking activity reminders 
[2026-04-26 21:07:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:07:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:07:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-26 21:08:00] [INFO] Lead update received {"contact_id":"local_69528d8bc170f0.16410312","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-26 21:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-26 21:08:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69528d8bc170f0.16410312"}
[2026-04-26 21:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-26 21:08:19] [INFO] Checking activity reminders 
[2026-04-26 21:08:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:08:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:08:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-26 21:08:49] [INFO] Checking activity reminders 
[2026-04-26 21:08:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:08:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-26 21:09:19] [INFO] Checking activity reminders 
[2026-04-26 21:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:09:31] [INFO] Lead update received {"contact_id":"10621","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-26 21:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-26 21:09:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10621"}
[2026-04-26 21:09:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-26 21:09:49] [INFO] Checking activity reminders 
[2026-04-26 21:09:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:09:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:10:19] [INFO] Checking activity reminders 
[2026-04-26 21:10:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:10:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:10:49] [INFO] Checking activity reminders 
[2026-04-26 21:10:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:10:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:11:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-26 21:11:18] [INFO] Lead update received {"contact_id":"1584","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:11:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-26 21:11:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-26 21:11:18] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1584"}
[2026-04-26 21:11:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-26 21:11:20] [INFO] Checking activity reminders 
[2026-04-26 21:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:11:50] [INFO] Checking activity reminders 
[2026-04-26 21:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:12:20] [INFO] Checking activity reminders 
[2026-04-26 21:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-26 21:12:50] [INFO] Checking activity reminders 
[2026-04-26 21:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:12:51] [INFO] Lead update received {"contact_id":"7006","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:12:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-26 21:12:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-26 21:12:51] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7006"}
[2026-04-26 21:12:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-26 21:13:20] [INFO] Checking activity reminders 
[2026-04-26 21:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:13:50] [INFO] Checking activity reminders 
[2026-04-26 21:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:14:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-26 21:14:20] [INFO] Checking activity reminders 
[2026-04-26 21:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:14:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-26 21:14:50] [INFO] Checking activity reminders 
[2026-04-26 21:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:15:20] [INFO] Checking activity reminders 
[2026-04-26 21:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:15:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-26 21:15:51] [INFO] Checking activity reminders 
[2026-04-26 21:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:16:04] [INFO] Lead update received {"contact_id":"3821","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:16:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-26 21:16:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-26 21:16:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3821"}
[2026-04-26 21:16:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-26 21:16:21] [INFO] Checking activity reminders 
[2026-04-26 21:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:16:51] [INFO] Checking activity reminders 
[2026-04-26 21:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:17:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-26 21:17:20] [INFO] Lead update received {"contact_id":"12826","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-26 21:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-26 21:17:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12826"}
[2026-04-26 21:17:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12826","person_id":"11972"}
[2026-04-26 21:17:21] [INFO] Checking activity reminders 
[2026-04-26 21:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:17:51] [INFO] Checking activity reminders 
[2026-04-26 21:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:18:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-26 21:18:21] [INFO] Checking activity reminders 
[2026-04-26 21:18:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:18:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:18:24] [INFO] Lead update received {"contact_id":"local_69538b459b7c82.51431515","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-26 21:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-26 21:18:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69538b459b7c82.51431515"}
[2026-04-26 21:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69538b459b7c82.51431515","person_id":"21469"}
[2026-04-26 21:18:51] [INFO] Checking activity reminders 
[2026-04-26 21:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:19:21] [INFO] Checking activity reminders 
[2026-04-26 21:19:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:19:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:19:51] [INFO] Checking activity reminders 
[2026-04-26 21:19:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:19:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:20:21] [INFO] Checking activity reminders 
[2026-04-26 21:20:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:20:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:20:51] [INFO] Checking activity reminders 
[2026-04-26 21:20:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:20:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:21:22] [INFO] Checking activity reminders 
[2026-04-26 21:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:21:52] [INFO] Checking activity reminders 
[2026-04-26 21:21:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:21:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:22:22] [INFO] Checking activity reminders 
[2026-04-26 21:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:22:52] [INFO] Checking activity reminders 
[2026-04-26 21:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:23:22] [INFO] Checking activity reminders 
[2026-04-26 21:23:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:23:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:23:52] [INFO] Checking activity reminders 
[2026-04-26 21:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:24:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:24:22] [INFO] Checking activity reminders 
[2026-04-26 21:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:24:32] [INFO] Lead update received {"contact_id":"21335","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:24:32] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21335"}
[2026-04-26 21:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:24:52] [INFO] Checking activity reminders 
[2026-04-26 21:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:24:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:25:22] [INFO] Checking activity reminders 
[2026-04-26 21:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:25:52] [INFO] Checking activity reminders 
[2026-04-26 21:25:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:25:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:26:22] [INFO] Checking activity reminders 
[2026-04-26 21:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:26:53] [INFO] Checking activity reminders 
[2026-04-26 21:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:26:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-26 21:27:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-26 21:27:23] [INFO] Checking activity reminders 
[2026-04-26 21:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:27:42] [INFO] Lead update received {"contact_id":"12398","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-26 21:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-26 21:27:42] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12398"}
[2026-04-26 21:27:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12398","person_id":"13844"}
[2026-04-26 21:27:53] [INFO] Checking activity reminders 
[2026-04-26 21:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:28:23] [INFO] Checking activity reminders 
[2026-04-26 21:28:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:28:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:28:53] [INFO] Checking activity reminders 
[2026-04-26 21:28:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:28:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:29:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-26 21:29:21] [INFO] Lead update received {"contact_id":"21579","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-26 21:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-26 21:29:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21579"}
[2026-04-26 21:29:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-26 21:29:23] [INFO] Checking activity reminders 
[2026-04-26 21:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:29:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21579","person_id":"2181"}
[2026-04-26 21:29:53] [INFO] Checking activity reminders 
[2026-04-26 21:29:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:29:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:30:23] [INFO] Checking activity reminders 
[2026-04-26 21:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:30:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-26 21:30:53] [INFO] Checking activity reminders 
[2026-04-26 21:30:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:30:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:31:00] [INFO] Lead update received {"contact_id":"local_695cb9622da444.78163474","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:31:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-26 21:31:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-26 21:31:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_695cb9622da444.78163474"}
[2026-04-26 21:31:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-26 21:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-26 21:31:23] [WARNING] Auth check failed - not authenticated {"session_id":"6d8sg5ql92dg8q8njkg5nooff4","session_keys":[],"action":"log_client_event"}
[2026-04-26 21:31:23] [WARNING] Auth check failed - not authenticated {"session_id":"6d8sg5ql92dg8q8njkg5nooff4","session_keys":[],"action":"check_reminders"}
[2026-04-26 21:31:23] [WARNING] Auth check failed - not authenticated {"session_id":"6d8sg5ql92dg8q8njkg5nooff4","session_keys":[],"action":"log_client_event"}
[2026-04-26 21:31:24] [INFO] Checking activity reminders 
[2026-04-26 21:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:31:54] [INFO] Checking activity reminders 
[2026-04-26 21:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:32:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21640","person_id":"10883"}
[2026-04-26 21:32:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69525f1184bd27.61986136","person_id":"21425"}
[2026-04-26 21:32:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20888","person_id":"14391"}
[2026-04-26 21:32:24] [INFO] Checking activity reminders 
[2026-04-26 21:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:32:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16734","person_id":"18596"}
[2026-04-26 21:32:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10285","person_id":"6547"}
[2026-04-26 21:32:54] [INFO] Checking activity reminders 
[2026-04-26 21:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:33:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6276","person_id":"3012"}
[2026-04-26 21:33:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4667","person_id":"13922"}
[2026-04-26 21:33:24] [INFO] Checking activity reminders 
[2026-04-26 21:33:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:33:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:33:54] [INFO] Checking activity reminders 
[2026-04-26 21:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:34:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20511","person_id":"10870"}
[2026-04-26 21:34:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21584","person_id":"1298"}
[2026-04-26 21:34:24] [INFO] Checking activity reminders 
[2026-04-26 21:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:34:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20440","person_id":"6892"}
[2026-04-26 21:34:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10129","person_id":"18394"}
[2026-04-26 21:34:54] [INFO] Checking activity reminders 
[2026-04-26 21:34:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:34:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:35:11] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 21:35:11] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 21:35:11] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 21:35:24] [INFO] Checking activity reminders 
[2026-04-26 21:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:35:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-26 21:35:54] [INFO] Checking activity reminders 
[2026-04-26 21:35:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:35:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:36:24] [INFO] Checking activity reminders 
[2026-04-26 21:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:36:47] [INFO] Lead update received {"contact_id":"9978","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:36:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-26 21:36:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-26 21:36:47] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9978"}
[2026-04-26 21:36:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9978","person_id":"14282"}
[2026-04-26 21:36:55] [INFO] Checking activity reminders 
[2026-04-26 21:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16991","person_id":"9831"}
[2026-04-26 21:37:20] [INFO] Lead update received {"contact_id":"16991","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16991","person_id":"9831"}
[2026-04-26 21:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16991","person_id":"9831"}
[2026-04-26 21:37:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16991"}
[2026-04-26 21:37:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16991","person_id":"9831"}
[2026-04-26 21:37:25] [INFO] Checking activity reminders 
[2026-04-26 21:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:37:55] [INFO] Checking activity reminders 
[2026-04-26 21:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:38:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-26 21:38:19] [INFO] Lead update received {"contact_id":"12515","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-26 21:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-26 21:38:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12515"}
[2026-04-26 21:38:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12515","person_id":"5827"}
[2026-04-26 21:38:25] [INFO] Checking activity reminders 
[2026-04-26 21:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:38:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc9d2e6210c3.45414163","person_id":"22143"}
[2026-04-26 21:38:55] [INFO] Checking activity reminders 
[2026-04-26 21:38:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:38:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:39:25] [INFO] Checking activity reminders 
[2026-04-26 21:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:39:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"917","person_id":"13994"}
[2026-04-26 21:39:55] [INFO] Checking activity reminders 
[2026-04-26 21:39:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:39:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:40:08] [INFO] Lead update received {"contact_id":"917","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:40:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"917","person_id":"13994"}
[2026-04-26 21:40:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"917","person_id":"13994"}
[2026-04-26 21:40:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"917"}
[2026-04-26 21:40:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"917","person_id":"13994"}
[2026-04-26 21:40:25] [INFO] Checking activity reminders 
[2026-04-26 21:40:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:40:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:40:55] [INFO] Checking activity reminders 
[2026-04-26 21:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:41:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-26 21:41:25] [INFO] Checking activity reminders 
[2026-04-26 21:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:41:29] [INFO] Lead update received {"contact_id":"1850","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:41:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-26 21:41:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-26 21:41:29] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1850"}
[2026-04-26 21:41:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-26 21:41:55] [INFO] Checking activity reminders 
[2026-04-26 21:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:42:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-26 21:42:26] [INFO] Checking activity reminders 
[2026-04-26 21:42:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:42:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:42:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-26 21:42:46] [INFO] Lead update received {"contact_id":"21415","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:42:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-26 21:42:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-26 21:42:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21415"}
[2026-04-26 21:42:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-26 21:42:56] [INFO] Checking activity reminders 
[2026-04-26 21:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:43:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-26 21:43:26] [INFO] Checking activity reminders 
[2026-04-26 21:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:43:31] [INFO] Lead update received {"contact_id":"14327","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-26 21:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-26 21:43:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14327"}
[2026-04-26 21:43:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-26 21:43:56] [INFO] Checking activity reminders 
[2026-04-26 21:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:44:26] [INFO] Checking activity reminders 
[2026-04-26 21:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-26 21:44:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-26 21:44:56] [INFO] Checking activity reminders 
[2026-04-26 21:44:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:44:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:45:07] [INFO] Lead update received {"contact_id":"15908","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-26 21:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-26 21:45:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15908"}
[2026-04-26 21:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-26 21:45:26] [INFO] Checking activity reminders 
[2026-04-26 21:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 21:45:56] [INFO] Checking activity reminders 
[2026-04-26 21:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:46:00] [INFO] Lead update received {"contact_id":"14836","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:46:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 21:46:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 21:46:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14836"}
[2026-04-26 21:46:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-26 21:46:26] [INFO] Checking activity reminders 
[2026-04-26 21:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:46:57] [INFO] Checking activity reminders 
[2026-04-26 21:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:46:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-26 21:47:07] [INFO] Lead update received {"contact_id":"local_69b7d9a7ab9697.18146949","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:47:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-26 21:47:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-26 21:47:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b7d9a7ab9697.18146949"}
[2026-04-26 21:47:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-26 21:47:27] [INFO] Checking activity reminders 
[2026-04-26 21:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:47:57] [INFO] Checking activity reminders 
[2026-04-26 21:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:47:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b7d9a7ab9697.18146949","person_id":"21876"}
[2026-04-26 21:48:27] [INFO] Checking activity reminders 
[2026-04-26 21:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:48:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-26 21:48:57] [INFO] Checking activity reminders 
[2026-04-26 21:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:49:09] [INFO] Lead update received {"contact_id":"3327","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-26 21:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-26 21:49:09] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3327"}
[2026-04-26 21:49:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3327","person_id":"5268"}
[2026-04-26 21:49:27] [INFO] Checking activity reminders 
[2026-04-26 21:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:49:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:49:46] [INFO] Lead update received {"contact_id":"12168","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:49:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:49:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:49:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12168"}
[2026-04-26 21:49:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:49:57] [INFO] Checking activity reminders 
[2026-04-26 21:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:50:27] [INFO] Checking activity reminders 
[2026-04-26 21:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:50:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-26 21:50:57] [INFO] Checking activity reminders 
[2026-04-26 21:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:51:02] [INFO] Lead update received {"contact_id":"local_1403_09_26_164","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:51:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-26 21:51:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-26 21:51:02] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_1403_09_26_164"}
[2026-04-26 21:51:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_164","person_id":"21239"}
[2026-04-26 21:51:28] [INFO] Checking activity reminders 
[2026-04-26 21:51:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:51:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:51:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-26 21:51:44] [INFO] Lead update received {"contact_id":"21140","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:51:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-26 21:51:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-26 21:51:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21140"}
[2026-04-26 21:51:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21140","person_id":"14395"}
[2026-04-26 21:51:58] [INFO] Checking activity reminders 
[2026-04-26 21:51:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:51:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:52:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-26 21:52:27] [INFO] Lead update received {"contact_id":"13256","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:52:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-26 21:52:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-26 21:52:27] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13256"}
[2026-04-26 21:52:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13256","person_id":"5037"}
[2026-04-26 21:52:28] [INFO] Checking activity reminders 
[2026-04-26 21:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:52:58] [INFO] Checking activity reminders 
[2026-04-26 21:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:53:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:53:28] [INFO] Checking activity reminders 
[2026-04-26 21:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:53:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12168","person_id":"18146"}
[2026-04-26 21:53:58] [INFO] Checking activity reminders 
[2026-04-26 21:53:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:53:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-26 21:54:28] [INFO] Checking activity reminders 
[2026-04-26 21:54:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:54:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:54:35] [INFO] Lead update received {"contact_id":"3907","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-26 21:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-26 21:54:35] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3907"}
[2026-04-26 21:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-26 21:54:58] [INFO] Checking activity reminders 
[2026-04-26 21:54:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:54:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:55:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-26 21:55:28] [INFO] Checking activity reminders 
[2026-04-26 21:55:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:55:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:55:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-26 21:55:53] [INFO] Lead update received {"contact_id":"820","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-26 21:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-26 21:55:53] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"820"}
[2026-04-26 21:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-26 21:55:58] [INFO] Checking activity reminders 
[2026-04-26 21:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:56:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-26 21:56:29] [INFO] Checking activity reminders 
[2026-04-26 21:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:56:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d76804772657.01504104","person_id":"22093"}
[2026-04-26 21:56:59] [INFO] Checking activity reminders 
[2026-04-26 21:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:57:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21642","person_id":"951"}
[2026-04-26 21:57:29] [INFO] Checking activity reminders 
[2026-04-26 21:57:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:57:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:57:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21642","person_id":"951"}
[2026-04-26 21:57:53] [INFO] Lead update received {"contact_id":"21642","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:57:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21642","person_id":"951"}
[2026-04-26 21:57:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21642","person_id":"951"}
[2026-04-26 21:57:53] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21642"}
[2026-04-26 21:57:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21642","person_id":"951"}
[2026-04-26 21:57:59] [INFO] Checking activity reminders 
[2026-04-26 21:57:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:57:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-26 21:58:27] [INFO] Lead update received {"contact_id":"2744","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 21:58:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-26 21:58:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-26 21:58:27] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2744"}
[2026-04-26 21:58:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-26 21:58:29] [INFO] Checking activity reminders 
[2026-04-26 21:58:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:58:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:58:59] [INFO] Checking activity reminders 
[2026-04-26 21:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 21:59:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-26 21:59:30] [INFO] Checking activity reminders 
[2026-04-26 21:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 21:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:00:00] [INFO] Checking activity reminders 
[2026-04-26 22:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:00:30] [INFO] Checking activity reminders 
[2026-04-26 22:00:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:00:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:01:00] [INFO] Checking activity reminders 
[2026-04-26 22:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:01:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-26 22:01:25] [INFO] Lead update received {"contact_id":"5596","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 22:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-26 22:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-26 22:01:25] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5596"}
[2026-04-26 22:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-26 22:01:30] [INFO] Checking activity reminders 
[2026-04-26 22:01:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:01:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:01:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 22:02:00] [INFO] Checking activity reminders 
[2026-04-26 22:02:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:02:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:02:03] [INFO] Lead update received {"contact_id":"14954","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 22:02:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 22:02:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 22:02:03] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14954"}
[2026-04-26 22:02:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 22:02:30] [INFO] Checking activity reminders 
[2026-04-26 22:02:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:02:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:02:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14954","person_id":"4199"}
[2026-04-26 22:03:00] [INFO] Checking activity reminders 
[2026-04-26 22:03:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:03:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9785","person_id":"6656"}
[2026-04-26 22:03:30] [INFO] Checking activity reminders 
[2026-04-26 22:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:03:46] [INFO] Lead update received {"contact_id":"9785","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 22:03:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9785","person_id":"6656"}
[2026-04-26 22:03:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9785","person_id":"6656"}
[2026-04-26 22:03:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9785"}
[2026-04-26 22:03:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9785","person_id":"6656"}
[2026-04-26 22:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224986b1d06.92096443","person_id":"21978"}
[2026-04-26 22:04:00] [INFO] Checking activity reminders 
[2026-04-26 22:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:04:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8622","person_id":"422"}
[2026-04-26 22:04:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7038","person_id":"16759"}
[2026-04-26 22:04:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1117","person_id":"7014"}
[2026-04-26 22:04:31] [INFO] Checking activity reminders 
[2026-04-26 22:04:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:04:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:05:01] [INFO] Checking activity reminders 
[2026-04-26 22:05:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:05:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:05:04] [INFO] Lead update received {"contact_id":"1117","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 22:05:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1117","person_id":"7014"}
[2026-04-26 22:05:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1117","person_id":"7014"}
[2026-04-26 22:05:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1117"}
[2026-04-26 22:05:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1117","person_id":"7014"}
[2026-04-26 22:05:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-26 22:05:31] [INFO] Checking activity reminders 
[2026-04-26 22:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:05:49] [INFO] Lead update received {"contact_id":"15806","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-26 22:05:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-26 22:05:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-26 22:05:49] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15806"}
[2026-04-26 22:05:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-26 22:06:01] [INFO] Checking activity reminders 
[2026-04-26 22:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:06:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"127","person_id":"17958"}
[2026-04-26 22:06:31] [INFO] Checking activity reminders 
[2026-04-26 22:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:06:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-26 22:07:01] [INFO] Checking activity reminders 
[2026-04-26 22:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:07:31] [INFO] Checking activity reminders 
[2026-04-26 22:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:07:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7910","person_id":"11936"}
[2026-04-26 22:08:01] [INFO] Checking activity reminders 
[2026-04-26 22:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:08:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12467","person_id":"7016"}
[2026-04-26 22:08:31] [INFO] Checking activity reminders 
[2026-04-26 22:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2675","person_id":"5787"}
[2026-04-26 22:09:02] [INFO] Checking activity reminders 
[2026-04-26 22:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:09:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:09:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:09:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:09:31] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 22:09:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:09:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:09:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:09:32] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:09:32] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:09:32] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:09:45] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:09:45] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:09:45] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:10:02] [INFO] Checking activity reminders 
[2026-04-26 22:10:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:10:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:10:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-26 22:10:32] [INFO] Checking activity reminders 
[2026-04-26 22:10:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:10:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:10:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-26 22:10:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-26 22:10:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e0dea8299194.75698416","person_id":"22190"}
[2026-04-26 22:11:02] [INFO] Checking activity reminders 
[2026-04-26 22:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:11:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:11:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:11:11] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:11:11] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:11:11] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:11:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:11:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:11:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:11:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7769031eb00.28419193","person_id":"22100"}
[2026-04-26 22:11:33] [INFO] Checking activity reminders 
[2026-04-26 22:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:11:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7769031eb00.28419193","person_id":"22100"}
[2026-04-26 22:11:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7769031eb00.28419193","person_id":"22100"}
[2026-04-26 22:11:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d7769031eb00.28419193","person_id":"22100"}
[2026-04-26 22:12:03] [INFO] Checking activity reminders 
[2026-04-26 22:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:12:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:12:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:12:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:12:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:12:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:12:36] [INFO] Checking activity reminders 
[2026-04-26 22:12:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:12:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:13:06] [INFO] Checking activity reminders 
[2026-04-26 22:13:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:13:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:13:36] [INFO] Checking activity reminders 
[2026-04-26 22:13:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:13:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:28:32] [INFO] Checking activity reminders 
[2026-04-26 22:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:28:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 22:28:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 22:28:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 22:29:02] [INFO] Checking activity reminders 
[2026-04-26 22:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:55:15] [INFO] Checking activity reminders 
[2026-04-26 22:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 22:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 22:55:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-26 23:09:17] [INFO] Checking activity reminders 
[2026-04-26 23:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 23:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 23:09:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:09:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:09:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:09:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 23:09:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:09:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:09:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:09:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:09:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:09:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:09:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:09:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:09:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:09:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:09:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:09:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:09:56] [INFO] Checking activity reminders 
[2026-04-26 23:09:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-26 23:09:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-26 23:14:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-26 23:14:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-26 23:14:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-26 23:14:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-26 23:14:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"check_reminders"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"get_person_profile"}
[2026-04-27 08:35:14] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:15] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:15] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:22] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 08:35:22] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 08:35:22] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 08:35:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 08:35:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 08:35:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 08:35:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 08:35:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5405","person_id":"10900"}
[2026-04-27 09:05:38] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:38] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"check_reminders"}
[2026-04-27 09:05:38] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"get_person_profile"}
[2026-04-27 09:05:39] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:40] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:40] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:42] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:42] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:44] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:44] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:48] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:48] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"get_leads"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:05:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:06:29] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:06:29] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"check_reminders"}
[2026-04-27 09:06:29] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:43] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"check_reminders"}
[2026-04-27 09:07:43] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:43] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:44] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:45] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:46] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:47] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:47] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:49] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"get_leads"}
[2026-04-27 09:07:50] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:07:51] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:08:00] [WARNING] Auth check failed - not authenticated {"session_id":"pf0qgd88ult7824cuc2p54n0c7","session_keys":[],"action":"log_client_event"}
[2026-04-27 09:08:00] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 09:08:00] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 09:08:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 09:08:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:08:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:08:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:08:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-27 09:08:52] [INFO] Checking activity reminders 
[2026-04-27 09:08:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:08:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:09:22] [INFO] Checking activity reminders 
[2026-04-27 09:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:09:38] [INFO] Checking activity reminders 
[2026-04-27 09:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:09:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-27 09:10:09] [INFO] Checking activity reminders 
[2026-04-27 09:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:10:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7976","person_id":"17744"}
[2026-04-27 09:15:08] [INFO] Checking activity reminders 
[2026-04-27 09:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:15:10] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:15:10] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:15:10] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:15:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:15:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:15:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:15:38] [INFO] Checking activity reminders 
[2026-04-27 09:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:15:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:15:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:15:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:16:08] [INFO] Checking activity reminders 
[2026-04-27 09:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:16:38] [INFO] Checking activity reminders 
[2026-04-27 09:16:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:16:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:17:39] [INFO] Checking activity reminders 
[2026-04-27 09:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:17:48] [INFO] Checking activity reminders 
[2026-04-27 09:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:19:32] [INFO] Checking activity reminders 
[2026-04-27 09:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:20:02] [INFO] Checking activity reminders 
[2026-04-27 09:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:20:32] [INFO] Checking activity reminders 
[2026-04-27 09:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:23:21] [INFO] Checking activity reminders 
[2026-04-27 09:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:23:34] [INFO] Checking activity reminders 
[2026-04-27 09:23:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:23:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:31:05] [INFO] Checking activity reminders 
[2026-04-27 09:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:31:35] [INFO] Checking activity reminders 
[2026-04-27 09:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:33:46] [INFO] Checking activity reminders 
[2026-04-27 09:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:33:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1004","person_id":"20547"}
[2026-04-27 09:35:00] [INFO] Checking activity reminders 
[2026-04-27 09:35:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:35:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:35:22] [INFO] Checking activity reminders 
[2026-04-27 09:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:35:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5965","person_id":"2760"}
[2026-04-27 09:36:10] [INFO] Checking activity reminders 
[2026-04-27 09:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:36:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:36:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:36:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:36:40] [INFO] Checking activity reminders 
[2026-04-27 09:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:37:10] [INFO] Checking activity reminders 
[2026-04-27 09:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:37:40] [INFO] Checking activity reminders 
[2026-04-27 09:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:38:24] [INFO] Checking activity reminders 
[2026-04-27 09:38:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:38:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:38:54] [INFO] Checking activity reminders 
[2026-04-27 09:38:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:38:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:39:24] [INFO] Checking activity reminders 
[2026-04-27 09:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:42:36] [INFO] Checking activity reminders 
[2026-04-27 09:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 09:43:06] [INFO] Checking activity reminders 
[2026-04-27 09:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:44:28] [INFO] Checking activity reminders 
[2026-04-27 09:44:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:44:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:44:50] [INFO] Checking activity reminders 
[2026-04-27 09:44:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:44:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:44:52] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:44:52] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:44:52] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:45:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:45:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:45:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:45:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 09:45:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 09:45:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 09:45:22] [INFO] Checking activity reminders 
[2026-04-27 09:45:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:45:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:45:41] [INFO] Checking activity reminders 
[2026-04-27 09:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:46:11] [INFO] Checking activity reminders 
[2026-04-27 09:46:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:46:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:46:41] [INFO] Checking activity reminders 
[2026-04-27 09:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:47:11] [INFO] Checking activity reminders 
[2026-04-27 09:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:47:41] [INFO] Checking activity reminders 
[2026-04-27 09:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:48:11] [INFO] Checking activity reminders 
[2026-04-27 09:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:48:41] [INFO] Checking activity reminders 
[2026-04-27 09:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:49:11] [INFO] Checking activity reminders 
[2026-04-27 09:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:49:42] [INFO] Checking activity reminders 
[2026-04-27 09:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:50:12] [INFO] Checking activity reminders 
[2026-04-27 09:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:50:42] [INFO] Checking activity reminders 
[2026-04-27 09:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:51:12] [INFO] Checking activity reminders 
[2026-04-27 09:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:51:42] [INFO] Checking activity reminders 
[2026-04-27 09:51:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:51:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:52:12] [INFO] Checking activity reminders 
[2026-04-27 09:52:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:52:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:52:42] [INFO] Checking activity reminders 
[2026-04-27 09:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:53:12] [INFO] Checking activity reminders 
[2026-04-27 09:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:53:43] [INFO] Checking activity reminders 
[2026-04-27 09:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:54:13] [INFO] Checking activity reminders 
[2026-04-27 09:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:54:43] [INFO] Checking activity reminders 
[2026-04-27 09:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:55:13] [INFO] Checking activity reminders 
[2026-04-27 09:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:55:43] [INFO] Checking activity reminders 
[2026-04-27 09:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:56:13] [INFO] Checking activity reminders 
[2026-04-27 09:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 09:56:43] [INFO] Checking activity reminders 
[2026-04-27 09:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 09:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:08:34] [WARNING] Auth check failed - not authenticated {"session_id":"ehh6d7gfn717s5pfgu36hht7cf","session_keys":[],"action":"log_client_event"}
[2026-04-27 10:08:34] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-27 10:08:35] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 10:09:05] [INFO] Checking activity reminders 
[2026-04-27 10:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:09:35] [INFO] Checking activity reminders 
[2026-04-27 10:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:10:05] [INFO] Checking activity reminders 
[2026-04-27 10:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:10:11] [INFO] Checking activity reminders 
[2026-04-27 10:10:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:10:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:10:35] [INFO] Checking activity reminders 
[2026-04-27 10:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:10:47] [INFO] Checking activity reminders 
[2026-04-27 10:10:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:10:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:10:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:10:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:10:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:11:05] [INFO] Checking activity reminders 
[2026-04-27 10:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:11:17] [INFO] Checking activity reminders 
[2026-04-27 10:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:11:35] [INFO] Checking activity reminders 
[2026-04-27 10:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:11:40] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:11:40] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:11:40] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:11:47] [INFO] Checking activity reminders 
[2026-04-27 10:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:12:03] [INFO] Checking activity reminders 
[2026-04-27 10:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:12:06] [INFO] Checking activity reminders 
[2026-04-27 10:12:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:12:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:12:59] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-27 10:12:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 10:13:29] [INFO] Checking activity reminders 
[2026-04-27 10:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:13:59] [INFO] Checking activity reminders 
[2026-04-27 10:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:14:25] [INFO] Checking activity reminders 
[2026-04-27 10:14:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:14:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:14:29] [INFO] Checking activity reminders 
[2026-04-27 10:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:14:59] [INFO] Checking activity reminders 
[2026-04-27 10:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:18:21] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-27 10:18:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 10:18:22] [INFO] Checking activity reminders 
[2026-04-27 10:18:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:18:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:18:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-27 10:18:52] [INFO] Checking activity reminders 
[2026-04-27 10:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:19:22] [INFO] Checking activity reminders 
[2026-04-27 10:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:19:53] [INFO] Checking activity reminders 
[2026-04-27 10:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:20:23] [INFO] Checking activity reminders 
[2026-04-27 10:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:20:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"797","deal_id":"local_699eae4416db12.15197353","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 10:20:25","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 10:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-27 10:20:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"797","is_new_deal":false}
[2026-04-27 10:20:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-27 10:20:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 10:20:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 10:20:25] [INFO] getContactPrimaryPhone called {"contact_id":"797"}
[2026-04-27 10:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-27 10:20:25] [INFO] getContactPrimaryPhone result {"contact_id":"797","person_found":true,"primary_phone":"9163612664"}
[2026-04-27 10:20:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9163612664"}
[2026-04-27 10:20:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9163612664","contact_id":"797","deal_id":"local_699eae4416db12.15197353","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:20:25"}
[2026-04-27 10:20:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","existing_deal_found":true,"existing_contact_id":"797","existing_title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:20:25"}
[2026-04-27 10:20:25] [INFO] DealController.save validated payments {"deal_id":"local_699eae4416db12.15197353","contact_id":"797","payments_count":5,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 10:20:25] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"797","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 10:20:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_699eae4416db12.15197353","contact_didar_id":"797","title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9163612664","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":69000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ناصر احمدی","existing_deal":"YES","existing_deal_id":"local_699eae4416db12.15197353","existing_deal_status":"Pending","server_time":"2026-04-27 10:20:25","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 10:20:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-27 10:20:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_699eae4416db12.15197353","contact_id":"797","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9163612664 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":69000000,"server_time":"2026-04-27 10:20:26","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 10:20:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-27 10:20:53] [INFO] Checking activity reminders 
[2026-04-27 10:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:21:14] [INFO] Checking activity reminders 
[2026-04-27 10:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:21:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:21:44] [INFO] Checking activity reminders 
[2026-04-27 10:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:22:14] [INFO] Checking activity reminders 
[2026-04-27 10:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:22:44] [INFO] Checking activity reminders 
[2026-04-27 10:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:22:49] [INFO] Checking activity reminders 
[2026-04-27 10:22:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:22:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:23:06] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 10:23:06","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:06] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-27 10:23:06] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 10:23:06] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 10:23:06] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 10:23:06] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:06] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-27 10:23:06] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-27 10:23:06] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:23:06"}
[2026-04-27 10:23:06] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:23:06"}
[2026-04-27 10:23:06] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":1,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 10:23:06] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 10:23:06] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":39000000,"payment_amount":2000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"شیبانی شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Pending","server_time":"2026-04-27 10:23:06","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:06] [INFO] Deal success processed {"contact_id":"local_69eccf0a538113.18112028","person_name":"شیبانی شیبانی","products_count":1}
[2026-04-27 10:23:06] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":2000000,"server_time":"2026-04-27 10:23:06","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:06] [INFO] Updating virtual stage {"contact_id":"local_69eccf0a538113.18112028","stage_name":"with_purchase","force":true}
[2026-04-27 10:23:06] [INFO] Virtual stage successfully saved {"contact_id":"local_69eccf0a538113.18112028","stage_name":"with_purchase"}
[2026-04-27 10:23:06] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","target_stage":"with_purchase"}
[2026-04-27 10:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:14] [INFO] Checking activity reminders 
[2026-04-27 10:23:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:23:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:23:20] [INFO] Lead update received {"contact_id":"local_69eccf0a538113.18112028","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 10:23:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69eccf0a538113.18112028"}
[2026-04-27 10:23:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 10:23:44] [INFO] Checking activity reminders 
[2026-04-27 10:23:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:23:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:24:14] [INFO] Checking activity reminders 
[2026-04-27 10:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:24:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:24:44] [INFO] Checking activity reminders 
[2026-04-27 10:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:25:11] [INFO] Lead update received {"contact_id":"11719","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 10:25:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:11] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11719"}
[2026-04-27 10:25:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:15] [INFO] Checking activity reminders 
[2026-04-27 10:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:25:45] [INFO] Checking activity reminders 
[2026-04-27 10:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:25:54] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"11719","deal_id":"local_69db86d8dc6b82.46383571","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 10:25:54","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"11719","is_new_deal":false}
[2026-04-27 10:25:54] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 10:25:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 10:25:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 10:25:54] [INFO] getContactPrimaryPhone called {"contact_id":"11719"}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:54] [INFO] getContactPrimaryPhone result {"contact_id":"11719","person_found":true,"primary_phone":"9124961374"}
[2026-04-27 10:25:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9124961374"}
[2026-04-27 10:25:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9124961374","contact_id":"11719","deal_id":"local_69db86d8dc6b82.46383571","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:25:54"}
[2026-04-27 10:25:54] [INFO] DealController.save existing deal lookup {"deal_id":"local_69db86d8dc6b82.46383571","contact_id":"11719","existing_deal_found":true,"existing_contact_id":"11719","existing_title":"معامله دوم 9124961374 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 10:25:54"}
[2026-04-27 10:25:54] [INFO] DealController.save validated payments {"deal_id":"local_69db86d8dc6b82.46383571","contact_id":"11719","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-27 10:25:54] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11719","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 10:25:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69db86d8dc6b82.46383571","contact_didar_id":"11719","title":"معامله دوم 9124961374 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9124961374","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علیرضا منوچهری","existing_deal":"YES","existing_deal_id":"local_69db86d8dc6b82.46383571","existing_deal_status":"Pending","server_time":"2026-04-27 10:25:54","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:54] [INFO] Deal success processed {"contact_id":"11719","person_name":"علیرضا منوچهری","products_count":1}
[2026-04-27 10:25:54] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69db86d8dc6b82.46383571","contact_id":"11719","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9124961374 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-27 10:25:54","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:25:54] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"with_purchase","force":true}
[2026-04-27 10:25:54] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"with_purchase"}
[2026-04-27 10:25:54] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11719","deal_id":"local_69db86d8dc6b82.46383571","target_stage":"with_purchase"}
[2026-04-27 10:25:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:26:15] [INFO] Checking activity reminders 
[2026-04-27 10:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:26:49] [INFO] Checking activity reminders 
[2026-04-27 10:26:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:26:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:27:19] [INFO] Checking activity reminders 
[2026-04-27 10:27:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:27:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:27:49] [INFO] Checking activity reminders 
[2026-04-27 10:27:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:27:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:28:19] [INFO] Checking activity reminders 
[2026-04-27 10:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:28:20] [INFO] Activity save request {"post_data":{"contact_id":"11719","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت مجدد کانال 6 ماهه \r\nارسال شبا تجارت 2 استاد \r\nبدون پشتیبانی \r\n","activity_duration":"6","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 10:28:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:28:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 10:28:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 10:28:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:28:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11719","note_was_empty":true}
[2026-04-27 10:28:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"11719","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 10:28:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef090c503bf5.50866452","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 10:28:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:28:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef090c503bf5.50866452"}
[2026-04-27 10:28:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:28:20] [INFO] Updating virtual stage {"contact_id":"11719","stage_name":"with_purchase","force":false}
[2026-04-27 10:28:20] [INFO] Virtual stage successfully saved {"contact_id":"11719","stage_name":"with_purchase"}
[2026-04-27 10:28:20] [INFO] Virtual stage updated after activity save {"contact_id":"11719"}
[2026-04-27 10:28:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 10:28:49] [INFO] Checking activity reminders 
[2026-04-27 10:28:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:28:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:29:23] [INFO] Checking activity reminders 
[2026-04-27 10:29:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:29:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:29:53] [INFO] Checking activity reminders 
[2026-04-27 10:29:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:29:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:30:26] [INFO] Checking activity reminders 
[2026-04-27 10:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:30:56] [INFO] Checking activity reminders 
[2026-04-27 10:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:31:30] [INFO] Checking activity reminders 
[2026-04-27 10:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:32:00] [INFO] Checking activity reminders 
[2026-04-27 10:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:32:30] [INFO] Checking activity reminders 
[2026-04-27 10:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:33:00] [INFO] Checking activity reminders 
[2026-04-27 10:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:33:30] [INFO] Checking activity reminders 
[2026-04-27 10:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:34:01] [INFO] Checking activity reminders 
[2026-04-27 10:34:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:34:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:34:31] [INFO] Checking activity reminders 
[2026-04-27 10:34:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:34:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:35:01] [INFO] Checking activity reminders 
[2026-04-27 10:35:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:35:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:35:23] [INFO] Checking activity reminders 
[2026-04-27 10:35:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:35:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:35:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:35:31] [INFO] Checking activity reminders 
[2026-04-27 10:35:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:35:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:35:57] [INFO] Checking activity reminders 
[2026-04-27 10:35:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:35:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:35:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:35:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:35:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:36:01] [INFO] Checking activity reminders 
[2026-04-27 10:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:36:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:36:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:36:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:36:35] [INFO] Checking activity reminders 
[2026-04-27 10:36:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:36:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:36:52] [INFO] Checking activity reminders 
[2026-04-27 10:36:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:36:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:37:05] [INFO] Checking activity reminders 
[2026-04-27 10:37:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:37:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:37:22] [INFO] Checking activity reminders 
[2026-04-27 10:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:37:28] [INFO] Activity save request {"post_data":{"contact_id":"9004","deal_id":"local_69465c8d381251.12833091","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"هست کانال تا اخر سال \/ پشتیبانی سیگنال دلار بله","activity_duration":"15","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"برگزاری دوره","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 10:37:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9004","note_was_empty":true}
[2026-04-27 10:37:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"9004","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:28] [INFO] Updating virtual stage {"contact_id":"9004","stage_name":"deal_registered","force":false}
[2026-04-27 10:37:28] [INFO] Virtual stage successfully saved {"contact_id":"9004","stage_name":"deal_registered"}
[2026-04-27 10:37:28] [INFO] Virtual stage updated after activity save {"contact_id":"9004"}
[2026-04-27 10:37:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69465c8d381251.12833091","stage":"برگزاری دوره","status_change":null}
[2026-04-27 10:37:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef0b300b5859.74698059","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef0b300b5859.74698059"}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:28] [INFO] Updating virtual stage {"contact_id":"9004","stage_name":"deal_registered","force":false}
[2026-04-27 10:37:28] [INFO] Virtual stage successfully saved {"contact_id":"9004","stage_name":"deal_registered"}
[2026-04-27 10:37:28] [INFO] Virtual stage updated after activity save {"contact_id":"9004"}
[2026-04-27 10:37:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:35] [INFO] Checking activity reminders 
[2026-04-27 10:37:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:37:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:37:37] [INFO] Checking activity reminders 
[2026-04-27 10:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:37:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 10:37:52] [INFO] Checking activity reminders 
[2026-04-27 10:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:05] [INFO] Checking activity reminders 
[2026-04-27 10:38:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:07] [INFO] Checking activity reminders 
[2026-04-27 10:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:22] [INFO] Checking activity reminders 
[2026-04-27 10:38:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:33] [INFO] Checking activity reminders 
[2026-04-27 10:38:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:35] [INFO] Checking activity reminders 
[2026-04-27 10:38:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:38:52] [INFO] Checking activity reminders 
[2026-04-27 10:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:39:05] [INFO] Checking activity reminders 
[2026-04-27 10:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:39:22] [INFO] Checking activity reminders 
[2026-04-27 10:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:39:35] [INFO] Checking activity reminders 
[2026-04-27 10:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:39:52] [INFO] Checking activity reminders 
[2026-04-27 10:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:40:05] [INFO] Checking activity reminders 
[2026-04-27 10:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:40:22] [INFO] Checking activity reminders 
[2026-04-27 10:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:40:36] [INFO] Checking activity reminders 
[2026-04-27 10:40:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:40:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:40:52] [INFO] Checking activity reminders 
[2026-04-27 10:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:41:06] [INFO] Checking activity reminders 
[2026-04-27 10:41:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:41:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:41:22] [INFO] Checking activity reminders 
[2026-04-27 10:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:41:36] [INFO] Checking activity reminders 
[2026-04-27 10:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:41:53] [INFO] Checking activity reminders 
[2026-04-27 10:41:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:41:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:06] [INFO] Checking activity reminders 
[2026-04-27 10:42:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:09] [INFO] Checking activity reminders 
[2026-04-27 10:42:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:23] [INFO] Checking activity reminders 
[2026-04-27 10:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:36] [INFO] Checking activity reminders 
[2026-04-27 10:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:39] [INFO] Checking activity reminders 
[2026-04-27 10:42:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:53] [INFO] Checking activity reminders 
[2026-04-27 10:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:42:53] [INFO] Checking activity reminders 
[2026-04-27 10:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:06] [INFO] Checking activity reminders 
[2026-04-27 10:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:23] [INFO] Checking activity reminders 
[2026-04-27 10:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:23] [INFO] Checking activity reminders 
[2026-04-27 10:43:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:36] [INFO] Checking activity reminders 
[2026-04-27 10:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:53] [INFO] Checking activity reminders 
[2026-04-27 10:43:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:43:57] [INFO] Checking activity reminders 
[2026-04-27 10:43:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:43:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:44:06] [INFO] Checking activity reminders 
[2026-04-27 10:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:44:23] [INFO] Checking activity reminders 
[2026-04-27 10:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:44:36] [INFO] Checking activity reminders 
[2026-04-27 10:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:44:53] [INFO] Checking activity reminders 
[2026-04-27 10:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:45:06] [INFO] Checking activity reminders 
[2026-04-27 10:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:45:23] [INFO] Checking activity reminders 
[2026-04-27 10:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:45:37] [INFO] Checking activity reminders 
[2026-04-27 10:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:45:53] [INFO] Checking activity reminders 
[2026-04-27 10:45:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:45:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:46:07] [INFO] Checking activity reminders 
[2026-04-27 10:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:46:23] [INFO] Checking activity reminders 
[2026-04-27 10:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:46:37] [INFO] Checking activity reminders 
[2026-04-27 10:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:46:53] [INFO] Checking activity reminders 
[2026-04-27 10:46:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:46:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:47:01] [INFO] Checking activity reminders 
[2026-04-27 10:47:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:47:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:47:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:47:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:47:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:47:07] [INFO] Checking activity reminders 
[2026-04-27 10:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:47:24] [INFO] Checking activity reminders 
[2026-04-27 10:47:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:47:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:47:36] [INFO] Checking activity reminders 
[2026-04-27 10:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:48:07] [INFO] Checking activity reminders 
[2026-04-27 10:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:48:37] [INFO] Checking activity reminders 
[2026-04-27 10:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:49:02] [INFO] Checking activity reminders 
[2026-04-27 10:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:49:32] [INFO] Checking activity reminders 
[2026-04-27 10:49:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:49:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:50:02] [INFO] Checking activity reminders 
[2026-04-27 10:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:50:32] [INFO] Checking activity reminders 
[2026-04-27 10:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:50:56] [INFO] Checking activity reminders 
[2026-04-27 10:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:51:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 10:51:03] [INFO] Checking activity reminders 
[2026-04-27 10:51:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:51:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:51:09] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-27 10:51:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 10:51:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 10:51:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 10:51:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 10:51:26] [INFO] Checking activity reminders 
[2026-04-27 10:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:51:33] [INFO] Checking activity reminders 
[2026-04-27 10:51:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:51:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:51:57] [INFO] Checking activity reminders 
[2026-04-27 10:51:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:51:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:52:03] [INFO] Checking activity reminders 
[2026-04-27 10:52:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:52:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:52:27] [INFO] Checking activity reminders 
[2026-04-27 10:52:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:52:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:52:33] [INFO] Checking activity reminders 
[2026-04-27 10:52:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:52:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:52:57] [INFO] Checking activity reminders 
[2026-04-27 10:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:03] [INFO] Checking activity reminders 
[2026-04-27 10:53:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:27] [INFO] Checking activity reminders 
[2026-04-27 10:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:33] [INFO] Checking activity reminders 
[2026-04-27 10:53:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:41] [INFO] Checking activity reminders 
[2026-04-27 10:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:53] [INFO] Checking activity reminders 
[2026-04-27 10:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:53:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 10:53:57] [INFO] Checking activity reminders 
[2026-04-27 10:53:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:53:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:03] [INFO] Checking activity reminders 
[2026-04-27 10:54:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:11] [INFO] Checking activity reminders 
[2026-04-27 10:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:27] [INFO] Checking activity reminders 
[2026-04-27 10:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:33] [INFO] Checking activity reminders 
[2026-04-27 10:54:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:41] [INFO] Checking activity reminders 
[2026-04-27 10:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:46] [INFO] Checking activity reminders 
[2026-04-27 10:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:57] [INFO] Checking activity reminders 
[2026-04-27 10:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:54:57] [INFO] Checking activity reminders 
[2026-04-27 10:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:03] [INFO] Checking activity reminders 
[2026-04-27 10:55:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:10] [INFO] Checking activity reminders 
[2026-04-27 10:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:11] [INFO] Checking activity reminders 
[2026-04-27 10:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:27] [INFO] Checking activity reminders 
[2026-04-27 10:55:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:33] [INFO] Checking activity reminders 
[2026-04-27 10:55:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:40] [INFO] Checking activity reminders 
[2026-04-27 10:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:55:58] [INFO] Checking activity reminders 
[2026-04-27 10:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:03] [INFO] Checking activity reminders 
[2026-04-27 10:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:19] [INFO] Checking activity reminders 
[2026-04-27 10:56:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:23] [INFO] Checking activity reminders 
[2026-04-27 10:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:28] [INFO] Checking activity reminders 
[2026-04-27 10:56:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:33] [INFO] Checking activity reminders 
[2026-04-27 10:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:37] [INFO] Checking activity reminders 
[2026-04-27 10:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:56:58] [INFO] Checking activity reminders 
[2026-04-27 10:56:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:56:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:03] [INFO] Checking activity reminders 
[2026-04-27 10:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:10] [INFO] Checking activity reminders 
[2026-04-27 10:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:20] [INFO] Checking activity reminders 
[2026-04-27 10:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:28] [INFO] Checking activity reminders 
[2026-04-27 10:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:30] [INFO] Checking activity reminders 
[2026-04-27 10:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:33] [INFO] Checking activity reminders 
[2026-04-27 10:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:57:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 10:57:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-27 10:57:58] [INFO] Checking activity reminders 
[2026-04-27 10:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:04] [INFO] Checking activity reminders 
[2026-04-27 10:58:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:04] [INFO] Checking activity reminders 
[2026-04-27 10:58:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:16] [INFO] Checking activity reminders 
[2026-04-27 10:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:19] [INFO] Checking activity reminders 
[2026-04-27 10:58:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:25] [INFO] Checking activity reminders 
[2026-04-27 10:58:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:28] [INFO] Checking activity reminders 
[2026-04-27 10:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:33] [INFO] Checking activity reminders 
[2026-04-27 10:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:34] [INFO] Checking activity reminders 
[2026-04-27 10:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:49] [INFO] Checking activity reminders 
[2026-04-27 10:58:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:58:58] [INFO] Checking activity reminders 
[2026-04-27 10:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:04] [INFO] Checking activity reminders 
[2026-04-27 10:59:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:05] [INFO] Checking activity reminders 
[2026-04-27 10:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:14] [INFO] Checking activity reminders 
[2026-04-27 10:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:28] [INFO] Checking activity reminders 
[2026-04-27 10:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:34] [INFO] Checking activity reminders 
[2026-04-27 10:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:45] [INFO] Checking activity reminders 
[2026-04-27 10:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 10:59:58] [INFO] Checking activity reminders 
[2026-04-27 10:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 10:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:00:04] [INFO] Checking activity reminders 
[2026-04-27 11:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:00:19] [INFO] Checking activity reminders 
[2026-04-27 11:00:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:00:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:00:29] [INFO] Checking activity reminders 
[2026-04-27 11:00:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:00:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:00:34] [INFO] Checking activity reminders 
[2026-04-27 11:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:00:59] [INFO] Checking activity reminders 
[2026-04-27 11:00:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:00:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:01:04] [INFO] Checking activity reminders 
[2026-04-27 11:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:01:29] [INFO] Checking activity reminders 
[2026-04-27 11:01:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:01:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:01:34] [INFO] Checking activity reminders 
[2026-04-27 11:01:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:01:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:02:04] [INFO] Checking activity reminders 
[2026-04-27 11:02:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:02:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:02:34] [INFO] Checking activity reminders 
[2026-04-27 11:02:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:02:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:02:53] [INFO] Checking activity reminders 
[2026-04-27 11:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:03:04] [INFO] Checking activity reminders 
[2026-04-27 11:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:03:09] [INFO] generateDealTitle result {"contact_id":"6969","person_name":"حسن دریجانی","mobile":"9211541958","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9211541958"}
[2026-04-27 11:03:23] [INFO] Checking activity reminders 
[2026-04-27 11:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:03:34] [INFO] Checking activity reminders 
[2026-04-27 11:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:03:53] [INFO] Checking activity reminders 
[2026-04-27 11:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:00] [INFO] Activity save request {"post_data":{"contact_id":"6969","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تا اخر مهر 27ت میزنه الان \/ بعدا تمدید \/ رو خودرو ضرر کرده عقبه","activity_duration":"30","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 11:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:04:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 11:04:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 11:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:04:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6969","note_was_empty":true}
[2026-04-27 11:04:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"6969","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 11:04:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1168559832.13177365","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 11:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:04:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1168559832.13177365"}
[2026-04-27 11:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:04:00] [INFO] Updating virtual stage {"contact_id":"6969","stage_name":"deal_registered","force":false}
[2026-04-27 11:04:00] [INFO] Virtual stage successfully saved {"contact_id":"6969","stage_name":"deal_registered"}
[2026-04-27 11:04:00] [INFO] Virtual stage updated after activity save {"contact_id":"6969"}
[2026-04-27 11:04:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:04:01] [INFO] Checking activity reminders 
[2026-04-27 11:04:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:04] [INFO] Checking activity reminders 
[2026-04-27 11:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:04] [INFO] Checking activity reminders 
[2026-04-27 11:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:04:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:04:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:04:23] [INFO] Checking activity reminders 
[2026-04-27 11:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:34] [INFO] Checking activity reminders 
[2026-04-27 11:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:34] [INFO] Checking activity reminders 
[2026-04-27 11:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:04:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:04:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:04:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:04:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:04:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:04:53] [INFO] Checking activity reminders 
[2026-04-27 11:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:04:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:04:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:04:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:04] [INFO] Checking activity reminders 
[2026-04-27 11:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:05:04] [INFO] Checking activity reminders 
[2026-04-27 11:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:05:05] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:05:05] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:05:05] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:05:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:05:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:05:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:05:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:25] [INFO] Checking activity reminders 
[2026-04-27 11:05:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:05:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:05:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:05:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:34] [INFO] Checking activity reminders 
[2026-04-27 11:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:05:35] [INFO] Checking activity reminders 
[2026-04-27 11:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:05:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:05:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:05:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:05:55] [INFO] Checking activity reminders 
[2026-04-27 11:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:02] [INFO] Checking activity reminders 
[2026-04-27 11:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:05] [INFO] Checking activity reminders 
[2026-04-27 11:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:11] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:06:11] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:06:11] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:06:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:06:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:06:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:06:25] [INFO] Checking activity reminders 
[2026-04-27 11:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:06:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:06:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:06:35] [INFO] Checking activity reminders 
[2026-04-27 11:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:35] [INFO] Checking activity reminders 
[2026-04-27 11:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:06:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:06:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:06:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:06:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:06:55] [INFO] Checking activity reminders 
[2026-04-27 11:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:07:05] [INFO] Checking activity reminders 
[2026-04-27 11:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:07:05] [INFO] Checking activity reminders 
[2026-04-27 11:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:07:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 11:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:07:35] [INFO] Checking activity reminders 
[2026-04-27 11:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:07:35] [INFO] Checking activity reminders 
[2026-04-27 11:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:07:39] [INFO] Checking activity reminders 
[2026-04-27 11:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:05] [INFO] Checking activity reminders 
[2026-04-27 11:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:05] [INFO] Checking activity reminders 
[2026-04-27 11:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:09] [INFO] Checking activity reminders 
[2026-04-27 11:08:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:35] [INFO] Checking activity reminders 
[2026-04-27 11:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:35] [INFO] Checking activity reminders 
[2026-04-27 11:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:39] [INFO] Checking activity reminders 
[2026-04-27 11:08:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:08:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:08:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:08:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:08:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:08:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 11:08:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 11:08:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 11:09:05] [INFO] Checking activity reminders 
[2026-04-27 11:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:09:05] [INFO] Checking activity reminders 
[2026-04-27 11:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:09:09] [INFO] Checking activity reminders 
[2026-04-27 11:09:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:09:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:09:35] [INFO] Checking activity reminders 
[2026-04-27 11:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:09:39] [INFO] Checking activity reminders 
[2026-04-27 11:09:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:09:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:10:05] [INFO] Checking activity reminders 
[2026-04-27 11:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:10:09] [INFO] Checking activity reminders 
[2026-04-27 11:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:10:35] [INFO] Checking activity reminders 
[2026-04-27 11:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:10:39] [INFO] Checking activity reminders 
[2026-04-27 11:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:11:05] [INFO] Checking activity reminders 
[2026-04-27 11:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:11:35] [INFO] Checking activity reminders 
[2026-04-27 11:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:11:38] [INFO] Checking activity reminders 
[2026-04-27 11:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:11:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-27 11:11:51] [INFO] Checking activity reminders 
[2026-04-27 11:11:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:11:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:11:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-27 11:11:54] [INFO] Checking activity reminders 
[2026-04-27 11:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:03] [INFO] Lead update received {"contact_id":"6729","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:12:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-27 11:12:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-27 11:12:03] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6729"}
[2026-04-27 11:12:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-27 11:12:06] [INFO] Checking activity reminders 
[2026-04-27 11:12:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:12:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:08] [INFO] generateDealTitle result {"contact_id":"6969","person_name":"حسن دریجانی","mobile":"9211541958","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9211541958"}
[2026-04-27 11:12:15] [INFO] Checking activity reminders 
[2026-04-27 11:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-27 11:12:24] [INFO] Checking activity reminders 
[2026-04-27 11:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:27] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6969","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:12:27","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6969","is_new_deal":true}
[2026-04-27 11:12:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:12:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:12:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:12:27] [INFO] getContactPrimaryPhone called {"contact_id":"6969"}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:27] [INFO] getContactPrimaryPhone result {"contact_id":"6969","person_found":true,"primary_phone":"9211541958"}
[2026-04-27 11:12:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9211541958"}
[2026-04-27 11:12:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9211541958","contact_id":"6969","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 11:12:27"}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:27] [INFO] generateDealTitle result {"contact_id":"6969","person_name":"حسن دریجانی","mobile":"9211541958","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9211541958"}
[2026-04-27 11:12:27] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"6969","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-27 11:12:27] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6969","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 11:12:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"6969","title":"معامله سوم 9211541958 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9211541958","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسن دریجانی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 11:12:27","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:27] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 11:12:27] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"6969","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9211541958 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-27 11:12:27","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:12:30] [INFO] Lead update received {"contact_id":"11432","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:12:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-27 11:12:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-27 11:12:30] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11432"}
[2026-04-27 11:12:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-27 11:12:36] [INFO] Checking activity reminders 
[2026-04-27 11:12:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:12:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:43] [INFO] Checking activity reminders 
[2026-04-27 11:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:12:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-27 11:13:00] [INFO] Lead update received {"contact_id":"14373","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:13:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-27 11:13:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-27 11:13:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14373"}
[2026-04-27 11:13:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-27 11:13:06] [INFO] Checking activity reminders 
[2026-04-27 11:13:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:13:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:13:13] [INFO] Checking activity reminders 
[2026-04-27 11:13:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:13:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:13:36] [INFO] Checking activity reminders 
[2026-04-27 11:13:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:13:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:13:38] [INFO] Checking activity reminders 
[2026-04-27 11:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:13:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-27 11:14:06] [INFO] Checking activity reminders 
[2026-04-27 11:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:14:36] [INFO] Checking activity reminders 
[2026-04-27 11:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:14:37] [INFO] Checking activity reminders 
[2026-04-27 11:14:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:14:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-27 11:14:53] [INFO] Lead update received {"contact_id":"14698","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-27 11:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-27 11:14:53] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14698"}
[2026-04-27 11:14:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-27 11:15:02] [INFO] Checking activity reminders 
[2026-04-27 11:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:15:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-27 11:15:06] [INFO] Checking activity reminders 
[2026-04-27 11:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:15:17] [INFO] Lead update received {"contact_id":"14808","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-27 11:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-27 11:15:17] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14808"}
[2026-04-27 11:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-27 11:15:30] [INFO] Checking activity reminders 
[2026-04-27 11:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:15:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-27 11:15:36] [INFO] Checking activity reminders 
[2026-04-27 11:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:16:06] [INFO] Checking activity reminders 
[2026-04-27 11:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:16:08] [INFO] Checking activity reminders 
[2026-04-27 11:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:16:23] [INFO] Lead update received {"contact_id":"5059","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:16:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-27 11:16:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-27 11:16:23] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5059"}
[2026-04-27 11:16:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-27 11:16:36] [INFO] Checking activity reminders 
[2026-04-27 11:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:16:37] [INFO] Checking activity reminders 
[2026-04-27 11:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:16:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-27 11:16:56] [INFO] Lead update received {"contact_id":"11237","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:16:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-27 11:16:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-27 11:16:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11237"}
[2026-04-27 11:16:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-27 11:17:06] [INFO] Checking activity reminders 
[2026-04-27 11:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:17:08] [INFO] Checking activity reminders 
[2026-04-27 11:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:17:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 11:17:21] [INFO] Checking activity reminders 
[2026-04-27 11:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 11:17:36] [INFO] Checking activity reminders 
[2026-04-27 11:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:17:40] [INFO] Lead update received {"contact_id":"10606","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:17:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 11:17:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 11:17:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10606"}
[2026-04-27 11:17:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 11:17:52] [INFO] Checking activity reminders 
[2026-04-27 11:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:17:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 11:18:04] [INFO] Lead update received {"contact_id":"20546","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:18:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 11:18:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 11:18:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20546"}
[2026-04-27 11:18:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 11:18:06] [INFO] Checking activity reminders 
[2026-04-27 11:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:18:19] [INFO] Checking activity reminders 
[2026-04-27 11:18:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:18:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:18:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:18:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:18:23] [INFO] generateDealTitle result {"contact_id":"14922","person_name":"حجت اله رحمتی","mobile":"9121863450","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9121863450"}
[2026-04-27 11:18:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 11:18:36] [INFO] Checking activity reminders 
[2026-04-27 11:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:18:51] [INFO] Checking activity reminders 
[2026-04-27 11:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:18:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 11:19:07] [INFO] Checking activity reminders 
[2026-04-27 11:19:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:19:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:19:15] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14922","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:19:15","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"14922","is_new_deal":true}
[2026-04-27 11:19:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:19:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:19:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:19:15] [INFO] getContactPrimaryPhone called {"contact_id":"14922"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [INFO] getContactPrimaryPhone result {"contact_id":"14922","person_found":true,"primary_phone":"9121863450"}
[2026-04-27 11:19:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121863450"}
[2026-04-27 11:19:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121863450","contact_id":"14922","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 11:19:15"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [INFO] generateDealTitle result {"contact_id":"14922","person_name":"حجت اله رحمتی","mobile":"9121863450","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9121863450"}
[2026-04-27 11:19:15] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"14922","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-27 11:19:15] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"14922","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 11:19:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"14922","title":"معامله دوم 9121863450 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9121863450","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حجت اله رحمتی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 11:19:15","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [INFO] Deal success processed {"contact_id":"14922","person_name":"حجت اله رحمتی","products_count":1}
[2026-04-27 11:19:15] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 11:19:15] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"14922","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9121863450 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-27 11:19:15","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:15] [INFO] Updating virtual stage {"contact_id":"14922","stage_name":"with_purchase","force":true}
[2026-04-27 11:19:15] [INFO] Virtual stage successfully saved {"contact_id":"14922","stage_name":"with_purchase"}
[2026-04-27 11:19:15] [INFO] Moved contact out of kariz after successful deal {"contact_id":"14922","deal_id":"","target_stage":"with_purchase"}
[2026-04-27 11:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:19:28] [INFO] Checking activity reminders 
[2026-04-27 11:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:19:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-27 11:19:37] [INFO] Checking activity reminders 
[2026-04-27 11:19:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:19:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:19:47] [INFO] Lead update received {"contact_id":"20875","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-27 11:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-27 11:19:47] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20875"}
[2026-04-27 11:19:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-27 11:20:02] [INFO] Checking activity reminders 
[2026-04-27 11:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:20:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-27 11:20:07] [INFO] Activity save request {"post_data":{"contact_id":"14922","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال شبا تجارت 2 \r\nکلی برای واریز تخفیف میخواست و چونه میزنه \r\nسیستم مالی و حسابداری مجموعه \/ ارسال اطلعات ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:20:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 11:20:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:20:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14922","note_was_empty":true}
[2026-04-27 11:20:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"14922","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 11:20:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef152f1eafd2.99137307","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:20:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef152f1eafd2.99137307"}
[2026-04-27 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:20:07] [INFO] Updating virtual stage {"contact_id":"14922","stage_name":"with_purchase","force":false}
[2026-04-27 11:20:07] [INFO] Virtual stage successfully saved {"contact_id":"14922","stage_name":"with_purchase"}
[2026-04-27 11:20:07] [INFO] Virtual stage updated after activity save {"contact_id":"14922"}
[2026-04-27 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:20:07] [INFO] Checking activity reminders 
[2026-04-27 11:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:20:39] [INFO] Checking activity reminders 
[2026-04-27 11:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:21:09] [INFO] Checking activity reminders 
[2026-04-27 11:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:21:18] [INFO] Checking activity reminders 
[2026-04-27 11:21:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:21:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:21:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:21:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-27 11:21:39] [INFO] Checking activity reminders 
[2026-04-27 11:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:21:40] [INFO] Checking activity reminders 
[2026-04-27 11:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:21:44] [INFO] Lead update received {"contact_id":"8967","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:21:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-27 11:21:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-27 11:21:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8967"}
[2026-04-27 11:21:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-27 11:21:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:21:57] [INFO] Checking activity reminders 
[2026-04-27 11:21:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:21:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-27 11:22:08] [INFO] Lead update received {"contact_id":"18241","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-27 11:22:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-27 11:22:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"18241"}
[2026-04-27 11:22:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-27 11:22:09] [INFO] Checking activity reminders 
[2026-04-27 11:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:11] [INFO] Checking activity reminders 
[2026-04-27 11:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:20] [INFO] Checking activity reminders 
[2026-04-27 11:22:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 11:22:31] [INFO] Lead update received {"contact_id":"11224","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 11:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 11:22:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11224"}
[2026-04-27 11:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 11:22:39] [INFO] Checking activity reminders 
[2026-04-27 11:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:41] [INFO] Checking activity reminders 
[2026-04-27 11:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6969","deal_id":"local_69ef136355c841.62034853","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:22:42","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 11:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:22:42] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6969","is_new_deal":false}
[2026-04-27 11:22:42] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:22:42] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:22:42] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 11:22:42] [INFO] getContactPrimaryPhone called {"contact_id":"6969"}
[2026-04-27 11:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:22:42] [INFO] getContactPrimaryPhone result {"contact_id":"6969","person_found":true,"primary_phone":"9211541958"}
[2026-04-27 11:22:42] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9211541958"}
[2026-04-27 11:22:42] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9211541958","contact_id":"6969","deal_id":"local_69ef136355c841.62034853","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 11:22:42"}
[2026-04-27 11:22:42] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ef136355c841.62034853","contact_id":"6969","existing_deal_found":true,"existing_contact_id":"6969","existing_title":"معامله سوم 9211541958 | کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 11:22:42"}
[2026-04-27 11:22:42] [INFO] DealController.save validated payments {"deal_id":"local_69ef136355c841.62034853","contact_id":"6969","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-27 11:22:42] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6969","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 11:22:42] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ef136355c841.62034853","contact_didar_id":"6969","title":"معامله سوم 9211541958 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9211541958","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"حسن دریجانی","existing_deal":"YES","existing_deal_id":"local_69ef136355c841.62034853","existing_deal_status":"Pending","server_time":"2026-04-27 11:22:42","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 11:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:22:42] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ef136355c841.62034853","contact_id":"6969","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9211541958 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-27 11:22:42","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:22:42] [INFO] Checking activity reminders 
[2026-04-27 11:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-27 11:22:55] [INFO] Checking activity reminders 
[2026-04-27 11:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 11:23:06] [INFO] Lead update received {"contact_id":"5334","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 11:23:06] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5334"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 11:23:06] [INFO] Activity save request {"post_data":{"contact_id":"6969","deal_id":"local_69ef136355c841.62034853","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه هست تا ارخر مهر بدون مشاوره\/ کانال زد 27 ت","activity_duration":"10","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 11:23:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6969","note_was_empty":true}
[2026-04-27 11:23:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"6969","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Updating virtual stage {"contact_id":"6969","stage_name":"with_purchase","force":false}
[2026-04-27 11:23:06] [INFO] Virtual stage successfully saved {"contact_id":"6969","stage_name":"with_purchase"}
[2026-04-27 11:23:06] [INFO] Virtual stage updated after activity save {"contact_id":"6969"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef136355c841.62034853","stage":"اتمام","status_change":"Won"}
[2026-04-27 11:23:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef15e2d9e6b3.39615577","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef15e2d9e6b3.39615577"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:06] [INFO] Updating virtual stage {"contact_id":"6969","stage_name":"with_purchase","force":false}
[2026-04-27 11:23:06] [INFO] Virtual stage successfully saved {"contact_id":"6969","stage_name":"with_purchase"}
[2026-04-27 11:23:06] [INFO] Virtual stage updated after activity save {"contact_id":"6969"}
[2026-04-27 11:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:23:09] [INFO] Checking activity reminders 
[2026-04-27 11:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:23:11] [INFO] Checking activity reminders 
[2026-04-27 11:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:23:29] [INFO] Checking activity reminders 
[2026-04-27 11:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:23:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 11:23:39] [INFO] Checking activity reminders 
[2026-04-27 11:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:23:41] [INFO] Checking activity reminders 
[2026-04-27 11:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:24:09] [INFO] Checking activity reminders 
[2026-04-27 11:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:24:15] [INFO] Checking activity reminders 
[2026-04-27 11:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:24:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 11:24:24] [INFO] Checking activity reminders 
[2026-04-27 11:24:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:24:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:24:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-27 11:24:33] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-27 11:24:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 11:25:04] [INFO] Checking activity reminders 
[2026-04-27 11:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:25:12] [INFO] Checking activity reminders 
[2026-04-27 11:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:25:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-27 11:25:19] [INFO] Checking activity reminders 
[2026-04-27 11:25:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:25:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:25:34] [INFO] Checking activity reminders 
[2026-04-27 11:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:26:02] [INFO] Checking activity reminders 
[2026-04-27 11:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:26:04] [INFO] Checking activity reminders 
[2026-04-27 11:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:26:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:26:34] [INFO] Checking activity reminders 
[2026-04-27 11:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:27:04] [INFO] Checking activity reminders 
[2026-04-27 11:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:27:18] [INFO] Checking activity reminders 
[2026-04-27 11:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:27:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:27:34] [INFO] Checking activity reminders 
[2026-04-27 11:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:28:04] [INFO] Checking activity reminders 
[2026-04-27 11:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:28:06] [INFO] Checking activity reminders 
[2026-04-27 11:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:28:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-27 11:28:34] [INFO] Checking activity reminders 
[2026-04-27 11:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:29:05] [INFO] Checking activity reminders 
[2026-04-27 11:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:29:35] [INFO] Checking activity reminders 
[2026-04-27 11:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:30:05] [INFO] Checking activity reminders 
[2026-04-27 11:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:30:35] [INFO] Checking activity reminders 
[2026-04-27 11:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:31:05] [INFO] Checking activity reminders 
[2026-04-27 11:31:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:31:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:31:35] [INFO] Checking activity reminders 
[2026-04-27 11:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:32:05] [INFO] Checking activity reminders 
[2026-04-27 11:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:32:35] [INFO] Checking activity reminders 
[2026-04-27 11:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:33:05] [INFO] Checking activity reminders 
[2026-04-27 11:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:33:16] [INFO] Checking activity reminders 
[2026-04-27 11:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:33:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:33:35] [INFO] Checking activity reminders 
[2026-04-27 11:33:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:33:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:33:51] [INFO] Checking activity reminders 
[2026-04-27 11:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:34:00] [INFO] Checking activity reminders 
[2026-04-27 11:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:34:05] [INFO] Checking activity reminders 
[2026-04-27 11:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:34:12] [INFO] Checking activity reminders 
[2026-04-27 11:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:34:19] [INFO] Lead update received {"contact_id":"15989","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:34:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15989"}
[2026-04-27 11:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:34:35] [INFO] Checking activity reminders 
[2026-04-27 11:34:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:34:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:35:05] [INFO] Checking activity reminders 
[2026-04-27 11:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:35:35] [INFO] Checking activity reminders 
[2026-04-27 11:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:36:06] [INFO] Checking activity reminders 
[2026-04-27 11:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:36:36] [INFO] Checking activity reminders 
[2026-04-27 11:36:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:36:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:36:45] [INFO] Checking activity reminders 
[2026-04-27 11:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:36:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:36:55] [INFO] Checking activity reminders 
[2026-04-27 11:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:36:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 11:37:06] [INFO] Checking activity reminders 
[2026-04-27 11:37:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:37:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:37:11] [INFO] Lead update received {"contact_id":"9555","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:37:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 11:37:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 11:37:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 11:37:11] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9555"}
[2026-04-27 11:37:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 11:37:15] [INFO] Checking activity reminders 
[2026-04-27 11:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:37:30] [INFO] Checking activity reminders 
[2026-04-27 11:37:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:37:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:37:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:37:36] [INFO] Checking activity reminders 
[2026-04-27 11:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:37:45] [INFO] Checking activity reminders 
[2026-04-27 11:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:00] [INFO] Checking activity reminders 
[2026-04-27 11:38:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:06] [INFO] Checking activity reminders 
[2026-04-27 11:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:14] [INFO] Lead update received {"contact_id":"7001","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:38:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:38:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:38:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:38:14] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7001"}
[2026-04-27 11:38:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:38:15] [INFO] Checking activity reminders 
[2026-04-27 11:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:36] [INFO] Checking activity reminders 
[2026-04-27 11:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:36] [INFO] Checking activity reminders 
[2026-04-27 11:38:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:38:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:38:45] [INFO] Checking activity reminders 
[2026-04-27 11:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:06] [INFO] Checking activity reminders 
[2026-04-27 11:39:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:13] [INFO] Checking activity reminders 
[2026-04-27 11:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:15] [INFO] Checking activity reminders 
[2026-04-27 11:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:36] [INFO] Checking activity reminders 
[2026-04-27 11:39:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15485","person_id":"15080"}
[2026-04-27 11:39:43] [INFO] Checking activity reminders 
[2026-04-27 11:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:39:45] [INFO] Checking activity reminders 
[2026-04-27 11:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:40:06] [INFO] Checking activity reminders 
[2026-04-27 11:40:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:40:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:40:36] [INFO] Checking activity reminders 
[2026-04-27 11:40:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:40:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:41:06] [INFO] Checking activity reminders 
[2026-04-27 11:41:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:41:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:41:12] [INFO] Checking activity reminders 
[2026-04-27 11:41:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:41:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:41:19] [INFO] Lead update received {"contact_id":"4052","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:41:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:41:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:41:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:41:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4052"}
[2026-04-27 11:41:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 11:41:36] [INFO] Checking activity reminders 
[2026-04-27 11:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:06] [INFO] Checking activity reminders 
[2026-04-27 11:42:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:37] [INFO] Checking activity reminders 
[2026-04-27 11:42:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:37] [INFO] Checking activity reminders 
[2026-04-27 11:42:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:39] [INFO] Checking activity reminders 
[2026-04-27 11:42:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"849","person_id":"13741"}
[2026-04-27 11:42:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 11:42:53] [INFO] Checking activity reminders 
[2026-04-27 11:42:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:42:56] [INFO] Checking activity reminders 
[2026-04-27 11:42:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:42:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:02] [INFO] Checking activity reminders 
[2026-04-27 11:43:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 11:43:07] [INFO] Checking activity reminders 
[2026-04-27 11:43:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:10] [INFO] Checking activity reminders 
[2026-04-27 11:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:35] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9185830700","09185830700"]}
[2026-04-27 11:43:35] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9185830700","09185830700"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-27 11:43:35] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9185830700","full_name":"لید جدید"}
[2026-04-27 11:43:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 11:43:35] [INFO] Notification created {"notification_id":"672","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-27 11:43:37] [INFO] Checking activity reminders 
[2026-04-27 11:43:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:43] [INFO] Checking activity reminders 
[2026-04-27 11:43:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:45] [INFO] Checking activity reminders 
[2026-04-27 11:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:43:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:07] [INFO] Checking activity reminders 
[2026-04-27 11:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:11] [INFO] generateDealTitle result {"contact_id":"local_6987216f11c7a4.76220645","person_name":"صحرایی صحرایی","mobile":"9138598212","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9138598212"}
[2026-04-27 11:44:13] [INFO] Checking activity reminders 
[2026-04-27 11:44:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:15] [INFO] Checking activity reminders 
[2026-04-27 11:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:29] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"local_6987216f11c7a4.76220645","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:44:29","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_6987216f11c7a4.76220645","is_new_deal":true}
[2026-04-27 11:44:29] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-27 11:44:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-27 11:44:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-27 11:44:29] [INFO] getContactPrimaryPhone called {"contact_id":"local_6987216f11c7a4.76220645"}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:29] [INFO] getContactPrimaryPhone result {"contact_id":"local_6987216f11c7a4.76220645","person_found":true,"primary_phone":"9138598212"}
[2026-04-27 11:44:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9138598212"}
[2026-04-27 11:44:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9138598212","contact_id":"local_6987216f11c7a4.76220645","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-27 11:44:29"}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:29] [INFO] generateDealTitle result {"contact_id":"local_6987216f11c7a4.76220645","person_name":"صحرایی صحرایی","mobile":"9138598212","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9138598212"}
[2026-04-27 11:44:29] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_6987216f11c7a4.76220645","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-27 11:44:29] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"local_6987216f11c7a4.76220645","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-27 11:44:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_6987216f11c7a4.76220645","title":"معامله دوم 9138598212 | هوش خودرو","base_title_used":"معامله دوم 9138598212","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"صحرایی صحرایی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 11:44:29","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:29] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 11:44:29] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_6987216f11c7a4.76220645","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9138598212 | هوش خودرو","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-27 11:44:29","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:44:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:44:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"15989","deal_id":"local_69b1a8e3e3aaa7.30575903","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:44:36","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 11:44:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"15989","is_new_deal":false}
[2026-04-27 11:44:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 11:44:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 11:44:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 11:44:36] [INFO] getContactPrimaryPhone called {"contact_id":"15989"}
[2026-04-27 11:44:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:36] [INFO] getContactPrimaryPhone result {"contact_id":"15989","person_found":true,"primary_phone":"9121914101"}
[2026-04-27 11:44:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121914101"}
[2026-04-27 11:44:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121914101","contact_id":"15989","deal_id":"local_69b1a8e3e3aaa7.30575903","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 11:44:36"}
[2026-04-27 11:44:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b1a8e3e3aaa7.30575903","contact_id":"15989","existing_deal_found":true,"existing_contact_id":"15989","existing_title":"معامله دوم 9121914101 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 11:44:36"}
[2026-04-27 11:44:36] [INFO] DealController.save validated payments {"deal_id":"local_69b1a8e3e3aaa7.30575903","contact_id":"15989","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-27 11:44:36] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"15989","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 11:44:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b1a8e3e3aaa7.30575903","contact_didar_id":"15989","title":"معامله دوم 9121914101 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9121914101","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد رسول ایمانی","existing_deal":"YES","existing_deal_id":"local_69b1a8e3e3aaa7.30575903","existing_deal_status":"Pending","server_time":"2026-04-27 11:44:36","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 11:44:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b1a8e3e3aaa7.30575903","contact_id":"15989","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9121914101 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-27 11:44:36","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:44:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:37] [INFO] Checking activity reminders 
[2026-04-27 11:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:43] [INFO] Checking activity reminders 
[2026-04-27 11:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:45] [INFO] Checking activity reminders 
[2026-04-27 11:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:52] [INFO] Checking activity reminders 
[2026-04-27 11:44:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:44:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:44:55] [INFO] Activity save request {"post_data":{"contact_id":"15989","deal_id":"local_69b1a8e3e3aaa7.30575903","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه سهت تا اخر مهر با مشاوره","activity_duration":"20","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 11:44:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15989","note_was_empty":true}
[2026-04-27 11:44:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"15989","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Updating virtual stage {"contact_id":"15989","stage_name":"with_purchase","force":false}
[2026-04-27 11:44:55] [INFO] Virtual stage successfully saved {"contact_id":"15989","stage_name":"with_purchase"}
[2026-04-27 11:44:55] [INFO] Virtual stage updated after activity save {"contact_id":"15989"}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b1a8e3e3aaa7.30575903","stage":"اتمام","status_change":"Won"}
[2026-04-27 11:44:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1affb97719.77549808","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1affb97719.77549808"}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:44:55] [INFO] Updating virtual stage {"contact_id":"15989","stage_name":"with_purchase","force":false}
[2026-04-27 11:44:55] [INFO] Virtual stage successfully saved {"contact_id":"15989","stage_name":"with_purchase"}
[2026-04-27 11:44:55] [INFO] Virtual stage updated after activity save {"contact_id":"15989"}
[2026-04-27 11:44:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 11:45:07] [INFO] Checking activity reminders 
[2026-04-27 11:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 11:45:13] [INFO] Checking activity reminders 
[2026-04-27 11:45:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:16] [INFO] Checking activity reminders 
[2026-04-27 11:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:35] [INFO] Checking activity reminders 
[2026-04-27 11:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:37] [INFO] Checking activity reminders 
[2026-04-27 11:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:41] [INFO] Checking activity reminders 
[2026-04-27 11:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-27 11:45:43] [INFO] Checking activity reminders 
[2026-04-27 11:45:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:45:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:45:49] [INFO] generateDealTitle result {"contact_id":"10820","person_name":"ملکوتی","mobile":"9136838316","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9136838316"}
[2026-04-27 11:45:52] [INFO] Checking activity reminders 
[2026-04-27 11:45:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:45:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:46:07] [INFO] Checking activity reminders 
[2026-04-27 11:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:46:08] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"10820","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 11:46:08","session_id":"pf0qgd88ult7824cuc2p54n0c7"}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"10820","is_new_deal":true}
[2026-04-27 11:46:08] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-27 11:46:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-27 11:46:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-27 11:46:08] [INFO] getContactPrimaryPhone called {"contact_id":"10820"}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:08] [INFO] getContactPrimaryPhone result {"contact_id":"10820","person_found":true,"primary_phone":"9136838316"}
[2026-04-27 11:46:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9136838316"}
[2026-04-27 11:46:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9136838316","contact_id":"10820","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-27 11:46:08"}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:08] [INFO] generateDealTitle result {"contact_id":"10820","person_name":"ملکوتی","mobile":"9136838316","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9136838316"}
[2026-04-27 11:46:08] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"10820","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-27 11:46:08] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"10820","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-27 11:46:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"10820","title":"معامله دوم 9136838316 | هوش خودرو","base_title_used":"معامله دوم 9136838316","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"ملکوتی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 11:46:08","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:08] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 11:46:08] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"10820","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9136838316 | هوش خودرو","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-27 11:46:08","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 11:46:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 11:46:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:46:13] [INFO] Checking activity reminders 
[2026-04-27 11:46:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:46:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:46:22] [INFO] Checking activity reminders 
[2026-04-27 11:46:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:46:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:46:37] [INFO] Checking activity reminders 
[2026-04-27 11:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:46:43] [INFO] Checking activity reminders 
[2026-04-27 11:46:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:46:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:07] [INFO] Checking activity reminders 
[2026-04-27 11:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:13] [INFO] Checking activity reminders 
[2026-04-27 11:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:17] [INFO] Checking activity reminders 
[2026-04-27 11:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:30] [INFO] Checking activity reminders 
[2026-04-27 11:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:37] [INFO] Checking activity reminders 
[2026-04-27 11:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:47:43] [INFO] Checking activity reminders 
[2026-04-27 11:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:04] [INFO] Checking activity reminders 
[2026-04-27 11:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:07] [INFO] Checking activity reminders 
[2026-04-27 11:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 11:48:13] [INFO] Checking activity reminders 
[2026-04-27 11:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:34] [INFO] Checking activity reminders 
[2026-04-27 11:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:40] [INFO] Lead update received {"contact_id":"987","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:48:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 11:48:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 11:48:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"987"}
[2026-04-27 11:48:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-27 11:48:43] [INFO] Checking activity reminders 
[2026-04-27 11:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:50] [INFO] Checking activity reminders 
[2026-04-27 11:48:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:48:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:48:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-27 11:49:03] [INFO] Lead update received {"contact_id":"12673","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:49:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-27 11:49:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-27 11:49:03] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12673"}
[2026-04-27 11:49:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12673","person_id":"14275"}
[2026-04-27 11:49:12] [INFO] Checking activity reminders 
[2026-04-27 11:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:13] [INFO] Checking activity reminders 
[2026-04-27 11:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 11:49:24] [INFO] Lead update received {"contact_id":"21232","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:49:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 11:49:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 11:49:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21232"}
[2026-04-27 11:49:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 11:49:33] [INFO] Checking activity reminders 
[2026-04-27 11:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-27 11:49:43] [INFO] Lead update received {"contact_id":"703","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:49:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-27 11:49:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-27 11:49:43] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"703"}
[2026-04-27 11:49:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"703","person_id":"20140"}
[2026-04-27 11:49:44] [INFO] Checking activity reminders 
[2026-04-27 11:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:52] [INFO] Checking activity reminders 
[2026-04-27 11:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:53] [INFO] Checking activity reminders 
[2026-04-27 11:49:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:49:56] [INFO] Checking activity reminders 
[2026-04-27 11:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:08] [INFO] Checking activity reminders 
[2026-04-27 11:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-27 11:50:14] [INFO] Checking activity reminders 
[2026-04-27 11:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:19] [INFO] Lead update received {"contact_id":"10074","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-27 11:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-27 11:50:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"10074"}
[2026-04-27 11:50:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-27 11:50:30] [INFO] Checking activity reminders 
[2026-04-27 11:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-27 11:50:40] [INFO] Lead update received {"contact_id":"15491","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:50:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-27 11:50:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-27 11:50:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15491"}
[2026-04-27 11:50:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15491","person_id":"14011"}
[2026-04-27 11:50:44] [INFO] Checking activity reminders 
[2026-04-27 11:50:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:50:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:49] [INFO] Checking activity reminders 
[2026-04-27 11:50:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:50:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:50:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 11:50:59] [INFO] Lead update received {"contact_id":"local_6989b6b14d10a7.53854196","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:50:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 11:50:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 11:50:59] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_6989b6b14d10a7.53854196"}
[2026-04-27 11:50:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 11:51:04] [INFO] Checking activity reminders 
[2026-04-27 11:51:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:09] [INFO] Checking activity reminders 
[2026-04-27 11:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-27 11:51:14] [INFO] Checking activity reminders 
[2026-04-27 11:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:15] [INFO] Checking activity reminders 
[2026-04-27 11:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:25] [INFO] Lead update received {"contact_id":"1979","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:51:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-27 11:51:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-27 11:51:25] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1979"}
[2026-04-27 11:51:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1979","person_id":"6092"}
[2026-04-27 11:51:36] [INFO] Checking activity reminders 
[2026-04-27 11:51:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-27 11:51:44] [INFO] Checking activity reminders 
[2026-04-27 11:51:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:51:46] [INFO] Lead update received {"contact_id":"628","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:51:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-27 11:51:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-27 11:51:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"628"}
[2026-04-27 11:51:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-27 11:51:52] [INFO] Checking activity reminders 
[2026-04-27 11:51:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:51:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:00] [INFO] Checking activity reminders 
[2026-04-27 11:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"848","person_id":"717"}
[2026-04-27 11:52:13] [INFO] Lead update received {"contact_id":"848","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"848","person_id":"717"}
[2026-04-27 11:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"848","person_id":"717"}
[2026-04-27 11:52:13] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"848"}
[2026-04-27 11:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"848","person_id":"717"}
[2026-04-27 11:52:14] [INFO] Checking activity reminders 
[2026-04-27 11:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:16] [INFO] Checking activity reminders 
[2026-04-27 11:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:28] [INFO] Checking activity reminders 
[2026-04-27 11:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1025","person_id":"11062"}
[2026-04-27 11:52:38] [INFO] Lead update received {"contact_id":"1025","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:52:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1025","person_id":"11062"}
[2026-04-27 11:52:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1025","person_id":"11062"}
[2026-04-27 11:52:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1025"}
[2026-04-27 11:52:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1025","person_id":"11062"}
[2026-04-27 11:52:40] [INFO] Checking activity reminders 
[2026-04-27 11:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:42] [INFO] Checking activity reminders 
[2026-04-27 11:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:44] [INFO] Checking activity reminders 
[2026-04-27 11:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:48] [INFO] Checking activity reminders 
[2026-04-27 11:52:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:52:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-27 11:52:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 11:52:57] [INFO] Lead update received {"contact_id":"2036","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-27 11:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-27 11:52:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2036"}
[2026-04-27 11:52:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-27 11:53:01] [INFO] Checking activity reminders 
[2026-04-27 11:53:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:08] [INFO] Checking activity reminders 
[2026-04-27 11:53:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6428","person_id":"2731"}
[2026-04-27 11:53:12] [INFO] Checking activity reminders 
[2026-04-27 11:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:14] [INFO] Checking activity reminders 
[2026-04-27 11:53:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:20] [INFO] Lead update received {"contact_id":"6428","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:53:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6428","person_id":"2731"}
[2026-04-27 11:53:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6428","person_id":"2731"}
[2026-04-27 11:53:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6428"}
[2026-04-27 11:53:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6428","person_id":"2731"}
[2026-04-27 11:53:33] [INFO] Checking activity reminders 
[2026-04-27 11:53:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3795","person_id":"7807"}
[2026-04-27 11:53:40] [INFO] Checking activity reminders 
[2026-04-27 11:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:42] [INFO] Checking activity reminders 
[2026-04-27 11:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:44] [INFO] Lead update received {"contact_id":"3795","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:53:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3795","person_id":"7807"}
[2026-04-27 11:53:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3795","person_id":"7807"}
[2026-04-27 11:53:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3795"}
[2026-04-27 11:53:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3795","person_id":"7807"}
[2026-04-27 11:53:44] [INFO] Checking activity reminders 
[2026-04-27 11:53:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:53] [INFO] Checking activity reminders 
[2026-04-27 11:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:55] [INFO] Checking activity reminders 
[2026-04-27 11:53:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:53:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:53:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2212","person_id":"14007"}
[2026-04-27 11:54:03] [INFO] Lead update received {"contact_id":"2212","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:54:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2212","person_id":"14007"}
[2026-04-27 11:54:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2212","person_id":"14007"}
[2026-04-27 11:54:03] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2212"}
[2026-04-27 11:54:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2212","person_id":"14007"}
[2026-04-27 11:54:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-27 11:54:12] [INFO] Checking activity reminders 
[2026-04-27 11:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:12] [INFO] Checking activity reminders 
[2026-04-27 11:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:14] [INFO] Checking activity reminders 
[2026-04-27 11:54:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-27 11:54:39] [INFO] Lead update received {"contact_id":"11111","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-27 11:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-27 11:54:39] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11111"}
[2026-04-27 11:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-27 11:54:42] [INFO] Checking activity reminders 
[2026-04-27 11:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:44] [INFO] Checking activity reminders 
[2026-04-27 11:54:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:45] [INFO] Checking activity reminders 
[2026-04-27 11:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:54:47] [INFO] Checking activity reminders 
[2026-04-27 11:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:02] [INFO] Checking activity reminders 
[2026-04-27 11:55:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12047","person_id":"9829"}
[2026-04-27 11:55:12] [INFO] Lead update received {"contact_id":"12047","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12047","person_id":"9829"}
[2026-04-27 11:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12047","person_id":"9829"}
[2026-04-27 11:55:12] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12047"}
[2026-04-27 11:55:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12047","person_id":"9829"}
[2026-04-27 11:55:12] [INFO] Checking activity reminders 
[2026-04-27 11:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:15] [INFO] Checking activity reminders 
[2026-04-27 11:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:21] [INFO] Checking activity reminders 
[2026-04-27 11:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:28] [INFO] Checking activity reminders 
[2026-04-27 11:55:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:39] [INFO] Lead update received {"contact_id":"16","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:55:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:39] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16"}
[2026-04-27 11:55:39] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-27 11:55:39] [INFO] Checking activity reminders 
[2026-04-27 11:55:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:42] [INFO] Checking activity reminders 
[2026-04-27 11:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:45] [INFO] Checking activity reminders 
[2026-04-27 11:55:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:45] [INFO] Lead update received {"contact_id":"16","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:55:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:45] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16"}
[2026-04-27 11:55:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16","person_id":"9364"}
[2026-04-27 11:55:54] [INFO] Checking activity reminders 
[2026-04-27 11:55:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:55:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:55:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3155","person_id":"14545"}
[2026-04-27 11:56:02] [INFO] Checking activity reminders 
[2026-04-27 11:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:10] [INFO] Lead update received {"contact_id":"3155","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3155","person_id":"14545"}
[2026-04-27 11:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3155","person_id":"14545"}
[2026-04-27 11:56:10] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"3155"}
[2026-04-27 11:56:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3155","person_id":"14545"}
[2026-04-27 11:56:13] [INFO] Checking activity reminders 
[2026-04-27 11:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:15] [INFO] Checking activity reminders 
[2026-04-27 11:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:23] [INFO] Checking activity reminders 
[2026-04-27 11:56:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:24] [INFO] Checking activity reminders 
[2026-04-27 11:56:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5965","person_id":"2760"}
[2026-04-27 11:56:43] [INFO] Checking activity reminders 
[2026-04-27 11:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:45] [INFO] Checking activity reminders 
[2026-04-27 11:56:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:55] [INFO] Checking activity reminders 
[2026-04-27 11:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:56:59] [INFO] Lead update received {"contact_id":"5965","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5965","person_id":"2760"}
[2026-04-27 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5965","person_id":"2760"}
[2026-04-27 11:56:59] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5965"}
[2026-04-27 11:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5965","person_id":"2760"}
[2026-04-27 11:57:10] [INFO] Checking activity reminders 
[2026-04-27 11:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10074","person_id":"287"}
[2026-04-27 11:57:13] [INFO] Checking activity reminders 
[2026-04-27 11:57:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:13] [INFO] Checking activity reminders 
[2026-04-27 11:57:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:15] [INFO] Checking activity reminders 
[2026-04-27 11:57:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:32] [INFO] Checking activity reminders 
[2026-04-27 11:57:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-27 11:57:40] [INFO] Checking activity reminders 
[2026-04-27 11:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:43] [INFO] Checking activity reminders 
[2026-04-27 11:57:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:43] [INFO] Checking activity reminders 
[2026-04-27 11:57:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:45] [INFO] Checking activity reminders 
[2026-04-27 11:57:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:45] [INFO] Lead update received {"contact_id":"1831","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:57:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-27 11:57:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-27 11:57:45] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1831"}
[2026-04-27 11:57:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1831","person_id":"11665"}
[2026-04-27 11:57:55] [INFO] Checking activity reminders 
[2026-04-27 11:57:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:57:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:57:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 11:58:04] [INFO] Lead update received {"contact_id":"16084","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 11:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 11:58:04] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16084"}
[2026-04-27 11:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 11:58:12] [INFO] Checking activity reminders 
[2026-04-27 11:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:13] [INFO] Checking activity reminders 
[2026-04-27 11:58:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:13] [INFO] Checking activity reminders 
[2026-04-27 11:58:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:15] [INFO] Checking activity reminders 
[2026-04-27 11:58:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7806","person_id":"13841"}
[2026-04-27 11:58:24] [INFO] Lead update received {"contact_id":"7806","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:58:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7806","person_id":"13841"}
[2026-04-27 11:58:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7806","person_id":"13841"}
[2026-04-27 11:58:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"7806"}
[2026-04-27 11:58:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7806","person_id":"13841"}
[2026-04-27 11:58:34] [INFO] Checking activity reminders 
[2026-04-27 11:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8915","person_id":"9448"}
[2026-04-27 11:58:43] [INFO] Checking activity reminders 
[2026-04-27 11:58:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:44] [INFO] Checking activity reminders 
[2026-04-27 11:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:45] [INFO] Checking activity reminders 
[2026-04-27 11:58:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:58:46] [INFO] Lead update received {"contact_id":"8915","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:58:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8915","person_id":"9448"}
[2026-04-27 11:58:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8915","person_id":"9448"}
[2026-04-27 11:58:46] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8915"}
[2026-04-27 11:58:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8915","person_id":"9448"}
[2026-04-27 11:58:57] [INFO] Checking activity reminders 
[2026-04-27 11:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 11:59:13] [INFO] Checking activity reminders 
[2026-04-27 11:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:13] [INFO] Checking activity reminders 
[2026-04-27 11:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:15] [INFO] Checking activity reminders 
[2026-04-27 11:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:15] [INFO] Checking activity reminders 
[2026-04-27 11:59:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-27 11:59:25] [INFO] Checking activity reminders 
[2026-04-27 11:59:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:27] [INFO] Lead update received {"contact_id":"20719","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-27 11:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-27 11:59:27] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20719"}
[2026-04-27 11:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20719","person_id":"19423"}
[2026-04-27 11:59:32] [INFO] Activity save request {"post_data":{"contact_id":"701","deal_id":"local_69d68cfd657ed3.65530180","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال برای پدرش ماشین میخوان عوض کنن هایما یا جک \/ 2500 اینطورا نمیتونه پیدا کنه زیر 3ت \/ گقتن 6ماهه بیا 39ت \r\nهوش 7900\r\nبه عنوان شغل دوم تا ساعت 4 اطلاع","activity_duration":"30","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 11:59:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"701","note_was_empty":true}
[2026-04-27 11:59:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"701","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:32] [INFO] Updating virtual stage {"contact_id":"701","stage_name":"deal_registered","force":false}
[2026-04-27 11:59:32] [INFO] Virtual stage successfully saved {"contact_id":"701","stage_name":"deal_registered"}
[2026-04-27 11:59:32] [INFO] Virtual stage updated after activity save {"contact_id":"701"}
[2026-04-27 11:59:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68cfd657ed3.65530180","stage":"تماس پیگیری","status_change":null}
[2026-04-27 11:59:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1e6c516258.60188164","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1e6c516258.60188164"}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:32] [INFO] Updating virtual stage {"contact_id":"701","stage_name":"deal_registered","force":false}
[2026-04-27 11:59:32] [INFO] Virtual stage successfully saved {"contact_id":"701","stage_name":"deal_registered"}
[2026-04-27 11:59:32] [INFO] Virtual stage updated after activity save {"contact_id":"701"}
[2026-04-27 11:59:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 11:59:37] [INFO] Checking activity reminders 
[2026-04-27 11:59:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-27 11:59:43] [INFO] Checking activity reminders 
[2026-04-27 11:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:45] [INFO] Checking activity reminders 
[2026-04-27 11:59:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 11:59:47] [INFO] Lead update received {"contact_id":"6812","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 11:59:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-27 11:59:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-27 11:59:47] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6812"}
[2026-04-27 11:59:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-27 11:59:56] [INFO] Checking activity reminders 
[2026-04-27 11:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 11:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:03] [INFO] Checking activity reminders 
[2026-04-27 12:00:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:00:08] [INFO] Checking activity reminders 
[2026-04-27 12:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:14] [INFO] Checking activity reminders 
[2026-04-27 12:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:14] [INFO] Checking activity reminders 
[2026-04-27 12:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20220","person_id":"20877"}
[2026-04-27 12:00:33] [INFO] Checking activity reminders 
[2026-04-27 12:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:40] [INFO] Lead update received {"contact_id":"20220","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 12:00:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20220","person_id":"20877"}
[2026-04-27 12:00:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20220","person_id":"20877"}
[2026-04-27 12:00:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20220"}
[2026-04-27 12:00:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20220","person_id":"20877"}
[2026-04-27 12:00:44] [INFO] Checking activity reminders 
[2026-04-27 12:00:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:50] [INFO] Checking activity reminders 
[2026-04-27 12:00:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:00:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:00:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21232","person_id":"4120"}
[2026-04-27 12:01:03] [INFO] Checking activity reminders 
[2026-04-27 12:01:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:09] [INFO] Checking activity reminders 
[2026-04-27 12:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6811","person_id":"19746"}
[2026-04-27 12:01:14] [INFO] Checking activity reminders 
[2026-04-27 12:01:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:19] [INFO] Lead update received {"contact_id":"6811","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 12:01:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6811","person_id":"19746"}
[2026-04-27 12:01:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6811","person_id":"19746"}
[2026-04-27 12:01:19] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6811"}
[2026-04-27 12:01:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6811","person_id":"19746"}
[2026-04-27 12:01:29] [INFO] Checking activity reminders 
[2026-04-27 12:01:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:01:33] [INFO] Checking activity reminders 
[2026-04-27 12:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:34] [INFO] Activity save request {"post_data":{"contact_id":"9555","deal_id":"local_69b1aa3fa3da43.35205040","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"13 هزار متر زمین تو ورامین داره صنعتی سند بگیره دو قطعه کنه بفروشه دستش مونده\/  طلا دست پسر دایش داره سود میده ماهانه \/ \r\n40گرم دستشه \/ ورودی از مزون داره گفتم بیا کانال 6ماهه استفاده کن تا ساعت 4 امروز اطلاع","activity_duration":"40","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:34] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:01:34] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:34] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9555","note_was_empty":true}
[2026-04-27 12:01:34] [INFO] Didar write disabled; saving activity locally {"contact_id":"9555","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:34] [INFO] Updating virtual stage {"contact_id":"9555","stage_name":"deal_registered","force":false}
[2026-04-27 12:01:34] [INFO] Virtual stage successfully saved {"contact_id":"9555","stage_name":"deal_registered"}
[2026-04-27 12:01:34] [INFO] Virtual stage updated after activity save {"contact_id":"9555"}
[2026-04-27 12:01:34] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b1aa3fa3da43.35205040","stage":"تماس پیگیری","status_change":null}
[2026-04-27 12:01:34] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1ee69cfde1.88365582","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:34] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1ee69cfde1.88365582"}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:34] [INFO] Updating virtual stage {"contact_id":"9555","stage_name":"deal_registered","force":false}
[2026-04-27 12:01:34] [INFO] Virtual stage successfully saved {"contact_id":"9555","stage_name":"deal_registered"}
[2026-04-27 12:01:34] [INFO] Virtual stage updated after activity save {"contact_id":"9555"}
[2026-04-27 12:01:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9555","person_id":"12456"}
[2026-04-27 12:01:44] [INFO] Checking activity reminders 
[2026-04-27 12:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:44] [INFO] Checking activity reminders 
[2026-04-27 12:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:48] [INFO] Checking activity reminders 
[2026-04-27 12:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:01:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:14] [INFO] Checking activity reminders 
[2026-04-27 12:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:02:14] [INFO] Checking activity reminders 
[2026-04-27 12:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:02:26] [INFO] Activity save request {"post_data":{"contact_id":"7001","deal_id":"local_699960dd53d5a1.86066453","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه کانال شده قبلا \/ هوش داره دسترسی سایت ارجاع به پشتیبان اوکی بشه","activity_duration":"20","direction":"outgoing","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:02:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7001","note_was_empty":true}
[2026-04-27 12:02:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"7001","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Updating virtual stage {"contact_id":"7001","stage_name":"with_purchase","force":false}
[2026-04-27 12:02:26] [INFO] Virtual stage successfully saved {"contact_id":"7001","stage_name":"with_purchase"}
[2026-04-27 12:02:26] [INFO] Virtual stage updated after activity save {"contact_id":"7001"}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699960dd53d5a1.86066453","stage":"اتمام","status_change":"Won"}
[2026-04-27 12:02:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1f1a821b36.31306115","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1f1a821b36.31306115"}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:26] [INFO] Updating virtual stage {"contact_id":"7001","stage_name":"with_purchase","force":false}
[2026-04-27 12:02:26] [INFO] Virtual stage successfully saved {"contact_id":"7001","stage_name":"with_purchase"}
[2026-04-27 12:02:26] [INFO] Virtual stage updated after activity save {"contact_id":"7001"}
[2026-04-27 12:02:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-27 12:02:28] [INFO] Checking activity reminders 
[2026-04-27 12:02:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:02:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:02:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"647","person_id":"11463"}
[2026-04-27 12:02:35] [INFO] Checking activity reminders 
[2026-04-27 12:02:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:02:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:02:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:02:40] [INFO] Lead update received {"contact_id":"647","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 12:02:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"647","person_id":"11463"}
[2026-04-27 12:02:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"647","person_id":"11463"}
[2026-04-27 12:02:40] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"647"}
[2026-04-27 12:02:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"647","person_id":"11463"}
[2026-04-27 12:02:44] [INFO] Checking activity reminders 
[2026-04-27 12:02:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:02:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:03:05] [INFO] Checking activity reminders 
[2026-04-27 12:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:03:09] [INFO] Activity save request {"post_data":{"contact_id":"4052","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"دسترسی سایت ارجاع به پشتیبان اوکی بشه\/ سربازه","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:03:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:03:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:03:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"4052","note_was_empty":true}
[2026-04-27 12:03:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"4052","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 12:03:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef1f45990475.14000647","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:03:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef1f45990475.14000647"}
[2026-04-27 12:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:03:09] [INFO] Updating virtual stage {"contact_id":"4052","stage_name":"deal_registered","force":false}
[2026-04-27 12:03:09] [INFO] Virtual stage successfully saved {"contact_id":"4052","stage_name":"deal_registered"}
[2026-04-27 12:03:09] [INFO] Virtual stage updated after activity save {"contact_id":"4052"}
[2026-04-27 12:03:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-27 12:03:15] [INFO] Checking activity reminders 
[2026-04-27 12:03:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:03:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:03:30] [INFO] Checking activity reminders 
[2026-04-27 12:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:03:45] [INFO] Checking activity reminders 
[2026-04-27 12:03:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:03:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:04:00] [INFO] Checking activity reminders 
[2026-04-27 12:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:04:15] [INFO] Checking activity reminders 
[2026-04-27 12:04:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:04:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:04:30] [INFO] Checking activity reminders 
[2026-04-27 12:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:04:36] [INFO] Checking activity reminders 
[2026-04-27 12:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:04:45] [INFO] Checking activity reminders 
[2026-04-27 12:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:05:01] [INFO] Checking activity reminders 
[2026-04-27 12:05:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:05:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:05:05] [INFO] Checking activity reminders 
[2026-04-27 12:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:05:15] [INFO] Checking activity reminders 
[2026-04-27 12:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:05:31] [INFO] Checking activity reminders 
[2026-04-27 12:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:05:45] [INFO] Checking activity reminders 
[2026-04-27 12:05:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:05:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:06:15] [INFO] Checking activity reminders 
[2026-04-27 12:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:06:46] [INFO] Checking activity reminders 
[2026-04-27 12:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:06:59] [INFO] Activity save request {"post_data":{"contact_id":"21079","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تبریز \r\nکا رخودرو \/ نمایشگاه \r\nخرید و فروش خورو ایرانی \r\nسرش شلوغ بود \/ پیامک \r\nعصر تماس ","activity_duration":"3","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:06:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 12:06:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:06:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:06:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 12:06:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21079","note_was_empty":true}
[2026-04-27 12:06:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"21079","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 12:06:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef202bf38242.43684531","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:06:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 12:06:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef202bf38242.43684531"}
[2026-04-27 12:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 12:07:00] [INFO] Updating virtual stage {"contact_id":"21079","stage_name":"deal_registered","force":false}
[2026-04-27 12:07:00] [INFO] Virtual stage successfully saved {"contact_id":"21079","stage_name":"deal_registered"}
[2026-04-27 12:07:00] [INFO] Virtual stage updated after activity save {"contact_id":"21079"}
[2026-04-27 12:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 12:07:08] [INFO] Checking activity reminders 
[2026-04-27 12:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:07:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3360","deal_id":"local_69b533eb614698.79634681","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 12:07:32","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 12:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3360","is_new_deal":false}
[2026-04-27 12:07:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 12:07:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 12:07:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 12:07:32] [INFO] getContactPrimaryPhone called {"contact_id":"3360"}
[2026-04-27 12:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:32] [INFO] getContactPrimaryPhone result {"contact_id":"3360","person_found":true,"primary_phone":"9052054153"}
[2026-04-27 12:07:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9052054153"}
[2026-04-27 12:07:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9052054153","contact_id":"3360","deal_id":"local_69b533eb614698.79634681","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 12:07:32"}
[2026-04-27 12:07:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b533eb614698.79634681","contact_id":"3360","existing_deal_found":true,"existing_contact_id":"3360","existing_title":"معامله سوم 9052054153 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 12:07:32"}
[2026-04-27 12:07:32] [INFO] DealController.save validated payments {"deal_id":"local_69b533eb614698.79634681","contact_id":"3360","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-27 12:07:32] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3360","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 12:07:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b533eb614698.79634681","contact_didar_id":"3360","title":"معامله سوم 9052054153 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9052054153","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"یلقی","existing_deal":"YES","existing_deal_id":"local_69b533eb614698.79634681","existing_deal_status":"Pending","server_time":"2026-04-27 12:07:32","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 12:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b533eb614698.79634681","contact_id":"3360","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9052054153 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-27 12:07:32","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 12:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:07:38] [INFO] Checking activity reminders 
[2026-04-27 12:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:08:08] [INFO] Checking activity reminders 
[2026-04-27 12:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:08:38] [INFO] Checking activity reminders 
[2026-04-27 12:08:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:08:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:09:08] [INFO] Checking activity reminders 
[2026-04-27 12:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:09:18] [INFO] Checking activity reminders 
[2026-04-27 12:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:09:21] [INFO] Activity save request {"post_data":{"contact_id":"3360","deal_id":"local_69b533eb614698.79634681","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"میگه در خرید طلای 19.500 حدوذا 400 میلیون متضرر \r\nاز اطلاعات کانال نمیتونم استفاده کنم \r\nدرگیر بیماری و بستری بود \r\nپرزنت 6 ماهه کانال \/ یس استاد در بله ارسال کردم \r\nخودش مجدد تماس میگیره ","activity_duration":"5","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:21] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:09:21] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:09:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:21] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3360","note_was_empty":true}
[2026-04-27 12:09:21] [INFO] Didar write disabled; saving activity locally {"contact_id":"3360","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 12:09:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:22] [INFO] Updating virtual stage {"contact_id":"3360","stage_name":"deal_registered","force":false}
[2026-04-27 12:09:22] [INFO] Virtual stage successfully saved {"contact_id":"3360","stage_name":"deal_registered"}
[2026-04-27 12:09:22] [INFO] Virtual stage updated after activity save {"contact_id":"3360"}
[2026-04-27 12:09:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533eb614698.79634681","stage":"تماس پیگیری","status_change":null}
[2026-04-27 12:09:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef20b9f2bce1.09738327","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:09:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef20b9f2bce1.09738327"}
[2026-04-27 12:09:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:22] [INFO] Updating virtual stage {"contact_id":"3360","stage_name":"deal_registered","force":false}
[2026-04-27 12:09:22] [INFO] Virtual stage successfully saved {"contact_id":"3360","stage_name":"deal_registered"}
[2026-04-27 12:09:22] [INFO] Virtual stage updated after activity save {"contact_id":"3360"}
[2026-04-27 12:09:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3360","person_id":"15667"}
[2026-04-27 12:09:27] [INFO] Checking activity reminders 
[2026-04-27 12:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:09:57] [INFO] Checking activity reminders 
[2026-04-27 12:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:10:27] [INFO] Checking activity reminders 
[2026-04-27 12:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:10:28] [INFO] Checking activity reminders 
[2026-04-27 12:10:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:10:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:10:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 12:10:57] [INFO] Checking activity reminders 
[2026-04-27 12:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:10:58] [INFO] Checking activity reminders 
[2026-04-27 12:10:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:10:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:11:02] [INFO] Checking activity reminders 
[2026-04-27 12:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:11:27] [INFO] Checking activity reminders 
[2026-04-27 12:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:11:28] [INFO] Checking activity reminders 
[2026-04-27 12:11:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:11:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:11:57] [INFO] Checking activity reminders 
[2026-04-27 12:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:11:58] [INFO] Checking activity reminders 
[2026-04-27 12:11:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:11:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:12:28] [INFO] Checking activity reminders 
[2026-04-27 12:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:12:28] [INFO] Checking activity reminders 
[2026-04-27 12:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:12:58] [INFO] Checking activity reminders 
[2026-04-27 12:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:12:58] [INFO] Checking activity reminders 
[2026-04-27 12:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:13:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:13:25] [INFO] Checking activity reminders 
[2026-04-27 12:13:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:13:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:13:28] [INFO] Checking activity reminders 
[2026-04-27 12:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:13:28] [INFO] Checking activity reminders 
[2026-04-27 12:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:13:58] [INFO] Checking activity reminders 
[2026-04-27 12:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:13:58] [INFO] Checking activity reminders 
[2026-04-27 12:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:14:28] [INFO] Checking activity reminders 
[2026-04-27 12:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:14:28] [INFO] Checking activity reminders 
[2026-04-27 12:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:14:39] [INFO] Activity save request {"post_data":{"contact_id":"9004","deal_id":"local_69465c8d381251.12833091","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"300 نقد داشت تقسیم کنه طلا و صندوق ها \/ طلا و نقران بخره \r\n2500 سرمایه کلی 60درصد طلای ابشده 30 تا سکه \r\n10ت عیار و نقران \r\n30 درصد دلار \/ \r\n10 درصد کریپتو","activity_duration":"25","direction":"incoming","current_stage":"برگزاری دوره","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:14:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9004","note_was_empty":true}
[2026-04-27 12:14:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"9004","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Updating virtual stage {"contact_id":"9004","stage_name":"with_purchase","force":false}
[2026-04-27 12:14:39] [INFO] Virtual stage successfully saved {"contact_id":"9004","stage_name":"with_purchase"}
[2026-04-27 12:14:39] [INFO] Virtual stage updated after activity save {"contact_id":"9004"}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69465c8d381251.12833091","stage":"اتمام","status_change":"Won"}
[2026-04-27 12:14:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef21f7e4c9a9.55976018","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef21f7e4c9a9.55976018"}
[2026-04-27 12:14:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:39] [INFO] Updating virtual stage {"contact_id":"9004","stage_name":"with_purchase","force":false}
[2026-04-27 12:14:39] [INFO] Virtual stage successfully saved {"contact_id":"9004","stage_name":"with_purchase"}
[2026-04-27 12:14:39] [INFO] Virtual stage updated after activity save {"contact_id":"9004"}
[2026-04-27 12:14:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9004","person_id":"10605"}
[2026-04-27 12:14:58] [INFO] Checking activity reminders 
[2026-04-27 12:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:14:58] [INFO] Checking activity reminders 
[2026-04-27 12:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:15:28] [INFO] Checking activity reminders 
[2026-04-27 12:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:15:29] [INFO] Checking activity reminders 
[2026-04-27 12:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:15:58] [INFO] Checking activity reminders 
[2026-04-27 12:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:15:59] [INFO] Checking activity reminders 
[2026-04-27 12:15:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:15:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:16:29] [INFO] Checking activity reminders 
[2026-04-27 12:16:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:16:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:16:30] [INFO] Checking activity reminders 
[2026-04-27 12:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:16:59] [INFO] Checking activity reminders 
[2026-04-27 12:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:17:00] [INFO] Checking activity reminders 
[2026-04-27 12:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:17:29] [INFO] Checking activity reminders 
[2026-04-27 12:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:17:30] [INFO] Checking activity reminders 
[2026-04-27 12:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:17:59] [INFO] Checking activity reminders 
[2026-04-27 12:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:18:00] [INFO] Checking activity reminders 
[2026-04-27 12:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:18:29] [INFO] Checking activity reminders 
[2026-04-27 12:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:18:30] [INFO] Checking activity reminders 
[2026-04-27 12:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:18:59] [INFO] Checking activity reminders 
[2026-04-27 12:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:19:00] [INFO] Checking activity reminders 
[2026-04-27 12:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:19:29] [INFO] Checking activity reminders 
[2026-04-27 12:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:19:30] [INFO] Checking activity reminders 
[2026-04-27 12:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:19:59] [INFO] Checking activity reminders 
[2026-04-27 12:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:20:00] [INFO] Checking activity reminders 
[2026-04-27 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:20:29] [INFO] Checking activity reminders 
[2026-04-27 12:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:20:30] [INFO] Checking activity reminders 
[2026-04-27 12:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:20:49] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 12:20:50] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-27 12:20:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 12:21:00] [INFO] Checking activity reminders 
[2026-04-27 12:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:21:00] [INFO] Checking activity reminders 
[2026-04-27 12:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:21:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-27 12:21:20] [INFO] Checking activity reminders 
[2026-04-27 12:21:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:21:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:21:30] [INFO] Checking activity reminders 
[2026-04-27 12:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:21:50] [INFO] Checking activity reminders 
[2026-04-27 12:21:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:21:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:21:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-27 12:22:01] [INFO] Checking activity reminders 
[2026-04-27 12:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:22:20] [INFO] Checking activity reminders 
[2026-04-27 12:22:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:22:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:22:31] [INFO] Checking activity reminders 
[2026-04-27 12:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:22:50] [INFO] Checking activity reminders 
[2026-04-27 12:22:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:22:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:01] [INFO] Checking activity reminders 
[2026-04-27 12:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:10] [INFO] Checking activity reminders 
[2026-04-27 12:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:20] [INFO] Checking activity reminders 
[2026-04-27 12:23:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:31] [INFO] Checking activity reminders 
[2026-04-27 12:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:40] [INFO] Checking activity reminders 
[2026-04-27 12:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:23:50] [INFO] Checking activity reminders 
[2026-04-27 12:23:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:23:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:01] [INFO] Checking activity reminders 
[2026-04-27 12:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:10] [INFO] Checking activity reminders 
[2026-04-27 12:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:20] [INFO] Checking activity reminders 
[2026-04-27 12:24:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:31] [INFO] Checking activity reminders 
[2026-04-27 12:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:40] [INFO] Checking activity reminders 
[2026-04-27 12:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:24:40] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 12:24:40] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 12:24:40] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 12:24:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 12:24:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 12:24:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 12:24:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 12:24:51] [INFO] Checking activity reminders 
[2026-04-27 12:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:01] [INFO] Checking activity reminders 
[2026-04-27 12:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:10] [INFO] Checking activity reminders 
[2026-04-27 12:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-27 12:25:11] [INFO] Checking activity reminders 
[2026-04-27 12:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:21] [INFO] Checking activity reminders 
[2026-04-27 12:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 12:25:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 12:25:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 12:25:31] [INFO] Checking activity reminders 
[2026-04-27 12:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:40] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 12:25:40] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 12:25:40] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 12:25:40] [INFO] Checking activity reminders 
[2026-04-27 12:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:42] [INFO] Checking activity reminders 
[2026-04-27 12:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:25:51] [INFO] Checking activity reminders 
[2026-04-27 12:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:01] [INFO] Checking activity reminders 
[2026-04-27 12:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:11] [INFO] Checking activity reminders 
[2026-04-27 12:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:15] [INFO] Checking activity reminders 
[2026-04-27 12:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:21] [INFO] Checking activity reminders 
[2026-04-27 12:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:31] [INFO] Checking activity reminders 
[2026-04-27 12:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:41] [INFO] Checking activity reminders 
[2026-04-27 12:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:45] [INFO] Checking activity reminders 
[2026-04-27 12:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:26:51] [INFO] Checking activity reminders 
[2026-04-27 12:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:02] [INFO] Checking activity reminders 
[2026-04-27 12:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:11] [INFO] Checking activity reminders 
[2026-04-27 12:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:16] [INFO] Checking activity reminders 
[2026-04-27 12:27:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5962","person_id":"17596"}
[2026-04-27 12:27:21] [INFO] Checking activity reminders 
[2026-04-27 12:27:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:32] [INFO] Checking activity reminders 
[2026-04-27 12:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:41] [INFO] Checking activity reminders 
[2026-04-27 12:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:46] [INFO] Checking activity reminders 
[2026-04-27 12:27:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:27:51] [INFO] Checking activity reminders 
[2026-04-27 12:27:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:27:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:28:11] [INFO] Checking activity reminders 
[2026-04-27 12:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:28:16] [INFO] Checking activity reminders 
[2026-04-27 12:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:28:25] [INFO] Activity save request {"post_data":{"contact_id":"15806","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کد ملی : 0070723001\r\nامید طلاع زاده \r\nپرزنت هوش خودرو ارسال شماره کارت ملت 2 \r\n","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:28:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:28:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:28:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15806","note_was_empty":true}
[2026-04-27 12:28:25] [INFO] Didar write disabled; saving activity locally {"contact_id":"15806","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 12:28:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef2531381d03.61419578","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:28:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef2531381d03.61419578"}
[2026-04-27 12:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:28:25] [INFO] Updating virtual stage {"contact_id":"15806","stage_name":"with_purchase","force":false}
[2026-04-27 12:28:25] [INFO] Virtual stage successfully saved {"contact_id":"15806","stage_name":"with_purchase"}
[2026-04-27 12:28:25] [INFO] Virtual stage updated after activity save {"contact_id":"15806"}
[2026-04-27 12:28:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 12:28:41] [INFO] Checking activity reminders 
[2026-04-27 12:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:28:46] [INFO] Checking activity reminders 
[2026-04-27 12:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:02] [INFO] Checking activity reminders 
[2026-04-27 12:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:11] [INFO] Checking activity reminders 
[2026-04-27 12:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:16] [INFO] Checking activity reminders 
[2026-04-27 12:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:20] [INFO] Checking activity reminders 
[2026-04-27 12:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:41] [INFO] Checking activity reminders 
[2026-04-27 12:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:47] [INFO] Checking activity reminders 
[2026-04-27 12:29:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:29:50] [INFO] Checking activity reminders 
[2026-04-27 12:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:11] [INFO] Checking activity reminders 
[2026-04-27 12:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:20] [INFO] Checking activity reminders 
[2026-04-27 12:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:23] [INFO] Checking activity reminders 
[2026-04-27 12:30:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:41] [INFO] Checking activity reminders 
[2026-04-27 12:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:50] [INFO] Checking activity reminders 
[2026-04-27 12:30:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:30:56] [INFO] Checking activity reminders 
[2026-04-27 12:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:31:12] [INFO] Checking activity reminders 
[2026-04-27 12:31:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:31:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:31:20] [INFO] Checking activity reminders 
[2026-04-27 12:31:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:31:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:31:42] [INFO] Checking activity reminders 
[2026-04-27 12:31:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:31:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:31:50] [INFO] Checking activity reminders 
[2026-04-27 12:31:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:31:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:32:12] [INFO] Checking activity reminders 
[2026-04-27 12:32:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:32:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:32:20] [INFO] Checking activity reminders 
[2026-04-27 12:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:32:42] [INFO] Checking activity reminders 
[2026-04-27 12:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:32:50] [INFO] Checking activity reminders 
[2026-04-27 12:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:33:12] [INFO] Checking activity reminders 
[2026-04-27 12:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:33:20] [INFO] Checking activity reminders 
[2026-04-27 12:33:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:33:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:33:42] [INFO] Checking activity reminders 
[2026-04-27 12:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:33:51] [INFO] Checking activity reminders 
[2026-04-27 12:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:34:12] [INFO] Checking activity reminders 
[2026-04-27 12:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:34:21] [INFO] Checking activity reminders 
[2026-04-27 12:34:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:34:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:34:43] [INFO] Checking activity reminders 
[2026-04-27 12:34:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:34:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:34:51] [INFO] Checking activity reminders 
[2026-04-27 12:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:35:13] [INFO] Checking activity reminders 
[2026-04-27 12:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:35:21] [INFO] Checking activity reminders 
[2026-04-27 12:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:35:43] [INFO] Checking activity reminders 
[2026-04-27 12:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:35:51] [INFO] Checking activity reminders 
[2026-04-27 12:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:36:13] [INFO] Checking activity reminders 
[2026-04-27 12:36:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:36:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:36:21] [INFO] Checking activity reminders 
[2026-04-27 12:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:36:43] [INFO] Checking activity reminders 
[2026-04-27 12:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:36:51] [INFO] Checking activity reminders 
[2026-04-27 12:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:37:13] [INFO] Checking activity reminders 
[2026-04-27 12:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:37:21] [INFO] Checking activity reminders 
[2026-04-27 12:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:37:43] [INFO] Checking activity reminders 
[2026-04-27 12:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:37:51] [INFO] Checking activity reminders 
[2026-04-27 12:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:38:13] [INFO] Checking activity reminders 
[2026-04-27 12:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:38:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 12:38:21] [INFO] Checking activity reminders 
[2026-04-27 12:38:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:38:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:38:43] [INFO] Checking activity reminders 
[2026-04-27 12:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:38:51] [INFO] Checking activity reminders 
[2026-04-27 12:38:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:38:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:39:14] [INFO] Checking activity reminders 
[2026-04-27 12:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:39:22] [INFO] Checking activity reminders 
[2026-04-27 12:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:39:44] [INFO] Checking activity reminders 
[2026-04-27 12:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:39:52] [INFO] Checking activity reminders 
[2026-04-27 12:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:40:14] [INFO] Checking activity reminders 
[2026-04-27 12:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:40:22] [INFO] Checking activity reminders 
[2026-04-27 12:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:40:44] [INFO] Checking activity reminders 
[2026-04-27 12:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:40:44] [INFO] Checking activity reminders 
[2026-04-27 12:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:40:52] [INFO] Checking activity reminders 
[2026-04-27 12:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:41:14] [INFO] Checking activity reminders 
[2026-04-27 12:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:41:22] [INFO] Checking activity reminders 
[2026-04-27 12:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:41:44] [INFO] Checking activity reminders 
[2026-04-27 12:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:41:52] [INFO] Checking activity reminders 
[2026-04-27 12:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:42:14] [INFO] Checking activity reminders 
[2026-04-27 12:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:42:22] [INFO] Checking activity reminders 
[2026-04-27 12:42:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:42:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:42:45] [INFO] Checking activity reminders 
[2026-04-27 12:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:42:52] [INFO] Checking activity reminders 
[2026-04-27 12:42:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:42:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:43:15] [INFO] Checking activity reminders 
[2026-04-27 12:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:43:22] [INFO] Checking activity reminders 
[2026-04-27 12:43:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:43:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:43:45] [INFO] Checking activity reminders 
[2026-04-27 12:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:43:52] [INFO] Checking activity reminders 
[2026-04-27 12:43:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:43:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:44:11] [INFO] Checking activity reminders 
[2026-04-27 12:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:44:15] [INFO] Checking activity reminders 
[2026-04-27 12:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:44:22] [INFO] Checking activity reminders 
[2026-04-27 12:44:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:44:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:44:45] [INFO] Checking activity reminders 
[2026-04-27 12:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:44:53] [INFO] Checking activity reminders 
[2026-04-27 12:44:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:44:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:45:15] [INFO] Checking activity reminders 
[2026-04-27 12:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:45:23] [INFO] Checking activity reminders 
[2026-04-27 12:45:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:45:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:45:45] [INFO] Checking activity reminders 
[2026-04-27 12:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:45:53] [INFO] Checking activity reminders 
[2026-04-27 12:45:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:45:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:46:16] [INFO] Checking activity reminders 
[2026-04-27 12:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:46:23] [INFO] Checking activity reminders 
[2026-04-27 12:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:46:46] [INFO] Checking activity reminders 
[2026-04-27 12:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:46:53] [INFO] Checking activity reminders 
[2026-04-27 12:46:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:46:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:16] [INFO] Checking activity reminders 
[2026-04-27 12:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:23] [INFO] Checking activity reminders 
[2026-04-27 12:47:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:41] [INFO] Checking activity reminders 
[2026-04-27 12:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:46] [INFO] Checking activity reminders 
[2026-04-27 12:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:53] [INFO] Checking activity reminders 
[2026-04-27 12:47:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:47:55] [INFO] Checking activity reminders 
[2026-04-27 12:47:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:47:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:48:03] [INFO] Checking activity reminders 
[2026-04-27 12:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:48:23] [INFO] Checking activity reminders 
[2026-04-27 12:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:48:25] [INFO] Checking activity reminders 
[2026-04-27 12:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:48:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:48:53] [INFO] Checking activity reminders 
[2026-04-27 12:48:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:48:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:48:55] [INFO] Checking activity reminders 
[2026-04-27 12:48:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:48:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:49:24] [INFO] Checking activity reminders 
[2026-04-27 12:49:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:49:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:49:26] [INFO] Checking activity reminders 
[2026-04-27 12:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:49:29] [INFO] Activity save request {"post_data":{"contact_id":"16084","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتییبانی هوش \r\nارجاع به اقا یسهرابی \r\nخیلی در کسب و کارش مشتری کم شده ","activity_duration":"7","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 12:49:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:49:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 12:49:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 12:49:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:49:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"16084","note_was_empty":true}
[2026-04-27 12:49:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"16084","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 12:49:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef2a21da69b0.52091087","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 12:49:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:49:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef2a21da69b0.52091087"}
[2026-04-27 12:49:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:49:29] [INFO] Updating virtual stage {"contact_id":"16084","stage_name":"with_purchase","force":false}
[2026-04-27 12:49:29] [INFO] Virtual stage successfully saved {"contact_id":"16084","stage_name":"with_purchase"}
[2026-04-27 12:49:29] [INFO] Virtual stage updated after activity save {"contact_id":"16084"}
[2026-04-27 12:49:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16084","person_id":"13850"}
[2026-04-27 12:49:54] [INFO] Checking activity reminders 
[2026-04-27 12:49:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:49:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:49:56] [INFO] Checking activity reminders 
[2026-04-27 12:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:50:24] [INFO] Checking activity reminders 
[2026-04-27 12:50:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:50:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:50:26] [INFO] Checking activity reminders 
[2026-04-27 12:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:50:54] [INFO] Checking activity reminders 
[2026-04-27 12:50:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:50:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:50:56] [INFO] Checking activity reminders 
[2026-04-27 12:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:51:14] [INFO] Checking activity reminders 
[2026-04-27 12:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:51:26] [INFO] Checking activity reminders 
[2026-04-27 12:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:51:56] [INFO] Checking activity reminders 
[2026-04-27 12:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:52:18] [INFO] Checking activity reminders 
[2026-04-27 12:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:52:26] [INFO] Checking activity reminders 
[2026-04-27 12:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:52:56] [INFO] Checking activity reminders 
[2026-04-27 12:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:53:26] [INFO] Checking activity reminders 
[2026-04-27 12:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:53:56] [INFO] Checking activity reminders 
[2026-04-27 12:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:54:26] [INFO] Checking activity reminders 
[2026-04-27 12:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:54:56] [INFO] Checking activity reminders 
[2026-04-27 12:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:55:26] [INFO] Checking activity reminders 
[2026-04-27 12:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:55:57] [INFO] Checking activity reminders 
[2026-04-27 12:55:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:55:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:56:27] [INFO] Checking activity reminders 
[2026-04-27 12:56:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:56:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:56:57] [INFO] Checking activity reminders 
[2026-04-27 12:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:57:00] [INFO] Checking activity reminders 
[2026-04-27 12:57:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:57:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:57:30] [INFO] Checking activity reminders 
[2026-04-27 12:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:58:00] [INFO] Checking activity reminders 
[2026-04-27 12:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:58:30] [INFO] Checking activity reminders 
[2026-04-27 12:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:59:00] [INFO] Checking activity reminders 
[2026-04-27 12:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 12:59:30] [INFO] Checking activity reminders 
[2026-04-27 12:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 12:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:00:01] [INFO] Checking activity reminders 
[2026-04-27 13:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:00:31] [INFO] Checking activity reminders 
[2026-04-27 13:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:01:01] [INFO] Checking activity reminders 
[2026-04-27 13:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:01:31] [INFO] Checking activity reminders 
[2026-04-27 13:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:02:01] [INFO] Checking activity reminders 
[2026-04-27 13:02:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:02:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:02:31] [INFO] Checking activity reminders 
[2026-04-27 13:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:03:01] [INFO] Checking activity reminders 
[2026-04-27 13:03:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:03:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:03:31] [INFO] Checking activity reminders 
[2026-04-27 13:03:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:03:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:04:01] [INFO] Checking activity reminders 
[2026-04-27 13:04:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:04:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:04:31] [INFO] Checking activity reminders 
[2026-04-27 13:04:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:04:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:05:02] [INFO] Checking activity reminders 
[2026-04-27 13:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:05:32] [INFO] Checking activity reminders 
[2026-04-27 13:05:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:05:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:05:59] [INFO] Checking activity reminders 
[2026-04-27 13:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:06:02] [INFO] Checking activity reminders 
[2026-04-27 13:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:06:29] [INFO] Checking activity reminders 
[2026-04-27 13:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:06:32] [INFO] Checking activity reminders 
[2026-04-27 13:06:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:06:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:06:59] [INFO] Checking activity reminders 
[2026-04-27 13:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:07:02] [INFO] Checking activity reminders 
[2026-04-27 13:07:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:07:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:07:30] [INFO] Checking activity reminders 
[2026-04-27 13:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:07:32] [INFO] Checking activity reminders 
[2026-04-27 13:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:08:00] [INFO] Checking activity reminders 
[2026-04-27 13:08:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:08:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:08:02] [INFO] Checking activity reminders 
[2026-04-27 13:08:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:08:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:08:12] [INFO] Checking activity reminders 
[2026-04-27 13:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:08:30] [INFO] Checking activity reminders 
[2026-04-27 13:08:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:08:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:09:00] [INFO] Checking activity reminders 
[2026-04-27 13:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:09:17] [INFO] Checking activity reminders 
[2026-04-27 13:09:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:09:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:09:20] [INFO] Checking activity reminders 
[2026-04-27 13:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:09:30] [INFO] Checking activity reminders 
[2026-04-27 13:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:09:50] [INFO] Checking activity reminders 
[2026-04-27 13:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:10:00] [INFO] Checking activity reminders 
[2026-04-27 13:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:10:20] [INFO] Checking activity reminders 
[2026-04-27 13:10:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:10:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:10:30] [INFO] Checking activity reminders 
[2026-04-27 13:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:10:50] [INFO] Checking activity reminders 
[2026-04-27 13:10:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:10:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:11:00] [INFO] Checking activity reminders 
[2026-04-27 13:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:11:20] [INFO] Checking activity reminders 
[2026-04-27 13:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:11:30] [INFO] Checking activity reminders 
[2026-04-27 13:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:11:50] [INFO] Checking activity reminders 
[2026-04-27 13:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:12:00] [INFO] Checking activity reminders 
[2026-04-27 13:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:12:20] [INFO] Checking activity reminders 
[2026-04-27 13:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:12:31] [INFO] Checking activity reminders 
[2026-04-27 13:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:12:50] [INFO] Checking activity reminders 
[2026-04-27 13:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:13:01] [INFO] Checking activity reminders 
[2026-04-27 13:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:13:20] [INFO] Checking activity reminders 
[2026-04-27 13:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:13:31] [INFO] Checking activity reminders 
[2026-04-27 13:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:13:51] [INFO] Checking activity reminders 
[2026-04-27 13:13:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:13:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:14:01] [INFO] Checking activity reminders 
[2026-04-27 13:14:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:14:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:14:21] [INFO] Checking activity reminders 
[2026-04-27 13:14:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:14:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:14:31] [INFO] Checking activity reminders 
[2026-04-27 13:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:14:51] [INFO] Checking activity reminders 
[2026-04-27 13:14:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:14:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:15:01] [INFO] Checking activity reminders 
[2026-04-27 13:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:15:21] [INFO] Checking activity reminders 
[2026-04-27 13:15:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:15:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:15:31] [INFO] Checking activity reminders 
[2026-04-27 13:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:15:51] [INFO] Checking activity reminders 
[2026-04-27 13:15:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:15:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:16:01] [INFO] Checking activity reminders 
[2026-04-27 13:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:16:21] [INFO] Checking activity reminders 
[2026-04-27 13:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:16:31] [INFO] Checking activity reminders 
[2026-04-27 13:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:16:51] [INFO] Checking activity reminders 
[2026-04-27 13:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:17:01] [INFO] Checking activity reminders 
[2026-04-27 13:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:17:21] [INFO] Checking activity reminders 
[2026-04-27 13:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:17:32] [INFO] Checking activity reminders 
[2026-04-27 13:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:17:51] [INFO] Checking activity reminders 
[2026-04-27 13:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:18:02] [INFO] Checking activity reminders 
[2026-04-27 13:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:18:22] [INFO] Checking activity reminders 
[2026-04-27 13:18:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:18:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:18:32] [INFO] Checking activity reminders 
[2026-04-27 13:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:18:52] [INFO] Checking activity reminders 
[2026-04-27 13:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:19:02] [INFO] Checking activity reminders 
[2026-04-27 13:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:19:22] [INFO] Checking activity reminders 
[2026-04-27 13:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:19:32] [INFO] Checking activity reminders 
[2026-04-27 13:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:19:50] [INFO] Activity save request {"post_data":{"contact_id":"21079","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پرزنت 405 \r\nنوسانات خودرو و قیمت های بازار جا میمونه \r\n","activity_duration":"3","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 13:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 13:19:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 13:19:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 13:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 13:19:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21079","note_was_empty":true}
[2026-04-27 13:19:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"21079","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 13:19:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef313ee62282.34300293","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 13:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 13:19:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef313ee62282.34300293"}
[2026-04-27 13:19:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 13:19:50] [INFO] Updating virtual stage {"contact_id":"21079","stage_name":"deal_registered","force":false}
[2026-04-27 13:19:50] [INFO] Virtual stage successfully saved {"contact_id":"21079","stage_name":"deal_registered"}
[2026-04-27 13:19:50] [INFO] Virtual stage updated after activity save {"contact_id":"21079"}
[2026-04-27 13:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21079","person_id":"17707"}
[2026-04-27 13:19:52] [INFO] Checking activity reminders 
[2026-04-27 13:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:20:02] [INFO] Checking activity reminders 
[2026-04-27 13:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:20:23] [INFO] Checking activity reminders 
[2026-04-27 13:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:20:32] [INFO] Checking activity reminders 
[2026-04-27 13:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:20:53] [INFO] Checking activity reminders 
[2026-04-27 13:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:21:02] [INFO] Checking activity reminders 
[2026-04-27 13:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:21:23] [INFO] Checking activity reminders 
[2026-04-27 13:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:21:33] [INFO] Checking activity reminders 
[2026-04-27 13:21:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:21:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:21:53] [INFO] Checking activity reminders 
[2026-04-27 13:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:22:03] [INFO] Checking activity reminders 
[2026-04-27 13:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:22:07] [INFO] Activity save request {"post_data":{"contact_id":"795","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید صندوق ها \/ \r\nخرید خودرو ایرانی \r\nطلای فیزیکی داره ","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 13:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:22:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 13:22:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 13:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:22:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"795","note_was_empty":true}
[2026-04-27 13:22:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"795","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 13:22:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef31c766ff06.52290882","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 13:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:22:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef31c766ff06.52290882"}
[2026-04-27 13:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:22:07] [INFO] Updating virtual stage {"contact_id":"795","stage_name":"with_purchase","force":false}
[2026-04-27 13:22:07] [INFO] Virtual stage successfully saved {"contact_id":"795","stage_name":"with_purchase"}
[2026-04-27 13:22:07] [INFO] Virtual stage updated after activity save {"contact_id":"795"}
[2026-04-27 13:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 13:22:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:22:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:22:23] [INFO] Checking activity reminders 
[2026-04-27 13:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:22:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:22:26] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"21147","deal_id":"local_69d222b5bf78f7.66883481","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 13:22:26","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 13:22:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:22:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:22:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"21147","is_new_deal":false}
[2026-04-27 13:22:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-27 13:22:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-27 13:22:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-27 13:22:26] [INFO] getContactPrimaryPhone called {"contact_id":"21147"}
[2026-04-27 13:22:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:22:26] [INFO] getContactPrimaryPhone result {"contact_id":"21147","person_found":true,"primary_phone":"9123657452"}
[2026-04-27 13:22:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123657452"}
[2026-04-27 13:22:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123657452","contact_id":"21147","deal_id":"local_69d222b5bf78f7.66883481","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 13:22:26"}
[2026-04-27 13:22:26] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","existing_deal_found":true,"existing_contact_id":"21147","existing_title":"معامله دوم 9123657452 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 13:22:26"}
[2026-04-27 13:22:26] [INFO] DealController.save validated payments {"deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 13:22:26] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21147","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 13:22:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d222b5bf78f7.66883481","contact_didar_id":"21147","title":"معامله دوم 9123657452 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9123657452","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی پیرسا","existing_deal":"YES","existing_deal_id":"local_69d222b5bf78f7.66883481","existing_deal_status":"Pending","server_time":"2026-04-27 13:22:26","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 13:22:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:22:26] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9123657452 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":0,"server_time":"2026-04-27 13:22:26","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 13:22:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:22:33] [INFO] Checking activity reminders 
[2026-04-27 13:22:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:22:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:22:53] [INFO] Checking activity reminders 
[2026-04-27 13:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:23:03] [INFO] Checking activity reminders 
[2026-04-27 13:23:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:23:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:23:23] [INFO] Checking activity reminders 
[2026-04-27 13:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:23:33] [INFO] Checking activity reminders 
[2026-04-27 13:23:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:23:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:23:50] [INFO] Activity save request {"post_data":{"contact_id":"21147","deal_id":"local_69d222b5bf78f7.66883481","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه 30 اردیبهشت قبل ساعت 12\/ کانال 54ت زد 30ت الان واریز شد \r\n\r\nپرزنت هوش کارشناسی 15ت پینج شنبه میزنه \r\nپیشنهاد کار خدورو دادم\r\nخسته شده از مغازه داری \r\nشریک با عموش چالش دارن \/ \r\nکلی صحبت دید دادم بابت کاسب خودرو مشتقا امجام بده ","activity_duration":"40","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 13:23:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21147","note_was_empty":true}
[2026-04-27 13:23:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"21147","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:50] [INFO] Updating virtual stage {"contact_id":"21147","stage_name":"deal_registered","force":false}
[2026-04-27 13:23:50] [INFO] Virtual stage successfully saved {"contact_id":"21147","stage_name":"deal_registered"}
[2026-04-27 13:23:50] [INFO] Virtual stage updated after activity save {"contact_id":"21147"}
[2026-04-27 13:23:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d222b5bf78f7.66883481","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-27 13:23:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef322e811c75.44592683","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef322e811c75.44592683"}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:50] [INFO] Updating virtual stage {"contact_id":"21147","stage_name":"deal_registered","force":false}
[2026-04-27 13:23:50] [INFO] Virtual stage successfully saved {"contact_id":"21147","stage_name":"deal_registered"}
[2026-04-27 13:23:50] [INFO] Virtual stage updated after activity save {"contact_id":"21147"}
[2026-04-27 13:23:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 13:23:53] [INFO] Checking activity reminders 
[2026-04-27 13:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:24:03] [INFO] Checking activity reminders 
[2026-04-27 13:24:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:24:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:24:24] [INFO] Checking activity reminders 
[2026-04-27 13:24:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:24:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:24:34] [INFO] Checking activity reminders 
[2026-04-27 13:24:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:24:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:24:54] [INFO] Checking activity reminders 
[2026-04-27 13:24:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:24:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:25:04] [INFO] Checking activity reminders 
[2026-04-27 13:25:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:25:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:25:14] [INFO] Activity save request {"post_data":{"contact_id":"10820","deal_id":"local_69ef1b481deaa6.41781463","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سرکار بود شرایط صحبت نداشت \r\nساعت 14.30 تماس مجدد ","activity_duration":"1","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 13:25:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10820","note_was_empty":true}
[2026-04-27 13:25:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"10820","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:14] [INFO] Updating virtual stage {"contact_id":"10820","stage_name":"deal_registered","force":false}
[2026-04-27 13:25:14] [INFO] Virtual stage successfully saved {"contact_id":"10820","stage_name":"deal_registered"}
[2026-04-27 13:25:14] [INFO] Virtual stage updated after activity save {"contact_id":"10820"}
[2026-04-27 13:25:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef1b481deaa6.41781463","stage":"تماس پیگیری","status_change":null}
[2026-04-27 13:25:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef32824d7b82.90852533","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef32824d7b82.90852533"}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:14] [INFO] Updating virtual stage {"contact_id":"10820","stage_name":"deal_registered","force":false}
[2026-04-27 13:25:14] [INFO] Virtual stage successfully saved {"contact_id":"10820","stage_name":"deal_registered"}
[2026-04-27 13:25:14] [INFO] Virtual stage updated after activity save {"contact_id":"10820"}
[2026-04-27 13:25:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 13:25:21] [INFO] Checking activity reminders 
[2026-04-27 13:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:25:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:25:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:25:34] [INFO] Checking activity reminders 
[2026-04-27 13:25:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:25:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:25:51] [INFO] Checking activity reminders 
[2026-04-27 13:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:26:04] [INFO] Checking activity reminders 
[2026-04-27 13:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:26:21] [INFO] Checking activity reminders 
[2026-04-27 13:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:26:34] [INFO] Checking activity reminders 
[2026-04-27 13:26:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:26:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:26:52] [INFO] Checking activity reminders 
[2026-04-27 13:26:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:26:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:27:04] [INFO] Checking activity reminders 
[2026-04-27 13:27:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:27:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:27:22] [INFO] Checking activity reminders 
[2026-04-27 13:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:27:34] [INFO] Checking activity reminders 
[2026-04-27 13:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:27:52] [INFO] Checking activity reminders 
[2026-04-27 13:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:28:04] [INFO] Checking activity reminders 
[2026-04-27 13:28:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:28:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:28:13] [INFO] Checking activity reminders 
[2026-04-27 13:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:28:34] [INFO] Checking activity reminders 
[2026-04-27 13:28:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:28:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:28:43] [INFO] Checking activity reminders 
[2026-04-27 13:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:28:43] [INFO] Activity save request {"post_data":{"contact_id":"15806","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دوره ئهوش خودرو ثبت نام \r\nارجاع به اقای سهرابی ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 13:28:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:43] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 13:28:43] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 13:28:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:43] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"15806","note_was_empty":true}
[2026-04-27 13:28:43] [INFO] Didar write disabled; saving activity locally {"contact_id":"15806","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 13:28:43] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef335357f807.24415400","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 13:28:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:43] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef335357f807.24415400"}
[2026-04-27 13:28:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:43] [INFO] Updating virtual stage {"contact_id":"15806","stage_name":"with_purchase","force":false}
[2026-04-27 13:28:43] [INFO] Virtual stage successfully saved {"contact_id":"15806","stage_name":"with_purchase"}
[2026-04-27 13:28:43] [INFO] Virtual stage updated after activity save {"contact_id":"15806"}
[2026-04-27 13:28:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:43] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 13:28:43] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"check_reminders"}
[2026-04-27 13:28:43] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 13:28:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:28:45] [INFO] generateDealTitle result {"contact_id":"15806","person_name":"امید طالع زاده","mobile":"9173156400","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9173156400"}
[2026-04-27 13:28:50] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 13:28:50] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 13:28:50] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 13:28:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 13:28:50] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 13:28:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:28:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:29:04] [INFO] Checking activity reminders 
[2026-04-27 13:29:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:29:13] [INFO] Checking activity reminders 
[2026-04-27 13:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:29:20] [INFO] Checking activity reminders 
[2026-04-27 13:29:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:29:34] [INFO] Checking activity reminders 
[2026-04-27 13:29:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:29:43] [INFO] Checking activity reminders 
[2026-04-27 13:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:29:50] [INFO] Checking activity reminders 
[2026-04-27 13:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:05] [INFO] Checking activity reminders 
[2026-04-27 13:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:13] [INFO] Checking activity reminders 
[2026-04-27 13:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:20] [INFO] Checking activity reminders 
[2026-04-27 13:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:35] [INFO] Checking activity reminders 
[2026-04-27 13:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:43] [INFO] Checking activity reminders 
[2026-04-27 13:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:51] [INFO] Checking activity reminders 
[2026-04-27 13:30:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:30:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:30:56] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"15806","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 13:30:56","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"15806","is_new_deal":true}
[2026-04-27 13:30:56] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-27 13:30:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-27 13:30:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-27 13:30:56] [INFO] getContactPrimaryPhone called {"contact_id":"15806"}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [INFO] getContactPrimaryPhone result {"contact_id":"15806","person_found":true,"primary_phone":"9173156400"}
[2026-04-27 13:30:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9173156400"}
[2026-04-27 13:30:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9173156400","contact_id":"15806","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 13:30:56"}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [INFO] generateDealTitle result {"contact_id":"15806","person_name":"امید طالع زاده","mobile":"9173156400","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9173156400"}
[2026-04-27 13:30:56] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"15806","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-27 13:30:56] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"15806","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 13:30:56] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"15806","title":"معامله سوم 9173156400 | هوش خودرو","base_title_used":"معامله سوم 9173156400","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امید طالع زاده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 13:30:56","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [INFO] Deal success processed {"contact_id":"15806","person_name":"امید طالع زاده","products_count":1}
[2026-04-27 13:30:56] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 13:30:56] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"15806","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9173156400 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-04-27 13:30:56","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 13:30:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:30:56] [INFO] Updating virtual stage {"contact_id":"15806","stage_name":"with_purchase","force":true}
[2026-04-27 13:30:56] [INFO] Virtual stage successfully saved {"contact_id":"15806","stage_name":"with_purchase"}
[2026-04-27 13:30:56] [INFO] Moved contact out of kariz after successful deal {"contact_id":"15806","deal_id":"","target_stage":"with_purchase"}
[2026-04-27 13:30:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 13:31:13] [INFO] Checking activity reminders 
[2026-04-27 13:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:38] [INFO] Checking activity reminders 
[2026-04-27 13:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:44] [INFO] Checking activity reminders 
[2026-04-27 13:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:46] [INFO] Checking activity reminders 
[2026-04-27 13:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:52] [INFO] Checking activity reminders 
[2026-04-27 13:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:52] [INFO] Checking activity reminders 
[2026-04-27 13:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:31:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:32:00] [INFO] Lead update received {"contact_id":"local_69ef1aaf7bc915.33607059","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 13:32:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69ef1aaf7bc915.33607059"}
[2026-04-27 13:32:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5973","person_id":"19740"}
[2026-04-27 13:32:01] [INFO] Lead update received {"contact_id":"11595","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 13:32:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:32:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:32:01] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11595"}
[2026-04-27 13:32:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-27 13:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 13:32:16] [INFO] Checking activity reminders 
[2026-04-27 13:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:32:16] [INFO] Checking activity reminders 
[2026-04-27 13:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:32:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-27 13:32:22] [INFO] Checking activity reminders 
[2026-04-27 13:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:32:42] [INFO] Lead update received {"contact_id":"14195","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 13:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-27 13:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-27 13:32:42] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"14195"}
[2026-04-27 13:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-27 13:32:46] [INFO] Checking activity reminders 
[2026-04-27 13:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:32:52] [INFO] Checking activity reminders 
[2026-04-27 13:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:33:16] [INFO] Checking activity reminders 
[2026-04-27 13:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:33:22] [INFO] Checking activity reminders 
[2026-04-27 13:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:33:46] [INFO] Checking activity reminders 
[2026-04-27 13:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:33:52] [INFO] Checking activity reminders 
[2026-04-27 13:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:34:16] [INFO] Checking activity reminders 
[2026-04-27 13:34:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:34:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:34:22] [INFO] Checking activity reminders 
[2026-04-27 13:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:34:47] [INFO] Checking activity reminders 
[2026-04-27 13:34:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:34:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:34:52] [INFO] Checking activity reminders 
[2026-04-27 13:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:35:08] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 13:35:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 13:35:12] [INFO] Checking activity reminders 
[2026-04-27 13:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:35:22] [INFO] Checking activity reminders 
[2026-04-27 13:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:35:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20489","person_id":"8954"}
[2026-04-27 13:35:42] [INFO] Checking activity reminders 
[2026-04-27 13:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:35:52] [INFO] Checking activity reminders 
[2026-04-27 13:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:36:12] [INFO] Checking activity reminders 
[2026-04-27 13:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:36:22] [INFO] Checking activity reminders 
[2026-04-27 13:36:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:36:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:36:42] [INFO] Checking activity reminders 
[2026-04-27 13:36:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:36:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:36:52] [INFO] Checking activity reminders 
[2026-04-27 13:36:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:36:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:37:13] [INFO] Checking activity reminders 
[2026-04-27 13:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:37:22] [INFO] Checking activity reminders 
[2026-04-27 13:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:37:43] [INFO] Checking activity reminders 
[2026-04-27 13:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:37:52] [INFO] Checking activity reminders 
[2026-04-27 13:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:38:13] [INFO] Checking activity reminders 
[2026-04-27 13:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:38:22] [INFO] Checking activity reminders 
[2026-04-27 13:38:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:38:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:38:43] [INFO] Checking activity reminders 
[2026-04-27 13:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:38:52] [INFO] Checking activity reminders 
[2026-04-27 13:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:39:13] [INFO] Checking activity reminders 
[2026-04-27 13:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:39:23] [INFO] Checking activity reminders 
[2026-04-27 13:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:39:43] [INFO] Checking activity reminders 
[2026-04-27 13:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:39:53] [INFO] Checking activity reminders 
[2026-04-27 13:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:40:13] [INFO] Checking activity reminders 
[2026-04-27 13:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:40:23] [INFO] Checking activity reminders 
[2026-04-27 13:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:40:43] [INFO] Checking activity reminders 
[2026-04-27 13:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:40:53] [INFO] Checking activity reminders 
[2026-04-27 13:40:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:40:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:41:13] [INFO] Checking activity reminders 
[2026-04-27 13:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:41:23] [INFO] Checking activity reminders 
[2026-04-27 13:41:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:41:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:41:43] [INFO] Checking activity reminders 
[2026-04-27 13:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:41:53] [INFO] Checking activity reminders 
[2026-04-27 13:41:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:41:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:42:04] [INFO] Checking activity reminders 
[2026-04-27 13:42:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:42:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:42:34] [INFO] Checking activity reminders 
[2026-04-27 13:42:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:42:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:43:04] [INFO] Checking activity reminders 
[2026-04-27 13:43:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:43:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:43:35] [INFO] Checking activity reminders 
[2026-04-27 13:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:44:05] [INFO] Checking activity reminders 
[2026-04-27 13:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:44:35] [INFO] Checking activity reminders 
[2026-04-27 13:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:45:05] [INFO] Checking activity reminders 
[2026-04-27 13:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:45:35] [INFO] Checking activity reminders 
[2026-04-27 13:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:46:05] [INFO] Checking activity reminders 
[2026-04-27 13:46:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:46:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:46:35] [INFO] Checking activity reminders 
[2026-04-27 13:46:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:46:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:47:05] [INFO] Checking activity reminders 
[2026-04-27 13:47:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:47:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:47:35] [INFO] Checking activity reminders 
[2026-04-27 13:47:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:47:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:48:05] [INFO] Checking activity reminders 
[2026-04-27 13:48:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:48:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:48:36] [INFO] Checking activity reminders 
[2026-04-27 13:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:49:06] [INFO] Checking activity reminders 
[2026-04-27 13:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:49:36] [INFO] Checking activity reminders 
[2026-04-27 13:49:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:49:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:50:06] [INFO] Checking activity reminders 
[2026-04-27 13:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:50:36] [INFO] Checking activity reminders 
[2026-04-27 13:50:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:50:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:51:06] [INFO] Checking activity reminders 
[2026-04-27 13:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:51:36] [INFO] Checking activity reminders 
[2026-04-27 13:51:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:51:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:52:06] [INFO] Checking activity reminders 
[2026-04-27 13:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:52:36] [INFO] Checking activity reminders 
[2026-04-27 13:52:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:52:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:53:07] [INFO] Checking activity reminders 
[2026-04-27 13:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:53:37] [INFO] Checking activity reminders 
[2026-04-27 13:53:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:53:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:54:07] [INFO] Checking activity reminders 
[2026-04-27 13:54:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:54:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:54:37] [INFO] Checking activity reminders 
[2026-04-27 13:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:55:07] [INFO] Checking activity reminders 
[2026-04-27 13:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:55:37] [INFO] Checking activity reminders 
[2026-04-27 13:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:56:07] [INFO] Checking activity reminders 
[2026-04-27 13:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:56:24] [INFO] Checking activity reminders 
[2026-04-27 13:56:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:56:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:56:37] [INFO] Checking activity reminders 
[2026-04-27 13:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:57:07] [INFO] Checking activity reminders 
[2026-04-27 13:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:57:37] [INFO] Checking activity reminders 
[2026-04-27 13:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:58:07] [INFO] Checking activity reminders 
[2026-04-27 13:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:58:38] [INFO] Checking activity reminders 
[2026-04-27 13:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:59:08] [INFO] Checking activity reminders 
[2026-04-27 13:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 13:59:38] [INFO] Checking activity reminders 
[2026-04-27 13:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 13:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:00:08] [INFO] Checking activity reminders 
[2026-04-27 14:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:00:38] [INFO] Checking activity reminders 
[2026-04-27 14:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:01:08] [INFO] Checking activity reminders 
[2026-04-27 14:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:01:38] [INFO] Checking activity reminders 
[2026-04-27 14:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:02:08] [INFO] Checking activity reminders 
[2026-04-27 14:02:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:02:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:02:38] [INFO] Checking activity reminders 
[2026-04-27 14:02:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:02:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:03:08] [INFO] Checking activity reminders 
[2026-04-27 14:03:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:03:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:03:39] [INFO] Checking activity reminders 
[2026-04-27 14:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:04:09] [INFO] Checking activity reminders 
[2026-04-27 14:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:04:39] [INFO] Checking activity reminders 
[2026-04-27 14:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:05:09] [INFO] Checking activity reminders 
[2026-04-27 14:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:05:39] [INFO] Checking activity reminders 
[2026-04-27 14:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:05:45] [INFO] Activity save request {"post_data":{"contact_id":"local_69ef1aaf7bc915.33607059","deal_id":"local_69ef1aaf7d393","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"1.5 سال دنبال \r\nکرمانشاه \/ \r\nکابینت کار \/ انلاین شاپ وسایل اروپایی همه چی میفروشه \r\nطلای فیزیکی سرمایه گذاری \/ اخرین بار 20 م خریده \r\nملک شراکتی داره با پدر و مادر \r\n34 ساله \r\nخودرو چینی داره برای مصرف \r\nدر بازار های مالی اصلا سرمایه گذاری نداشته \r\nبورس نداره \r\n300-400 نقد \r\nنوسان گیری و پرزنت 405 \r\nارسال در بله \r\nمشورت با خانواده \r\n","activity_duration":"15","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 14:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:05:45] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 14:05:45] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 14:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:05:45] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69ef1aaf7bc915.33607059","note_was_empty":true}
[2026-04-27 14:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:05:45] [INFO] Updating virtual stage {"contact_id":"local_69ef1aaf7bc915.33607059","stage_name":"new","force":false}
[2026-04-27 14:05:45] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef1aaf7bc915.33607059","stage_name":"new"}
[2026-04-27 14:05:45] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef1aaf7bc915.33607059"}
[2026-04-27 14:05:45] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef1aaf7d393","stage":"تماس پیگیری","status_change":null}
[2026-04-27 14:05:45] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef3c01eb7931.98433416","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 14:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:05:45] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef3c01eb7931.98433416"}
[2026-04-27 14:05:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:05:45] [INFO] Updating virtual stage {"contact_id":"local_69ef1aaf7bc915.33607059","stage_name":"deal_registered","force":false}
[2026-04-27 14:05:45] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef1aaf7bc915.33607059","stage_name":"deal_registered"}
[2026-04-27 14:05:45] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef1aaf7bc915.33607059"}
[2026-04-27 14:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69ef1aaf7bc915.33607059","deal_id":"local_69ef1aaf7d393","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 14:06:00","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 14:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"local_69ef1aaf7bc915.33607059","is_new_deal":false}
[2026-04-27 14:06:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 14:06:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 14:06:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 14:06:00] [INFO] getContactPrimaryPhone called {"contact_id":"local_69ef1aaf7bc915.33607059"}
[2026-04-27 14:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:00] [INFO] getContactPrimaryPhone result {"contact_id":"local_69ef1aaf7bc915.33607059","person_found":true,"primary_phone":"9185830700"}
[2026-04-27 14:06:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9185830700"}
[2026-04-27 14:06:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9185830700","contact_id":"local_69ef1aaf7bc915.33607059","deal_id":"local_69ef1aaf7d393","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 14:06:00"}
[2026-04-27 14:06:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ef1aaf7d393","contact_id":"local_69ef1aaf7bc915.33607059","existing_deal_found":true,"existing_contact_id":"local_69ef1aaf7bc915.33607059","existing_title":"معامله اول 9185830700","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 14:06:00"}
[2026-04-27 14:06:00] [INFO] DealController.save validated payments {"deal_id":"local_69ef1aaf7d393","contact_id":"local_69ef1aaf7bc915.33607059","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-27 14:06:00] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69ef1aaf7bc915.33607059","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 14:06:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ef1aaf7d393","contact_didar_id":"local_69ef1aaf7bc915.33607059","title":"معامله اول 9185830700 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله اول 9185830700","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"اقای پناهنده","existing_deal":"YES","existing_deal_id":"local_69ef1aaf7d393","existing_deal_status":"Pending","server_time":"2026-04-27 14:06:00","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 14:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ef1aaf7d393","contact_id":"local_69ef1aaf7bc915.33607059","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9185830700 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-27 14:06:00","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 14:06:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:09] [INFO] Checking activity reminders 
[2026-04-27 14:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:23] [INFO] Lead update received {"contact_id":"local_69ef1aaf7bc915.33607059","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 14:06:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:23] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69ef1aaf7bc915.33607059"}
[2026-04-27 14:06:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef1aaf7bc915.33607059","person_id":"22375"}
[2026-04-27 14:06:26] [INFO] Checking activity reminders 
[2026-04-27 14:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:28] [INFO] Checking activity reminders 
[2026-04-27 14:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:31] [INFO] Checking activity reminders 
[2026-04-27 14:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:33] [INFO] Checking activity reminders 
[2026-04-27 14:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:37] [INFO] Checking activity reminders 
[2026-04-27 14:06:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:06:45] [INFO] Checking activity reminders 
[2026-04-27 14:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:07:15] [INFO] Checking activity reminders 
[2026-04-27 14:07:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:07:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:07:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:07:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"check_reminders"}
[2026-04-27 14:07:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:07:45] [INFO] Checking activity reminders 
[2026-04-27 14:07:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:07:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:08:15] [INFO] Checking activity reminders 
[2026-04-27 14:08:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:08:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:08:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:08:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"check_reminders"}
[2026-04-27 14:08:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:08:45] [INFO] Checking activity reminders 
[2026-04-27 14:08:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:08:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:09:16] [INFO] Checking activity reminders 
[2026-04-27 14:09:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:09:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:09:46] [INFO] Checking activity reminders 
[2026-04-27 14:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:10:16] [INFO] Checking activity reminders 
[2026-04-27 14:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:10:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:10:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"check_reminders"}
[2026-04-27 14:10:44] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:10:46] [INFO] Checking activity reminders 
[2026-04-27 14:10:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:10:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:11:16] [INFO] Checking activity reminders 
[2026-04-27 14:11:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:11:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:11:47] [INFO] Checking activity reminders 
[2026-04-27 14:11:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:11:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:12:17] [INFO] Checking activity reminders 
[2026-04-27 14:12:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:12:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:12:47] [INFO] Checking activity reminders 
[2026-04-27 14:12:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:12:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:13:17] [INFO] Checking activity reminders 
[2026-04-27 14:13:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:13:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:13:47] [INFO] Checking activity reminders 
[2026-04-27 14:13:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:13:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:14:17] [INFO] Checking activity reminders 
[2026-04-27 14:14:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:14:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:14:47] [INFO] Checking activity reminders 
[2026-04-27 14:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:15:17] [INFO] Checking activity reminders 
[2026-04-27 14:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:16:40] [INFO] Checking activity reminders 
[2026-04-27 14:16:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:16:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:16:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-27 14:16:50] [INFO] Checking activity reminders 
[2026-04-27 14:16:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:16:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:16:54] [INFO] Checking activity reminders 
[2026-04-27 14:16:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:16:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:17:52] [INFO] Checking activity reminders 
[2026-04-27 14:17:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:17:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:18:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 14:18:23] [INFO] Checking activity reminders 
[2026-04-27 14:18:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:18:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:18:53] [INFO] Checking activity reminders 
[2026-04-27 14:18:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:18:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:19:23] [INFO] Checking activity reminders 
[2026-04-27 14:19:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:19:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:19:45] [INFO] Checking activity reminders 
[2026-04-27 14:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-27 14:20:01] [INFO] Checking activity reminders 
[2026-04-27 14:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:20:18] [INFO] Checking activity reminders 
[2026-04-27 14:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:20:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 14:21:24] [INFO] Checking activity reminders 
[2026-04-27 14:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:21:34] [INFO] Checking activity reminders 
[2026-04-27 14:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:21:50] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9999115129","09999115129"]}
[2026-04-27 14:21:50] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9999115129","09999115129"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-27 14:21:50] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9999115129","full_name":"لید جدید"}
[2026-04-27 14:21:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 14:21:50] [INFO] Notification created {"notification_id":"673","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-27 14:22:01] [INFO] Checking activity reminders 
[2026-04-27 14:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:22:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 14:22:31] [INFO] Lead update received {"contact_id":"5166","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 14:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 14:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 14:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 14:22:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"5166"}
[2026-04-27 14:22:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 14:22:32] [INFO] Checking activity reminders 
[2026-04-27 14:22:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:22:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:24:31] [INFO] Checking activity reminders 
[2026-04-27 14:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:24:32] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 14:24:32] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 14:24:32] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 14:24:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 14:24:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 14:24:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 14:25:05] [INFO] Checking activity reminders 
[2026-04-27 14:25:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:25:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:25:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 14:25:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 14:25:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 14:25:35] [INFO] Checking activity reminders 
[2026-04-27 14:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:26:05] [INFO] Checking activity reminders 
[2026-04-27 14:26:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:26:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:52:35] [INFO] Checking activity reminders 
[2026-04-27 14:52:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:52:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:53:05] [INFO] Checking activity reminders 
[2026-04-27 14:53:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:53:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:53:35] [INFO] Checking activity reminders 
[2026-04-27 14:53:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:53:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:54:05] [INFO] Checking activity reminders 
[2026-04-27 14:54:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:54:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:54:15] [INFO] Checking activity reminders 
[2026-04-27 14:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:54:29] [INFO] Checking activity reminders 
[2026-04-27 14:54:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:54:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:54:32] [INFO] Checking activity reminders 
[2026-04-27 14:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:54:37] [INFO] Checking activity reminders 
[2026-04-27 14:54:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:54:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:55:07] [INFO] Checking activity reminders 
[2026-04-27 14:55:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:55:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:55:37] [INFO] Checking activity reminders 
[2026-04-27 14:55:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:55:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:56:07] [INFO] Checking activity reminders 
[2026-04-27 14:56:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:56:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:56:37] [INFO] Checking activity reminders 
[2026-04-27 14:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:57:08] [INFO] Checking activity reminders 
[2026-04-27 14:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:57:21] [INFO] Checking activity reminders 
[2026-04-27 14:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:57:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 14:57:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 14:57:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 14:57:38] [INFO] Checking activity reminders 
[2026-04-27 14:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:57:52] [INFO] Checking activity reminders 
[2026-04-27 14:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:58:08] [INFO] Checking activity reminders 
[2026-04-27 14:58:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:58:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:58:22] [INFO] Checking activity reminders 
[2026-04-27 14:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:58:38] [INFO] Checking activity reminders 
[2026-04-27 14:58:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:58:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:59:08] [INFO] Checking activity reminders 
[2026-04-27 14:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 14:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"check_reminders"}
[2026-04-27 14:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:14] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:17] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_products"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_deals"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_deals"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:18] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 14:59:38] [INFO] Checking activity reminders 
[2026-04-27 14:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 14:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:00:08] [INFO] Checking activity reminders 
[2026-04-27 15:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:00:38] [INFO] Checking activity reminders 
[2026-04-27 15:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:01:08] [INFO] Checking activity reminders 
[2026-04-27 15:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:01:26] [INFO] Checking activity reminders 
[2026-04-27 15:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:01:38] [INFO] Checking activity reminders 
[2026-04-27 15:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:02:08] [INFO] Checking activity reminders 
[2026-04-27 15:02:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:02:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:02:26] [INFO] Checking activity reminders 
[2026-04-27 15:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:02:39] [INFO] Checking activity reminders 
[2026-04-27 15:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:03:09] [INFO] Checking activity reminders 
[2026-04-27 15:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:03:20] [INFO] Checking activity reminders 
[2026-04-27 15:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:03:39] [INFO] Checking activity reminders 
[2026-04-27 15:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:04:09] [INFO] Checking activity reminders 
[2026-04-27 15:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:04:39] [INFO] Checking activity reminders 
[2026-04-27 15:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:05:09] [INFO] Checking activity reminders 
[2026-04-27 15:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:05:27] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:05:27] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:05:27] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:05:39] [INFO] Checking activity reminders 
[2026-04-27 15:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:06:09] [INFO] Checking activity reminders 
[2026-04-27 15:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:06:39] [INFO] Checking activity reminders 
[2026-04-27 15:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:07:09] [INFO] Checking activity reminders 
[2026-04-27 15:07:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:07:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:07:39] [INFO] Checking activity reminders 
[2026-04-27 15:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:08:09] [INFO] Checking activity reminders 
[2026-04-27 15:08:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:08:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:08:39] [INFO] Checking activity reminders 
[2026-04-27 15:08:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:08:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:09:10] [INFO] Checking activity reminders 
[2026-04-27 15:09:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:09:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:09:40] [INFO] Checking activity reminders 
[2026-04-27 15:09:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:09:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:09:46] [INFO] Checking activity reminders 
[2026-04-27 15:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:10:10] [INFO] Checking activity reminders 
[2026-04-27 15:10:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:10:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:10:17] [INFO] Checking activity reminders 
[2026-04-27 15:10:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:10:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:10:40] [INFO] Checking activity reminders 
[2026-04-27 15:10:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:10:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:14:06] [INFO] Checking activity reminders 
[2026-04-27 15:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:14:16] [INFO] Checking activity reminders 
[2026-04-27 15:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:14:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Activity save request {"post_data":{"contact_id":"local_6989b6b14d10a7.53854196","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nارسال برای استاد \r\n","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:14:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:14:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:14:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_6989b6b14d10a7.53854196","note_was_empty":true}
[2026-04-27 15:14:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4c2e1d8e65.40625045","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:14:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4c2e1d8e65.40625045"}
[2026-04-27 15:14:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Updating virtual stage {"contact_id":"local_6989b6b14d10a7.53854196","stage_name":"with_purchase","force":false}
[2026-04-27 15:14:46] [INFO] Virtual stage successfully saved {"contact_id":"local_6989b6b14d10a7.53854196","stage_name":"with_purchase"}
[2026-04-27 15:14:46] [INFO] Virtual stage updated after activity save {"contact_id":"local_6989b6b14d10a7.53854196"}
[2026-04-27 15:14:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989b6b14d10a7.53854196","person_id":"21640"}
[2026-04-27 15:14:46] [INFO] Checking activity reminders 
[2026-04-27 15:14:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:14:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:14:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:16] [INFO] Checking activity reminders 
[2026-04-27 15:15:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:15:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:15:39] [INFO] Activity save request {"post_data":{"contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال ویس استاد \r\nپرزنت 6 ماهه کانال \r\nارسال شماره کارت \r\n20 واریز \r\nتسویه تا اخر ماه ","activity_duration":"5","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:15:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9112","note_was_empty":true}
[2026-04-27 15:15:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"9112","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:39] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-27 15:15:39] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-27 15:15:39] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-27 15:15:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d224b65a5116.94553415","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-27 15:15:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4c638ac566.71183025","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4c638ac566.71183025"}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:39] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-27 15:15:39] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-27 15:15:39] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-27 15:15:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:15:46] [INFO] Checking activity reminders 
[2026-04-27 15:15:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:15:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:16:16] [INFO] Checking activity reminders 
[2026-04-27 15:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:16:43] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:16:43] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:16:43] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:16:46] [INFO] Checking activity reminders 
[2026-04-27 15:16:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:16:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:17:08] [INFO] Checking activity reminders 
[2026-04-27 15:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:17:38] [INFO] Checking activity reminders 
[2026-04-27 15:17:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:17:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:18:08] [INFO] Checking activity reminders 
[2026-04-27 15:18:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:18:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:18:36] [INFO] Activity save request {"post_data":{"contact_id":"10820","deal_id":"local_69ef1b481deaa6.41781463","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"فروشنده مصالح ساختمانی \r\nاصفهان \r\nدرامدش پایینه \r\nمیخواد در خودرو وارد بشه \r\nپرزنت هوش خودرو و ارسال سرفصل های هوش \r\nافزایش تعرفه 12.900 \r\nطریقه ی معامله گری و واسطه گری خودرو \r\n","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:18:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"10820","note_was_empty":true}
[2026-04-27 15:18:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"10820","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:36] [INFO] Updating virtual stage {"contact_id":"10820","stage_name":"deal_registered","force":false}
[2026-04-27 15:18:36] [INFO] Virtual stage successfully saved {"contact_id":"10820","stage_name":"deal_registered"}
[2026-04-27 15:18:36] [INFO] Virtual stage updated after activity save {"contact_id":"10820"}
[2026-04-27 15:18:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef1b481deaa6.41781463","stage":"تماس پیگیری","status_change":null}
[2026-04-27 15:18:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4d14521de1.22087331","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4d14521de1.22087331"}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:36] [INFO] Updating virtual stage {"contact_id":"10820","stage_name":"deal_registered","force":false}
[2026-04-27 15:18:36] [INFO] Virtual stage successfully saved {"contact_id":"10820","stage_name":"deal_registered"}
[2026-04-27 15:18:36] [INFO] Virtual stage updated after activity save {"contact_id":"10820"}
[2026-04-27 15:18:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10820","person_id":"15798"}
[2026-04-27 15:18:38] [INFO] Checking activity reminders 
[2026-04-27 15:18:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:18:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:09] [INFO] Checking activity reminders 
[2026-04-27 15:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:19:39] [INFO] Checking activity reminders 
[2026-04-27 15:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:19:42] [INFO] Activity save request {"post_data":{"contact_id":"local_694b7dc3b1eb32.82132705","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پول تازه اومده دستش \/ خرید نقران و طلا \r\nپشتیبانی کانال ","activity_duration":"3","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:19:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:19:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:19:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_694b7dc3b1eb32.82132705","note_was_empty":true}
[2026-04-27 15:19:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4d5614a7c2.89874352","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:19:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4d5614a7c2.89874352"}
[2026-04-27 15:19:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:19:42] [INFO] Updating virtual stage {"contact_id":"local_694b7dc3b1eb32.82132705","stage_name":"deal_registered","force":false}
[2026-04-27 15:19:42] [INFO] Virtual stage successfully saved {"contact_id":"local_694b7dc3b1eb32.82132705","stage_name":"deal_registered"}
[2026-04-27 15:19:42] [INFO] Virtual stage updated after activity save {"contact_id":"local_694b7dc3b1eb32.82132705"}
[2026-04-27 15:19:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_694b7dc3b1eb32.82132705","person_id":"21331"}
[2026-04-27 15:20:09] [INFO] Checking activity reminders 
[2026-04-27 15:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:20:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:39] [INFO] Checking activity reminders 
[2026-04-27 15:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_leads"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_products"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:41] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:42] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:42] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:42] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:44] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"get_leads"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:45] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:50] [INFO] Activity save request {"post_data":{"contact_id":"11409","deal_id":"","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"پرزنت کانال cip \r\n1.200 در صندوق ها داره \r\nسرمایه 2 به بالا استاد قبول میکنند ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:20:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11409","note_was_empty":true}
[2026-04-27 15:20:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"11409","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:20:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4d9aba69c5.25727540","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4d9aba69c5.25727540"}
[2026-04-27 15:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:50] [INFO] Updating virtual stage {"contact_id":"11409","stage_name":"with_purchase","force":false}
[2026-04-27 15:20:50] [INFO] Virtual stage successfully saved {"contact_id":"11409","stage_name":"with_purchase"}
[2026-04-27 15:20:50] [INFO] Virtual stage updated after activity save {"contact_id":"11409"}
[2026-04-27 15:20:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11409","person_id":"16679"}
[2026-04-27 15:20:51] [WARNING] Auth check failed - not authenticated {"session_id":"4ahqkh1ja8t7fcmvga3au65c73","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:20:52] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-27 15:20:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 15:20:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:21:09] [INFO] Checking activity reminders 
[2026-04-27 15:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:21:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:21:22] [INFO] Checking activity reminders 
[2026-04-27 15:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:21:39] [INFO] Checking activity reminders 
[2026-04-27 15:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:21:55] [INFO] Checking activity reminders 
[2026-04-27 15:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:22:09] [INFO] Checking activity reminders 
[2026-04-27 15:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:22:16] [INFO] Activity save request {"post_data":{"contact_id":"local_6953d26f742fe2.70411984","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"استاد اشتباه راهنمایی کردند \r\nحواله خودرو 1900 فروختم الان 3900 شده و متضرر شدم \r\nجواب تلفن نمیده \r\nمیگه استاد فقط از خودش تعریف میکنه ","activity_duration":"2","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:22:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:22:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:22:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:22:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:22:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_6953d26f742fe2.70411984","note_was_empty":true}
[2026-04-27 15:22:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4df0478494.18014168","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:22:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:22:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4df0478494.18014168"}
[2026-04-27 15:22:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:22:16] [INFO] Updating virtual stage {"contact_id":"local_6953d26f742fe2.70411984","stage_name":"with_purchase","force":false}
[2026-04-27 15:22:16] [INFO] Virtual stage successfully saved {"contact_id":"local_6953d26f742fe2.70411984","stage_name":"with_purchase"}
[2026-04-27 15:22:16] [INFO] Virtual stage updated after activity save {"contact_id":"local_6953d26f742fe2.70411984"}
[2026-04-27 15:22:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6953d26f742fe2.70411984","person_id":"21478"}
[2026-04-27 15:22:25] [INFO] Checking activity reminders 
[2026-04-27 15:22:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:22:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:22:39] [INFO] Checking activity reminders 
[2026-04-27 15:22:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:22:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:22:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:22:55] [INFO] Checking activity reminders 
[2026-04-27 15:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:23:06] [INFO] Activity save request {"post_data":{"contact_id":"698","deal_id":"local_6996b5eb800b27.18116565","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید 207\r\nارجاع به پارسا ","activity_duration":"1","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:23:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"698","note_was_empty":true}
[2026-04-27 15:23:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"698","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:06] [INFO] Updating virtual stage {"contact_id":"698","stage_name":"deal_registered","force":false}
[2026-04-27 15:23:06] [INFO] Virtual stage successfully saved {"contact_id":"698","stage_name":"deal_registered"}
[2026-04-27 15:23:06] [INFO] Virtual stage updated after activity save {"contact_id":"698"}
[2026-04-27 15:23:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6996b5eb800b27.18116565","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-27 15:23:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4e2242fb75.48189578","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4e2242fb75.48189578"}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:06] [INFO] Updating virtual stage {"contact_id":"698","stage_name":"deal_registered","force":false}
[2026-04-27 15:23:06] [INFO] Virtual stage successfully saved {"contact_id":"698","stage_name":"deal_registered"}
[2026-04-27 15:23:06] [INFO] Virtual stage updated after activity save {"contact_id":"698"}
[2026-04-27 15:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"698","person_id":"7415"}
[2026-04-27 15:23:09] [INFO] Checking activity reminders 
[2026-04-27 15:23:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:23:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:23:25] [INFO] Checking activity reminders 
[2026-04-27 15:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:23:39] [INFO] Checking activity reminders 
[2026-04-27 15:23:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:23:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:23:55] [INFO] Checking activity reminders 
[2026-04-27 15:23:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:23:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:24:09] [INFO] Checking activity reminders 
[2026-04-27 15:24:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:24:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:24:25] [INFO] Checking activity reminders 
[2026-04-27 15:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:24:40] [INFO] Checking activity reminders 
[2026-04-27 15:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:24:55] [INFO] Checking activity reminders 
[2026-04-27 15:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:10] [INFO] Checking activity reminders 
[2026-04-27 15:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:25] [INFO] Checking activity reminders 
[2026-04-27 15:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:28] [INFO] Checking activity reminders 
[2026-04-27 15:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:30] [INFO] Checking activity reminders 
[2026-04-27 15:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:32] [INFO] Checking activity reminders 
[2026-04-27 15:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:38] [INFO] Checking activity reminders 
[2026-04-27 15:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:40] [INFO] Checking activity reminders 
[2026-04-27 15:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:44] [INFO] Checking activity reminders 
[2026-04-27 15:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:25:55] [INFO] Checking activity reminders 
[2026-04-27 15:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:14] [INFO] Checking activity reminders 
[2026-04-27 15:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:17] [INFO] Checking activity reminders 
[2026-04-27 15:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:18] [INFO] Checking activity reminders 
[2026-04-27 15:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:21] [INFO] Checking activity reminders 
[2026-04-27 15:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:23] [INFO] Checking activity reminders 
[2026-04-27 15:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:25] [INFO] Checking activity reminders 
[2026-04-27 15:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:26] [INFO] Checking activity reminders 
[2026-04-27 15:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:26:56] [INFO] Checking activity reminders 
[2026-04-27 15:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:27:26] [INFO] Checking activity reminders 
[2026-04-27 15:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:27:56] [INFO] Checking activity reminders 
[2026-04-27 15:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:28:26] [INFO] Checking activity reminders 
[2026-04-27 15:28:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:28:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:28:56] [INFO] Checking activity reminders 
[2026-04-27 15:28:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:28:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:29:10] [INFO] Checking activity reminders 
[2026-04-27 15:29:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:29:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:29:26] [INFO] Checking activity reminders 
[2026-04-27 15:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:29:40] [INFO] Checking activity reminders 
[2026-04-27 15:29:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:29:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:29:46] [INFO] Activity save request {"post_data":{"contact_id":"14915","deal_id":"local_6950f3d76a1065.49920374","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"شاید تغییر فاکتور بدن 6ماهه امروز اطلاغ\/ پرزنت هوش کارشناسی اطلاع میده 15ات","activity_duration":"30","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:29:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14915","note_was_empty":true}
[2026-04-27 15:29:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"14915","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:46] [INFO] Updating virtual stage {"contact_id":"14915","stage_name":"deal_registered","force":false}
[2026-04-27 15:29:46] [INFO] Virtual stage successfully saved {"contact_id":"14915","stage_name":"deal_registered"}
[2026-04-27 15:29:46] [INFO] Virtual stage updated after activity save {"contact_id":"14915"}
[2026-04-27 15:29:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6950f3d76a1065.49920374","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-27 15:29:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef4fb2c43985.27164728","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef4fb2c43985.27164728"}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:46] [INFO] Updating virtual stage {"contact_id":"14915","stage_name":"deal_registered","force":false}
[2026-04-27 15:29:46] [INFO] Virtual stage successfully saved {"contact_id":"14915","stage_name":"deal_registered"}
[2026-04-27 15:29:46] [INFO] Virtual stage updated after activity save {"contact_id":"14915"}
[2026-04-27 15:29:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14915","person_id":"14205"}
[2026-04-27 15:29:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:29:57] [INFO] Checking activity reminders 
[2026-04-27 15:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:30:27] [INFO] Checking activity reminders 
[2026-04-27 15:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:30:30] [INFO] Checking activity reminders 
[2026-04-27 15:30:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:30:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:30:57] [INFO] Checking activity reminders 
[2026-04-27 15:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:31:00] [INFO] Checking activity reminders 
[2026-04-27 15:31:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:31:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:31:14] [INFO] Checking activity reminders 
[2026-04-27 15:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:31:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:30] [INFO] Checking activity reminders 
[2026-04-27 15:31:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:31:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:31:38] [INFO] Activity save request {"post_data":{"contact_id":"3481","deal_id":"local_69bbb0c62ffbc6.46672277","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ\r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:31:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3481","note_was_empty":true}
[2026-04-27 15:31:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"3481","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:38] [INFO] Updating virtual stage {"contact_id":"3481","stage_name":"deal_registered","force":false}
[2026-04-27 15:31:38] [INFO] Virtual stage successfully saved {"contact_id":"3481","stage_name":"deal_registered"}
[2026-04-27 15:31:38] [INFO] Virtual stage updated after activity save {"contact_id":"3481"}
[2026-04-27 15:31:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbb0c62ffbc6.46672277","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-27 15:31:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5022d3f8d2.72111085","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5022d3f8d2.72111085"}
[2026-04-27 15:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:38] [INFO] Updating virtual stage {"contact_id":"3481","stage_name":"deal_registered","force":false}
[2026-04-27 15:31:38] [INFO] Virtual stage successfully saved {"contact_id":"3481","stage_name":"deal_registered"}
[2026-04-27 15:31:38] [INFO] Virtual stage updated after activity save {"contact_id":"3481"}
[2026-04-27 15:31:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-27 15:31:44] [INFO] Checking activity reminders 
[2026-04-27 15:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:32:00] [INFO] Checking activity reminders 
[2026-04-27 15:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:32:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:32:14] [INFO] Checking activity reminders 
[2026-04-27 15:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:32:15] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 15:32:15","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 15:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5166","is_new_deal":false}
[2026-04-27 15:32:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:15] [INFO] getContactPrimaryPhone called {"contact_id":"5166"}
[2026-04-27 15:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:15] [INFO] getContactPrimaryPhone result {"contact_id":"5166","person_found":true,"primary_phone":"9368367287"}
[2026-04-27 15:32:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9368367287"}
[2026-04-27 15:32:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9368367287","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 15:32:15"}
[2026-04-27 15:32:15] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","existing_deal_found":true,"existing_contact_id":"5166","existing_title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 15:32:15"}
[2026-04-27 15:32:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 15:32:25","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 15:32:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"5166","is_new_deal":false}
[2026-04-27 15:32:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-27 15:32:25] [INFO] getContactPrimaryPhone called {"contact_id":"5166"}
[2026-04-27 15:32:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:25] [INFO] getContactPrimaryPhone result {"contact_id":"5166","person_found":true,"primary_phone":"9368367287"}
[2026-04-27 15:32:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9368367287"}
[2026-04-27 15:32:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9368367287","contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 15:32:25"}
[2026-04-27 15:32:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","existing_deal_found":true,"existing_contact_id":"5166","existing_title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 15:32:25"}
[2026-04-27 15:32:25] [INFO] DealController.save validated payments {"deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-27 15:32:25] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"5166","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 15:32:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695b8fb62b9680.66018036","contact_didar_id":"5166","title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9368367287","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"پویا علیزاده","existing_deal":"YES","existing_deal_id":"local_695b8fb62b9680.66018036","existing_deal_status":"Pending","server_time":"2026-04-27 15:32:25","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 15:32:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695b8fb62b9680.66018036","contact_id":"5166","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9368367287 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-27 15:32:25","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 15:32:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:32:30] [INFO] Checking activity reminders 
[2026-04-27 15:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:32:45] [INFO] Checking activity reminders 
[2026-04-27 15:32:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:32:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:33:00] [INFO] Checking activity reminders 
[2026-04-27 15:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:33:00] [INFO] Activity save request {"post_data":{"contact_id":"5166","deal_id":"local_695b8fb62b9680.66018036","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تسویه کانال هست \/ 207 میخواست ارجا پارسا","activity_duration":"10","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:33:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5166","note_was_empty":true}
[2026-04-27 15:33:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"5166","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Updating virtual stage {"contact_id":"5166","stage_name":"with_purchase","force":false}
[2026-04-27 15:33:00] [INFO] Virtual stage successfully saved {"contact_id":"5166","stage_name":"with_purchase"}
[2026-04-27 15:33:00] [INFO] Virtual stage updated after activity save {"contact_id":"5166"}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695b8fb62b9680.66018036","stage":"اتمام","status_change":"Won"}
[2026-04-27 15:33:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5074eee4d9.70058299","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5074eee4d9.70058299"}
[2026-04-27 15:33:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:00] [INFO] Updating virtual stage {"contact_id":"5166","stage_name":"with_purchase","force":false}
[2026-04-27 15:33:00] [INFO] Virtual stage successfully saved {"contact_id":"5166","stage_name":"with_purchase"}
[2026-04-27 15:33:00] [INFO] Virtual stage updated after activity save {"contact_id":"5166"}
[2026-04-27 15:33:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 15:33:15] [INFO] Checking activity reminders 
[2026-04-27 15:33:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:33:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:33:30] [INFO] Checking activity reminders 
[2026-04-27 15:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:33:45] [INFO] Checking activity reminders 
[2026-04-27 15:33:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:33:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:34:00] [INFO] Checking activity reminders 
[2026-04-27 15:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:34:15] [INFO] Checking activity reminders 
[2026-04-27 15:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:34:35] [INFO] Checking activity reminders 
[2026-04-27 15:34:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:34:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:34:45] [INFO] Checking activity reminders 
[2026-04-27 15:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:34:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:35:05] [INFO] Checking activity reminders 
[2026-04-27 15:35:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:35:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:35:09] [INFO] Activity save request {"post_data":{"contact_id":"8486","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک \r\nمبالغ و شرایط کانال ارسال در پیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:35:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:35:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:35:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:35:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:35:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8486","note_was_empty":true}
[2026-04-27 15:35:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"8486","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:35:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef50f5c3cbe1.30054393","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:35:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:35:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef50f5c3cbe1.30054393"}
[2026-04-27 15:35:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:35:09] [INFO] Updating virtual stage {"contact_id":"8486","stage_name":"deal_registered","force":false}
[2026-04-27 15:35:09] [INFO] Virtual stage successfully saved {"contact_id":"8486","stage_name":"deal_registered"}
[2026-04-27 15:35:09] [INFO] Virtual stage updated after activity save {"contact_id":"8486"}
[2026-04-27 15:35:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8486","person_id":"7611"}
[2026-04-27 15:35:15] [INFO] Checking activity reminders 
[2026-04-27 15:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:35:35] [INFO] Checking activity reminders 
[2026-04-27 15:35:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:35:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:35:45] [INFO] Checking activity reminders 
[2026-04-27 15:35:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:35:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:36:05] [INFO] Checking activity reminders 
[2026-04-27 15:36:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:36:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:36:15] [INFO] Checking activity reminders 
[2026-04-27 15:36:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:36:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:36:38] [INFO] Checking activity reminders 
[2026-04-27 15:36:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:36:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:36:45] [INFO] Checking activity reminders 
[2026-04-27 15:36:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:36:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:37:08] [INFO] Checking activity reminders 
[2026-04-27 15:37:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:37:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:37:15] [INFO] Checking activity reminders 
[2026-04-27 15:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:37:38] [INFO] Checking activity reminders 
[2026-04-27 15:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:37:45] [INFO] Checking activity reminders 
[2026-04-27 15:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:38:08] [INFO] Checking activity reminders 
[2026-04-27 15:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:38:16] [INFO] Checking activity reminders 
[2026-04-27 15:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:38:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:38] [INFO] Checking activity reminders 
[2026-04-27 15:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:38:46] [INFO] Checking activity reminders 
[2026-04-27 15:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:38:50] [INFO] Activity save request {"post_data":{"contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"27 گفتم در 2 مرحله واریز و تا اخر ماه تسویه کن ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:50] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:38:50] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:50] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21608","note_was_empty":true}
[2026-04-27 15:38:50] [INFO] Didar write disabled; saving activity locally {"contact_id":"21608","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:50] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-27 15:38:50] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-27 15:38:50] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-27 15:38:50] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533bc5cb524.07389212","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-27 15:38:50] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef51d2790b63.33389273","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:50] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef51d2790b63.33389273"}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:38:50] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-27 15:38:50] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-27 15:38:50] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-27 15:38:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-27 15:39:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:39:08] [INFO] Checking activity reminders 
[2026-04-27 15:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:39:16] [INFO] Checking activity reminders 
[2026-04-27 15:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:39:38] [INFO] Checking activity reminders 
[2026-04-27 15:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:39:46] [INFO] Checking activity reminders 
[2026-04-27 15:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:40:08] [INFO] Checking activity reminders 
[2026-04-27 15:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:40:16] [INFO] Checking activity reminders 
[2026-04-27 15:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:40:30] [INFO] Activity save request {"post_data":{"contact_id":"4196","deal_id":"local_69d3bad23390f0.42826040","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال ویس استاد \r\nمیگه 2 تا حواله خودرو در سود هستم \r\nطلا نگه داشتم \r\nمنتظر ورودی جدید هستم \r\nحتما برای کانال تماس میگیرم ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:40:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4196","note_was_empty":true}
[2026-04-27 15:40:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"4196","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:30] [INFO] Updating virtual stage {"contact_id":"4196","stage_name":"deal_registered","force":false}
[2026-04-27 15:40:30] [INFO] Virtual stage successfully saved {"contact_id":"4196","stage_name":"deal_registered"}
[2026-04-27 15:40:30] [INFO] Virtual stage updated after activity save {"contact_id":"4196"}
[2026-04-27 15:40:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d3bad23390f0.42826040","stage":"تماس پیگیری","status_change":null}
[2026-04-27 15:40:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef52366c8327.21458987","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef52366c8327.21458987"}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:30] [INFO] Updating virtual stage {"contact_id":"4196","stage_name":"deal_registered","force":false}
[2026-04-27 15:40:30] [INFO] Virtual stage successfully saved {"contact_id":"4196","stage_name":"deal_registered"}
[2026-04-27 15:40:30] [INFO] Virtual stage updated after activity save {"contact_id":"4196"}
[2026-04-27 15:40:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4196","person_id":"99"}
[2026-04-27 15:40:38] [INFO] Checking activity reminders 
[2026-04-27 15:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:40:41] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:40:41] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:40:42] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:40:46] [INFO] Checking activity reminders 
[2026-04-27 15:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:40:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-27 15:41:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:08] [INFO] Checking activity reminders 
[2026-04-27 15:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:41:17] [INFO] Checking activity reminders 
[2026-04-27 15:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:41:18] [INFO] Activity save request {"post_data":{"contact_id":"5133","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:41:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5133","note_was_empty":true}
[2026-04-27 15:41:18] [INFO] Didar write disabled; saving activity locally {"contact_id":"5133","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:41:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5266c06a12.02047688","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5266c06a12.02047688"}
[2026-04-27 15:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:18] [INFO] Updating virtual stage {"contact_id":"5133","stage_name":"deal_registered","force":false}
[2026-04-27 15:41:18] [INFO] Virtual stage successfully saved {"contact_id":"5133","stage_name":"deal_registered"}
[2026-04-27 15:41:18] [INFO] Virtual stage updated after activity save {"contact_id":"5133"}
[2026-04-27 15:41:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5133","person_id":"2976"}
[2026-04-27 15:41:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:41:39] [INFO] Checking activity reminders 
[2026-04-27 15:41:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:41:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:41:47] [INFO] Activity save request {"post_data":{"contact_id":"21015","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nارسال ویس استاد در بله ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:41:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:41:47] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:41:47] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:41:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:41:47] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21015","note_was_empty":true}
[2026-04-27 15:41:47] [INFO] Didar write disabled; saving activity locally {"contact_id":"21015","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 15:41:47] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef52831e0384.89950255","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:41:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:41:47] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef52831e0384.89950255"}
[2026-04-27 15:41:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:41:47] [INFO] Updating virtual stage {"contact_id":"21015","stage_name":"deal_registered","force":false}
[2026-04-27 15:41:47] [INFO] Virtual stage successfully saved {"contact_id":"21015","stage_name":"deal_registered"}
[2026-04-27 15:41:47] [INFO] Virtual stage updated after activity save {"contact_id":"21015"}
[2026-04-27 15:41:47] [INFO] Checking activity reminders 
[2026-04-27 15:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:41:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21015","person_id":"1344"}
[2026-04-27 15:42:09] [INFO] Checking activity reminders 
[2026-04-27 15:42:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:42:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:42:17] [INFO] Checking activity reminders 
[2026-04-27 15:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:42:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:42:39] [INFO] Checking activity reminders 
[2026-04-27 15:42:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:42:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:42:47] [INFO] Checking activity reminders 
[2026-04-27 15:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:43:09] [INFO] Checking activity reminders 
[2026-04-27 15:43:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:43:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:43:34] [INFO] Activity save request {"post_data":{"contact_id":"local_695cb9a7325153.22369790","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال هست 5الی 10 میلیارد تا 2هفته دیگه دستش میاد جلسه میخواست گفتم پول اومد دستت بهم بگو سوال از استاد کانال مشاوره بپرسی \/ به جاش خدمات دیگه معرفی کردم سریع اقدام کن خوشحال شد ","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:43:34] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:43:34] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:43:34] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_695cb9a7325153.22369790","note_was_empty":true}
[2026-04-27 15:43:34] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef52ee8d3f58.29674314","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:43:34] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef52ee8d3f58.29674314"}
[2026-04-27 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:43:34] [INFO] Updating virtual stage {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase","force":false}
[2026-04-27 15:43:34] [INFO] Virtual stage successfully saved {"contact_id":"local_695cb9a7325153.22369790","stage_name":"with_purchase"}
[2026-04-27 15:43:34] [INFO] Virtual stage updated after activity save {"contact_id":"local_695cb9a7325153.22369790"}
[2026-04-27 15:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9a7325153.22369790","person_id":"21529"}
[2026-04-27 15:43:39] [INFO] Checking activity reminders 
[2026-04-27 15:43:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:43:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:43:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:44:00] [INFO] Checking activity reminders 
[2026-04-27 15:44:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:44:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:44:09] [INFO] Checking activity reminders 
[2026-04-27 15:44:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:44:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:44:30] [INFO] Checking activity reminders 
[2026-04-27 15:44:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:44:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:44:40] [INFO] Checking activity reminders 
[2026-04-27 15:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:45:00] [INFO] Checking activity reminders 
[2026-04-27 15:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:45:10] [INFO] Checking activity reminders 
[2026-04-27 15:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:45:30] [INFO] Checking activity reminders 
[2026-04-27 15:45:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:45:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:45:34] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 15:45:34","session_id":"ehh6d7gfn717s5pfgu36hht7cf"}
[2026-04-27 15:45:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:45:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:45:34] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9112","is_new_deal":false}
[2026-04-27 15:45:34] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 15:45:34] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 15:45:34] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-27 15:45:34] [INFO] getContactPrimaryPhone called {"contact_id":"9112"}
[2026-04-27 15:45:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:45:34] [INFO] getContactPrimaryPhone result {"contact_id":"9112","person_found":true,"primary_phone":"9158828113"}
[2026-04-27 15:45:34] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9158828113"}
[2026-04-27 15:45:34] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9158828113","contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 15:45:34"}
[2026-04-27 15:45:34] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","existing_deal_found":true,"existing_contact_id":"9112","existing_title":"معامله سوم 9158828113 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 15:45:34"}
[2026-04-27 15:45:34] [INFO] DealController.save validated payments {"deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 15:45:34] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9112","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 15:45:34] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d224b65a5116.94553415","contact_didar_id":"9112","title":"معامله سوم 9158828113 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9158828113","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سرشار","existing_deal":"YES","existing_deal_id":"local_69d224b65a5116.94553415","existing_deal_status":"Pending","server_time":"2026-04-27 15:45:34","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 15:45:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:45:34] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9158828113 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":20000000,"server_time":"2026-04-27 15:45:34","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 15:45:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:45:40] [INFO] Checking activity reminders 
[2026-04-27 15:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:46:00] [INFO] Checking activity reminders 
[2026-04-27 15:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:46:10] [INFO] Checking activity reminders 
[2026-04-27 15:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:46:30] [INFO] Checking activity reminders 
[2026-04-27 15:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:46:35] [INFO] Activity save request {"post_data":{"contact_id":"local_6987216f11c7a4.76220645","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اردکان یزد \/ دبیر چند بار ش میزاره شرای طنداره وقت میگیره \/ 20 دقیقه دیگه تماس \/ دیدم گوشیم اسمش سیو هست شفیعی گفتم فامیلیت صحرایی یا شفیعی گفت صحرایی","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:46:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_6987216f11c7a4.76220645","note_was_empty":true}
[2026-04-27 15:46:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef53a3312cb7.80613956","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef53a3312cb7.80613956"}
[2026-04-27 15:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:35] [INFO] Updating virtual stage {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered","force":false}
[2026-04-27 15:46:35] [INFO] Virtual stage successfully saved {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered"}
[2026-04-27 15:46:35] [INFO] Virtual stage updated after activity save {"contact_id":"local_6987216f11c7a4.76220645"}
[2026-04-27 15:46:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 15:46:40] [INFO] Checking activity reminders 
[2026-04-27 15:46:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:46:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:46:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:00] [INFO] Checking activity reminders 
[2026-04-27 15:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:47:10] [INFO] Checking activity reminders 
[2026-04-27 15:47:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:47:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:47:30] [INFO] Checking activity reminders 
[2026-04-27 15:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:47:31] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:47:31] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:47:31] [WARNING] Auth check failed - not authenticated {"session_id":"5siolkvld8blh5gsl2meq5spm2","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:47:40] [INFO] Checking activity reminders 
[2026-04-27 15:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:47:59] [INFO] Activity save request {"post_data":{"contact_id":"local_69ef3fc6ac45e8.41285940","deal_id":"local_69ef3fc6af393","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در شبکه نیست","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"irrelevant_lead","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 15:47:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69ef3fc6ac45e8.41285940","note_was_empty":true}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Updating virtual stage {"contact_id":"local_69ef3fc6ac45e8.41285940","stage_name":"new","force":false}
[2026-04-27 15:47:59] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef3fc6ac45e8.41285940","stage_name":"new"}
[2026-04-27 15:47:59] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef3fc6ac45e8.41285940"}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef3fc6af393","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-27 15:47:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef53f770d755.59368346","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef53f770d755.59368346"}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:47:59] [INFO] Updating virtual stage {"contact_id":"local_69ef3fc6ac45e8.41285940","stage_name":"deal_registered","force":false}
[2026-04-27 15:47:59] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef3fc6ac45e8.41285940","stage_name":"deal_registered"}
[2026-04-27 15:47:59] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef3fc6ac45e8.41285940"}
[2026-04-27 15:47:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef3fc6ac45e8.41285940","person_id":"22409"}
[2026-04-27 15:48:01] [INFO] Checking activity reminders 
[2026-04-27 15:48:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:48:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:48:02] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:02] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:48:02] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:10] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:10] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"check_reminders"}
[2026-04-27 15:48:10] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:10] [INFO] Checking activity reminders 
[2026-04-27 15:48:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:48:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_didar_users"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_users_list"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_kpi_products"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_performance_dashboard_section"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_performance_dashboard"}
[2026-04-27 15:48:14] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:15] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:16] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_products"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_leads"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:20] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:28] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 15:48:28] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 15:48:28] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 15:48:29] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 15:48:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 15:48:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 15:48:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 15:48:31] [INFO] Checking activity reminders 
[2026-04-27 15:48:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:48:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:48:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:48:41] [INFO] Checking activity reminders 
[2026-04-27 15:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:48:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 15:48:55","session_id":"qts3arbnb2m2m7bdc44q05porh"}
[2026-04-27 15:48:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:48:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"9112","is_new_deal":false}
[2026-04-27 15:48:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 15:48:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 15:48:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 15:48:55] [INFO] getContactPrimaryPhone called {"contact_id":"9112"}
[2026-04-27 15:48:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:48:55] [INFO] getContactPrimaryPhone result {"contact_id":"9112","person_found":true,"primary_phone":"9158828113"}
[2026-04-27 15:48:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9158828113"}
[2026-04-27 15:48:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9158828113","contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-27 15:48:55"}
[2026-04-27 15:48:55] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","existing_deal_found":true,"existing_contact_id":"9112","existing_title":"معامله سوم 9158828113 | کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-27 15:48:55"}
[2026-04-27 15:48:55] [INFO] DealController.save validated payments {"deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 15:48:55] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9112","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-27 15:48:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d224b65a5116.94553415","contact_didar_id":"9112","title":"معامله سوم 9158828113 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9158828113","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سرشار","existing_deal":"YES","existing_deal_id":"local_69d224b65a5116.94553415","existing_deal_status":"Pending","server_time":"2026-04-27 15:48:55","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-27 15:48:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:48:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d224b65a5116.94553415","contact_id":"9112","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9158828113 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":20000000,"server_time":"2026-04-27 15:48:55","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 15:48:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:48:59] [INFO] Checking activity reminders 
[2026-04-27 15:48:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:48:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:01] [INFO] Checking activity reminders 
[2026-04-27 15:49:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 15:49:11] [INFO] Checking activity reminders 
[2026-04-27 15:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:26] [INFO] Checking activity reminders 
[2026-04-27 15:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:33] [INFO] Checking activity reminders 
[2026-04-27 15:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:35] [INFO] Checking activity reminders 
[2026-04-27 15:49:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:39] [INFO] Checking activity reminders 
[2026-04-27 15:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:41] [INFO] Checking activity reminders 
[2026-04-27 15:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:49:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:50:05] [INFO] Checking activity reminders 
[2026-04-27 15:50:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:50:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:50:11] [INFO] Checking activity reminders 
[2026-04-27 15:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:50:35] [INFO] Checking activity reminders 
[2026-04-27 15:50:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:50:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:50:41] [INFO] Checking activity reminders 
[2026-04-27 15:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:51:06] [INFO] Checking activity reminders 
[2026-04-27 15:51:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:51:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:51:11] [INFO] Checking activity reminders 
[2026-04-27 15:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:51:36] [INFO] Checking activity reminders 
[2026-04-27 15:51:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:51:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:51:41] [INFO] Checking activity reminders 
[2026-04-27 15:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:52:06] [INFO] Checking activity reminders 
[2026-04-27 15:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:52:12] [INFO] Checking activity reminders 
[2026-04-27 15:52:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:52:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:52:36] [INFO] Checking activity reminders 
[2026-04-27 15:52:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:52:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:52:42] [INFO] Checking activity reminders 
[2026-04-27 15:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:06] [INFO] Checking activity reminders 
[2026-04-27 15:53:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:12] [INFO] Checking activity reminders 
[2026-04-27 15:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 15:53:21] [INFO] Checking activity reminders 
[2026-04-27 15:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:23] [INFO] Checking activity reminders 
[2026-04-27 15:53:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:25] [INFO] Checking activity reminders 
[2026-04-27 15:53:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:28] [INFO] Checking activity reminders 
[2026-04-27 15:53:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:30] [INFO] Checking activity reminders 
[2026-04-27 15:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:53:42] [INFO] Checking activity reminders 
[2026-04-27 15:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:54:00] [INFO] Checking activity reminders 
[2026-04-27 15:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:54:11] [INFO] Checking activity reminders 
[2026-04-27 15:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:54:12] [INFO] Checking activity reminders 
[2026-04-27 15:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:54:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 15:54:41] [INFO] Checking activity reminders 
[2026-04-27 15:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:54:42] [INFO] Checking activity reminders 
[2026-04-27 15:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:55:11] [INFO] Checking activity reminders 
[2026-04-27 15:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:55:12] [INFO] Checking activity reminders 
[2026-04-27 15:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:55:24] [INFO] Checking activity reminders 
[2026-04-27 15:55:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:55:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:55:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 15:55:42] [INFO] Checking activity reminders 
[2026-04-27 15:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:55:54] [INFO] Checking activity reminders 
[2026-04-27 15:55:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:55:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:56:12] [INFO] Checking activity reminders 
[2026-04-27 15:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:56:24] [INFO] Checking activity reminders 
[2026-04-27 15:56:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:56:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:56:42] [INFO] Checking activity reminders 
[2026-04-27 15:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:56:54] [INFO] Checking activity reminders 
[2026-04-27 15:56:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:56:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:57:12] [INFO] Checking activity reminders 
[2026-04-27 15:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:57:24] [INFO] Checking activity reminders 
[2026-04-27 15:57:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:57:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:57:43] [INFO] Checking activity reminders 
[2026-04-27 15:57:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:57:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:57:54] [INFO] Checking activity reminders 
[2026-04-27 15:57:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:57:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:58:13] [INFO] Checking activity reminders 
[2026-04-27 15:58:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:58:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:58:24] [INFO] Checking activity reminders 
[2026-04-27 15:58:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:58:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:58:43] [INFO] Checking activity reminders 
[2026-04-27 15:58:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:58:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:58:54] [INFO] Checking activity reminders 
[2026-04-27 15:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:59:13] [INFO] Checking activity reminders 
[2026-04-27 15:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:59:24] [INFO] Checking activity reminders 
[2026-04-27 15:59:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:59:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:59:48] [INFO] Checking activity reminders 
[2026-04-27 15:59:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:59:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 15:59:55] [INFO] Checking activity reminders 
[2026-04-27 15:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 15:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:00:18] [INFO] Checking activity reminders 
[2026-04-27 16:00:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:00:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:00:25] [INFO] Checking activity reminders 
[2026-04-27 16:00:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:00:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:00:48] [INFO] Checking activity reminders 
[2026-04-27 16:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:00:55] [INFO] Checking activity reminders 
[2026-04-27 16:00:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:00:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:01:18] [INFO] Checking activity reminders 
[2026-04-27 16:01:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:01:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:01:25] [INFO] Checking activity reminders 
[2026-04-27 16:01:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:01:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:01:48] [INFO] Checking activity reminders 
[2026-04-27 16:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:01:55] [INFO] Checking activity reminders 
[2026-04-27 16:01:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:01:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:02:18] [INFO] Checking activity reminders 
[2026-04-27 16:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:02:25] [INFO] Checking activity reminders 
[2026-04-27 16:02:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:02:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:02:48] [INFO] Checking activity reminders 
[2026-04-27 16:02:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:02:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:02:55] [INFO] Checking activity reminders 
[2026-04-27 16:02:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:02:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:03:18] [INFO] Checking activity reminders 
[2026-04-27 16:03:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 16:03:19] [INFO] Checking activity reminders 
[2026-04-27 16:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69528d8bc170f0.16410312","person_id":"21461"}
[2026-04-27 16:03:25] [INFO] Checking activity reminders 
[2026-04-27 16:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:48] [INFO] Checking activity reminders 
[2026-04-27 16:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:49] [INFO] Checking activity reminders 
[2026-04-27 16:03:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:03:55] [INFO] Checking activity reminders 
[2026-04-27 16:03:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:03:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:02] [INFO] Checking activity reminders 
[2026-04-27 16:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-27 16:04:10] [INFO] Checking activity reminders 
[2026-04-27 16:04:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21335","person_id":"1120"}
[2026-04-27 16:04:19] [INFO] Checking activity reminders 
[2026-04-27 16:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:24] [INFO] Checking activity reminders 
[2026-04-27 16:04:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:25] [INFO] Checking activity reminders 
[2026-04-27 16:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69dc8794ca28e4.79401978","person_id":"22140"}
[2026-04-27 16:04:35] [INFO] Checking activity reminders 
[2026-04-27 16:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7006","person_id":"20730"}
[2026-04-27 16:04:49] [INFO] Checking activity reminders 
[2026-04-27 16:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:49] [INFO] Checking activity reminders 
[2026-04-27 16:04:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695cb9622da444.78163474","person_id":"21526"}
[2026-04-27 16:04:56] [INFO] Checking activity reminders 
[2026-04-27 16:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:04:59] [INFO] Checking activity reminders 
[2026-04-27 16:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14327","person_id":"13916"}
[2026-04-27 16:05:08] [INFO] Checking activity reminders 
[2026-04-27 16:05:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69d224d8e7aef7.68866400","person_id":"21979"}
[2026-04-27 16:05:17] [INFO] Checking activity reminders 
[2026-04-27 16:05:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:19] [INFO] Checking activity reminders 
[2026-04-27 16:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-27 16:05:26] [INFO] Checking activity reminders 
[2026-04-27 16:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:26] [INFO] Checking activity reminders 
[2026-04-27 16:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3907","person_id":"19676"}
[2026-04-27 16:05:35] [INFO] Checking activity reminders 
[2026-04-27 16:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15908","person_id":"16364"}
[2026-04-27 16:05:49] [INFO] Checking activity reminders 
[2026-04-27 16:05:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:56] [INFO] Checking activity reminders 
[2026-04-27 16:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:05:58] [INFO] Checking activity reminders 
[2026-04-27 16:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-27 16:06:07] [INFO] Checking activity reminders 
[2026-04-27 16:06:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"820","person_id":"13725"}
[2026-04-27 16:06:19] [INFO] Checking activity reminders 
[2026-04-27 16:06:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:26] [INFO] Activity save request {"post_data":{"contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیام داده کانال قسط گفتم دیر اومدی چک داری؟ \r\nزمین فروخته پول داره","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:06:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20696","note_was_empty":true}
[2026-04-27 16:06:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"20696","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-27 16:06:26] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-27 16:06:26] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:06:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a91d017909.34931332","stage":"تماس پیگیری","status_change":null}
[2026-04-27 16:06:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef584a3daad0.73900710","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef584a3daad0.73900710"}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-27 16:06:26] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-27 16:06:26] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:06:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:06:26] [INFO] Checking activity reminders 
[2026-04-27 16:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:28] [INFO] Checking activity reminders 
[2026-04-27 16:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2744","person_id":"13748"}
[2026-04-27 16:06:46] [INFO] Checking activity reminders 
[2026-04-27 16:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1850","person_id":"12906"}
[2026-04-27 16:06:56] [INFO] Checking activity reminders 
[2026-04-27 16:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:06:58] [INFO] Checking activity reminders 
[2026-04-27 16:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:07:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:07:12] [INFO] Checking activity reminders 
[2026-04-27 16:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-27 16:07:27] [INFO] Checking activity reminders 
[2026-04-27 16:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:28] [INFO] Checking activity reminders 
[2026-04-27 16:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:30] [INFO] Checking activity reminders 
[2026-04-27 16:07:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11341","person_id":"12022"}
[2026-04-27 16:07:39] [INFO] Checking activity reminders 
[2026-04-27 16:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11284","person_id":"11223"}
[2026-04-27 16:07:50] [INFO] Checking activity reminders 
[2026-04-27 16:07:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11172","person_id":"5114"}
[2026-04-27 16:07:57] [INFO] Checking activity reminders 
[2026-04-27 16:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:07:58] [INFO] Checking activity reminders 
[2026-04-27 16:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:08:06] [INFO] Checking activity reminders 
[2026-04-27 16:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21012","person_id":"11948"}
[2026-04-27 16:08:27] [INFO] Checking activity reminders 
[2026-04-27 16:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:08:28] [INFO] Checking activity reminders 
[2026-04-27 16:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:08:57] [INFO] Checking activity reminders 
[2026-04-27 16:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:08:58] [INFO] Checking activity reminders 
[2026-04-27 16:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:09:27] [INFO] Checking activity reminders 
[2026-04-27 16:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:09:28] [INFO] Checking activity reminders 
[2026-04-27 16:09:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:09:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:09:57] [INFO] Checking activity reminders 
[2026-04-27 16:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:09:58] [INFO] Checking activity reminders 
[2026-04-27 16:09:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:09:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:10:27] [INFO] Checking activity reminders 
[2026-04-27 16:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:10:29] [INFO] Checking activity reminders 
[2026-04-27 16:10:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:10:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:10:57] [INFO] Checking activity reminders 
[2026-04-27 16:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:10:59] [INFO] Checking activity reminders 
[2026-04-27 16:10:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:10:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:01] [INFO] Checking activity reminders 
[2026-04-27 16:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-04-27 16:11:17] [INFO] Checking activity reminders 
[2026-04-27 16:11:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3821","person_id":"12085"}
[2026-04-27 16:11:27] [INFO] Checking activity reminders 
[2026-04-27 16:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:29] [INFO] Checking activity reminders 
[2026-04-27 16:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:57] [INFO] Checking activity reminders 
[2026-04-27 16:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:11:59] [INFO] Checking activity reminders 
[2026-04-27 16:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:12:00] [INFO] Activity save request {"post_data":{"contact_id":"6795","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"خرید خودرو برای خواهرش \r\nارجاع به پارسا ","activity_duration":"3","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 16:12:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:12:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 16:12:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6795","note_was_empty":true}
[2026-04-27 16:12:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"6795","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 16:12:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef59985be107.66172583","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 16:12:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef59985be107.66172583"}
[2026-04-27 16:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 16:12:00] [INFO] Updating virtual stage {"contact_id":"6795","stage_name":"deal_registered","force":false}
[2026-04-27 16:12:00] [INFO] Virtual stage successfully saved {"contact_id":"6795","stage_name":"deal_registered"}
[2026-04-27 16:12:00] [INFO] Virtual stage updated after activity save {"contact_id":"6795"}
[2026-04-27 16:12:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6795","person_id":"13914"}
[2026-04-27 16:12:28] [INFO] Checking activity reminders 
[2026-04-27 16:12:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:12:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:12:29] [INFO] Checking activity reminders 
[2026-04-27 16:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:12:58] [INFO] Checking activity reminders 
[2026-04-27 16:12:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:12:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:12:59] [INFO] Checking activity reminders 
[2026-04-27 16:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:13:28] [INFO] Checking activity reminders 
[2026-04-27 16:13:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:13:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:13:29] [INFO] Checking activity reminders 
[2026-04-27 16:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:13:58] [INFO] Checking activity reminders 
[2026-04-27 16:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:13:59] [INFO] Checking activity reminders 
[2026-04-27 16:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:14:28] [INFO] Checking activity reminders 
[2026-04-27 16:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:14:30] [INFO] Checking activity reminders 
[2026-04-27 16:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:14:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 16:14:44","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 16:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:14:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20696","is_new_deal":false}
[2026-04-27 16:14:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:14:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:14:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:14:44] [INFO] getContactPrimaryPhone called {"contact_id":"20696"}
[2026-04-27 16:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:14:44] [INFO] getContactPrimaryPhone result {"contact_id":"20696","person_found":true,"primary_phone":"9359282389"}
[2026-04-27 16:14:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9359282389"}
[2026-04-27 16:14:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9359282389","contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:14:44"}
[2026-04-27 16:14:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","existing_deal_found":true,"existing_contact_id":"20696","existing_title":"معامله دوم 9359282389 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:14:44"}
[2026-04-27 16:14:44] [INFO] DealController.save validated payments {"deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-27 16:14:44] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20696","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 16:14:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d0a91d017909.34931332","contact_didar_id":"20696","title":"معامله دوم 9359282389 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9359282389","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد شکیبا","existing_deal":"YES","existing_deal_id":"local_69d0a91d017909.34931332","existing_deal_status":"Pending","server_time":"2026-04-27 16:14:44","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 16:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:14:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9359282389 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-27 16:14:44","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 16:14:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:14:58] [INFO] Checking activity reminders 
[2026-04-27 16:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:15:00] [INFO] Checking activity reminders 
[2026-04-27 16:15:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:15:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:15:28] [INFO] Checking activity reminders 
[2026-04-27 16:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:15:29] [INFO] Activity save request {"post_data":{"contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"300 ت وام گرفته زمین فروش نرفته میگه \/ 27ت تا اخر مهر باشه اول مهر تمدید \/ اقساط میخواست گفتم نداریم","activity_duration":"20","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:15:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20696","note_was_empty":true}
[2026-04-27 16:15:29] [INFO] Didar write disabled; saving activity locally {"contact_id":"20696","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:29] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-27 16:15:29] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-27 16:15:29] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:15:29] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a91d017909.34931332","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-27 16:15:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5a69784909.02239532","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5a69784909.02239532"}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:29] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"deal_registered","force":false}
[2026-04-27 16:15:29] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"deal_registered"}
[2026-04-27 16:15:29] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:15:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:15:30] [INFO] Checking activity reminders 
[2026-04-27 16:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:15:58] [INFO] Checking activity reminders 
[2026-04-27 16:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:16:00] [INFO] Checking activity reminders 
[2026-04-27 16:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:16:28] [INFO] Checking activity reminders 
[2026-04-27 16:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:16:30] [INFO] Checking activity reminders 
[2026-04-27 16:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:16:58] [INFO] Checking activity reminders 
[2026-04-27 16:16:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:16:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:00] [INFO] Checking activity reminders 
[2026-04-27 16:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:28] [INFO] Checking activity reminders 
[2026-04-27 16:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:28] [INFO] Checking activity reminders 
[2026-04-27 16:17:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 16:17:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 16:17:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 16:17:30] [INFO] Checking activity reminders 
[2026-04-27 16:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 16:17:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 16:17:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 16:17:58] [INFO] Checking activity reminders 
[2026-04-27 16:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:17:58] [INFO] Checking activity reminders 
[2026-04-27 16:17:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:17:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:18:00] [INFO] Checking activity reminders 
[2026-04-27 16:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:18:29] [INFO] Checking activity reminders 
[2026-04-27 16:18:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:18:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:18:30] [INFO] Checking activity reminders 
[2026-04-27 16:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:18:59] [INFO] Checking activity reminders 
[2026-04-27 16:18:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:18:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:19:01] [INFO] Checking activity reminders 
[2026-04-27 16:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:19:29] [INFO] Checking activity reminders 
[2026-04-27 16:19:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:19:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:19:31] [INFO] Checking activity reminders 
[2026-04-27 16:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:19:40] [INFO] Checking activity reminders 
[2026-04-27 16:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:19:59] [INFO] Checking activity reminders 
[2026-04-27 16:19:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:19:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:07] [INFO] Checking activity reminders 
[2026-04-27 16:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:29] [INFO] Checking activity reminders 
[2026-04-27 16:20:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:20:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:37] [INFO] Checking activity reminders 
[2026-04-27 16:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:54] [INFO] Checking activity reminders 
[2026-04-27 16:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:59] [INFO] Checking activity reminders 
[2026-04-27 16:20:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:20:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:20:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10621","person_id":"2991"}
[2026-04-27 16:21:06] [INFO] Checking activity reminders 
[2026-04-27 16:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:07] [INFO] Checking activity reminders 
[2026-04-27 16:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-04-27 16:21:17] [INFO] Checking activity reminders 
[2026-04-27 16:21:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11432","person_id":"16601"}
[2026-04-27 16:21:22] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"check_reminders"}
[2026-04-27 16:21:22] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"log_client_event"}
[2026-04-27 16:21:22] [WARNING] Auth check failed - not authenticated {"session_id":"mtm5lr5dr0m83nmqjb248r2hi0","session_keys":[],"action":"log_client_event"}
[2026-04-27 16:21:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"21147","deal_id":"local_69d222b5bf78f7.66883481","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 16:21:24","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 16:21:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:21:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"21147","is_new_deal":false}
[2026-04-27 16:21:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-27 16:21:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-27 16:21:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-27 16:21:24] [INFO] getContactPrimaryPhone called {"contact_id":"21147"}
[2026-04-27 16:21:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:21:24] [INFO] getContactPrimaryPhone result {"contact_id":"21147","person_found":true,"primary_phone":"9123657452"}
[2026-04-27 16:21:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123657452"}
[2026-04-27 16:21:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123657452","contact_id":"21147","deal_id":"local_69d222b5bf78f7.66883481","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:21:24"}
[2026-04-27 16:21:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","existing_deal_found":true,"existing_contact_id":"21147","existing_title":"معامله دوم 9123657452 | کانال VIP بدون پشتیبان","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:21:24"}
[2026-04-27 16:21:24] [INFO] DealController.save validated payments {"deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-27 16:21:24] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21147","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 16:21:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d222b5bf78f7.66883481","contact_didar_id":"21147","title":"معامله دوم 9123657452 | کانال VIP بدون پشتیبان","base_title_used":"معامله دوم 9123657452","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی پیرسا","existing_deal":"YES","existing_deal_id":"local_69d222b5bf78f7.66883481","existing_deal_status":"Pending","server_time":"2026-04-27 16:21:24","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 16:21:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:21:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d222b5bf78f7.66883481","contact_id":"21147","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9123657452 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":30000000,"server_time":"2026-04-27 16:21:24","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 16:21:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-27 16:21:27] [INFO] Checking activity reminders 
[2026-04-27 16:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:29] [INFO] Checking activity reminders 
[2026-04-27 16:21:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14373","person_id":"16454"}
[2026-04-27 16:21:36] [INFO] Checking activity reminders 
[2026-04-27 16:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:21:38] [INFO] Checking activity reminders 
[2026-04-27 16:21:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-27 16:21:59] [INFO] Checking activity reminders 
[2026-04-27 16:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:22:06] [INFO] Checking activity reminders 
[2026-04-27 16:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:22:16] [INFO] Checking activity reminders 
[2026-04-27 16:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:22:29] [INFO] Checking activity reminders 
[2026-04-27 16:22:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:22:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:22:59] [INFO] Checking activity reminders 
[2026-04-27 16:22:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:22:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:05] [INFO] Checking activity reminders 
[2026-04-27 16:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14698","person_id":"4840"}
[2026-04-27 16:23:17] [INFO] Checking activity reminders 
[2026-04-27 16:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-27 16:23:28] [INFO] Checking activity reminders 
[2026-04-27 16:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:29] [INFO] Checking activity reminders 
[2026-04-27 16:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5059","person_id":"5599"}
[2026-04-27 16:23:57] [INFO] Checking activity reminders 
[2026-04-27 16:23:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:23:59] [INFO] Checking activity reminders 
[2026-04-27 16:23:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:23:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11237","person_id":"5175"}
[2026-04-27 16:24:10] [INFO] Checking activity reminders 
[2026-04-27 16:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 16:24:19] [INFO] Checking activity reminders 
[2026-04-27 16:24:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 16:24:28] [INFO] Checking activity reminders 
[2026-04-27 16:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:29] [INFO] Checking activity reminders 
[2026-04-27 16:24:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20546","person_id":"13912"}
[2026-04-27 16:24:37] [INFO] Checking activity reminders 
[2026-04-27 16:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:46] [INFO] Checking activity reminders 
[2026-04-27 16:24:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10606","person_id":"18011"}
[2026-04-27 16:24:54] [INFO] Checking activity reminders 
[2026-04-27 16:24:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:24:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20875","person_id":"7009"}
[2026-04-27 16:24:59] [INFO] Checking activity reminders 
[2026-04-27 16:24:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:24:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:25:03] [INFO] Checking activity reminders 
[2026-04-27 16:25:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:25:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:25:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1584","person_id":"14442"}
[2026-04-27 16:25:30] [INFO] Checking activity reminders 
[2026-04-27 16:25:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:25:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:25:38] [INFO] Checking activity reminders 
[2026-04-27 16:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:25:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8967","person_id":"19677"}
[2026-04-27 16:25:54] [INFO] Checking activity reminders 
[2026-04-27 16:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:25:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-27 16:26:00] [INFO] Checking activity reminders 
[2026-04-27 16:26:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:26:04] [INFO] Checking activity reminders 
[2026-04-27 16:26:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:26:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-04-27 16:26:13] [INFO] Checking activity reminders 
[2026-04-27 16:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:26:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9650","person_id":"1444"}
[2026-04-27 16:26:22] [INFO] Checking activity reminders 
[2026-04-27 16:26:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:26:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-27 16:26:30] [INFO] Checking activity reminders 
[2026-04-27 16:26:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:26:31] [INFO] Checking activity reminders 
[2026-04-27 16:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:27:00] [INFO] Checking activity reminders 
[2026-04-27 16:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:27:30] [INFO] Checking activity reminders 
[2026-04-27 16:27:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:27:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:28:00] [INFO] Checking activity reminders 
[2026-04-27 16:28:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:28:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:28:36] [INFO] Checking activity reminders 
[2026-04-27 16:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:28:39] [INFO] Checking activity reminders 
[2026-04-27 16:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:28:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15901","person_id":"13169"}
[2026-04-27 16:29:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9348","person_id":"4867"}
[2026-04-27 16:29:09] [INFO] Checking activity reminders 
[2026-04-27 16:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:29:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:29:21] [INFO] Checking activity reminders 
[2026-04-27 16:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:29:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 16:29:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 16:29:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 16:29:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15901","person_id":"13169"}
[2026-04-27 16:29:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:29:39] [INFO] Checking activity reminders 
[2026-04-27 16:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:29:51] [INFO] Checking activity reminders 
[2026-04-27 16:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:30:09] [INFO] Checking activity reminders 
[2026-04-27 16:30:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:30:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:30:35] [INFO] Checking activity reminders 
[2026-04-27 16:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:30:39] [INFO] Checking activity reminders 
[2026-04-27 16:30:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:30:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:31:10] [INFO] Checking activity reminders 
[2026-04-27 16:31:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:31:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:31:32] [INFO] Activity save request {"post_data":{"contact_id":"4040","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nجنس انبارش 80 درصد گرون شده \r\nطلای فیزیکی پله ای خرید میکنه \r\nصندوق طلا و نقره اصلا نداشت \/ در کانال استاد سیگناال داده بود \r\nاز خودرو جا مونده \/ گرون شده \r\n","activity_duration":"7","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:31:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:31:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:31:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4040","note_was_empty":true}
[2026-04-27 16:31:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"4040","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 16:31:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5e2cd6a097.59235902","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:31:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5e2cd6a097.59235902"}
[2026-04-27 16:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:31:32] [INFO] Updating virtual stage {"contact_id":"4040","stage_name":"with_purchase","force":false}
[2026-04-27 16:31:32] [INFO] Virtual stage successfully saved {"contact_id":"4040","stage_name":"with_purchase"}
[2026-04-27 16:31:32] [INFO] Virtual stage updated after activity save {"contact_id":"4040"}
[2026-04-27 16:31:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4040","person_id":"9825"}
[2026-04-27 16:31:40] [INFO] Checking activity reminders 
[2026-04-27 16:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:31:56] [INFO] Checking activity reminders 
[2026-04-27 16:31:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:31:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:31:58] [INFO] Checking activity reminders 
[2026-04-27 16:31:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:31:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:32:02] [INFO] Checking activity reminders 
[2026-04-27 16:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:32:04] [INFO] Checking activity reminders 
[2026-04-27 16:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:32:34] [INFO] Checking activity reminders 
[2026-04-27 16:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:33:04] [INFO] Checking activity reminders 
[2026-04-27 16:33:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:33:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:33:33] [INFO] Activity save request {"post_data":{"contact_id":"8323","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"استوری در روبیکا دیده \r\nپرزنت 405 \r\nفقط نیم سکه امامی سرمایه گذاری میکنه \r\nاز خودرو جا مونده \r\nکانال و هوش پرزنت شد \r\nبیشتر هوش براش جذابه ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:33:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 16:33:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:33:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:33:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 16:33:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8323","note_was_empty":true}
[2026-04-27 16:33:33] [INFO] Didar write disabled; saving activity locally {"contact_id":"8323","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 16:33:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef5ea5567a99.44435691","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:33:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 16:33:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef5ea5567a99.44435691"}
[2026-04-27 16:33:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 16:33:33] [INFO] Updating virtual stage {"contact_id":"8323","stage_name":"deal_registered","force":false}
[2026-04-27 16:33:33] [INFO] Virtual stage successfully saved {"contact_id":"8323","stage_name":"deal_registered"}
[2026-04-27 16:33:33] [INFO] Virtual stage updated after activity save {"contact_id":"8323"}
[2026-04-27 16:33:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8323","person_id":"13843"}
[2026-04-27 16:33:35] [INFO] Checking activity reminders 
[2026-04-27 16:33:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:33:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:34:05] [INFO] Checking activity reminders 
[2026-04-27 16:34:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:34:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:34:09] [INFO] Checking activity reminders 
[2026-04-27 16:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:34:39] [INFO] Checking activity reminders 
[2026-04-27 16:34:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:34:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:35:09] [INFO] Checking activity reminders 
[2026-04-27 16:35:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:35:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:35:39] [INFO] Checking activity reminders 
[2026-04-27 16:35:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:35:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:36:09] [INFO] Checking activity reminders 
[2026-04-27 16:36:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:36:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:36:39] [INFO] Checking activity reminders 
[2026-04-27 16:36:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:36:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:37:10] [INFO] Checking activity reminders 
[2026-04-27 16:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:37:40] [INFO] Checking activity reminders 
[2026-04-27 16:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:38:10] [INFO] Checking activity reminders 
[2026-04-27 16:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:38:40] [INFO] Checking activity reminders 
[2026-04-27 16:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:39:10] [INFO] Checking activity reminders 
[2026-04-27 16:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:39:41] [INFO] Checking activity reminders 
[2026-04-27 16:39:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:39:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:40:11] [INFO] Checking activity reminders 
[2026-04-27 16:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:40:41] [INFO] Checking activity reminders 
[2026-04-27 16:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:41:02] [INFO] Checking activity reminders 
[2026-04-27 16:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:41:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 16:41:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 16:41:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 16:41:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 16:41:11] [INFO] Checking activity reminders 
[2026-04-27 16:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:41:41] [INFO] Checking activity reminders 
[2026-04-27 16:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:42:11] [INFO] Checking activity reminders 
[2026-04-27 16:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:42:41] [INFO] Checking activity reminders 
[2026-04-27 16:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:43:11] [INFO] Checking activity reminders 
[2026-04-27 16:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:47:13] [INFO] Checking activity reminders 
[2026-04-27 16:47:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:47:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:47:43] [INFO] Checking activity reminders 
[2026-04-27 16:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:47:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 16:47:52","session_id":"4ahqkh1ja8t7fcmvga3au65c73"}
[2026-04-27 16:47:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:47:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20696","is_new_deal":false}
[2026-04-27 16:47:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:47:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:47:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-27 16:47:52] [INFO] getContactPrimaryPhone called {"contact_id":"20696"}
[2026-04-27 16:47:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:47:52] [INFO] getContactPrimaryPhone result {"contact_id":"20696","person_found":true,"primary_phone":"9359282389"}
[2026-04-27 16:47:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9359282389"}
[2026-04-27 16:47:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9359282389","contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:47:52"}
[2026-04-27 16:47:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","existing_deal_found":true,"existing_contact_id":"20696","existing_title":"معامله دوم 9359282389 | کانال VIP بدون پشتیبان شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-27 16:47:52"}
[2026-04-27 16:47:52] [INFO] DealController.save validated payments {"deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-27 16:47:52] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"20696","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 16:47:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d0a91d017909.34931332","contact_didar_id":"20696","title":"معامله دوم 9359282389 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9359282389","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد شکیبا","existing_deal":"YES","existing_deal_id":"local_69d0a91d017909.34931332","existing_deal_status":"Pending","server_time":"2026-04-27 16:47:52","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-27 16:47:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:47:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d0a91d017909.34931332","contact_id":"20696","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9359282389 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-27 16:47:52","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-27 16:47:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Activity save request {"post_data":{"contact_id":"20696","deal_id":"local_69d0a91d017909.34931332","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه شد \/ دسترسی تا اخر مهر بدون مشاوره","activity_duration":"5","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:48:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20696","note_was_empty":true}
[2026-04-27 16:48:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"20696","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"with_purchase","force":false}
[2026-04-27 16:48:06] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"with_purchase"}
[2026-04-27 16:48:06] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a91d017909.34931332","stage":"اتمام","status_change":"Won"}
[2026-04-27 16:48:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef620e119c16.88453127","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef620e119c16.88453127"}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:06] [INFO] Updating virtual stage {"contact_id":"20696","stage_name":"with_purchase","force":false}
[2026-04-27 16:48:06] [INFO] Virtual stage successfully saved {"contact_id":"20696","stage_name":"with_purchase"}
[2026-04-27 16:48:06] [INFO] Virtual stage updated after activity save {"contact_id":"20696"}
[2026-04-27 16:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 16:48:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:13] [INFO] Checking activity reminders 
[2026-04-27 16:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:48:35] [INFO] Activity save request {"post_data":{"contact_id":"local_6987216f11c7a4.76220645","deal_id":"local_69ef1ae529fd87.84797500","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیچید مجدد تماس عدم پاسخ ","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:48:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:48:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:48:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_6987216f11c7a4.76220645","note_was_empty":true}
[2026-04-27 16:48:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:35] [INFO] Updating virtual stage {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered","force":false}
[2026-04-27 16:48:35] [INFO] Virtual stage successfully saved {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered"}
[2026-04-27 16:48:35] [INFO] Virtual stage updated after activity save {"contact_id":"local_6987216f11c7a4.76220645"}
[2026-04-27 16:48:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef1ae529fd87.84797500","stage":"تماس پیگیری","status_change":null}
[2026-04-27 16:48:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef622bf01564.53732269","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:48:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef622bf01564.53732269"}
[2026-04-27 16:48:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:35] [INFO] Updating virtual stage {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered","force":false}
[2026-04-27 16:48:35] [INFO] Virtual stage successfully saved {"contact_id":"local_6987216f11c7a4.76220645","stage_name":"deal_registered"}
[2026-04-27 16:48:35] [INFO] Virtual stage updated after activity save {"contact_id":"local_6987216f11c7a4.76220645"}
[2026-04-27 16:48:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-27 16:48:43] [INFO] Checking activity reminders 
[2026-04-27 16:48:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:48:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:49:13] [INFO] Checking activity reminders 
[2026-04-27 16:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:49:43] [INFO] Checking activity reminders 
[2026-04-27 16:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:50:13] [INFO] Checking activity reminders 
[2026-04-27 16:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:50:43] [INFO] Checking activity reminders 
[2026-04-27 16:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:53:51] [INFO] Checking activity reminders 
[2026-04-27 16:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:54:21] [INFO] Checking activity reminders 
[2026-04-27 16:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:54:51] [INFO] Checking activity reminders 
[2026-04-27 16:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:55:21] [INFO] Checking activity reminders 
[2026-04-27 16:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:55:52] [INFO] Checking activity reminders 
[2026-04-27 16:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:56:02] [INFO] Checking activity reminders 
[2026-04-27 16:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:56:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:56:22] [INFO] Checking activity reminders 
[2026-04-27 16:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:56:32] [INFO] Checking activity reminders 
[2026-04-27 16:56:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:56:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:56:52] [INFO] Checking activity reminders 
[2026-04-27 16:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:57:02] [INFO] Checking activity reminders 
[2026-04-27 16:57:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:57:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:57:04] [INFO] Activity save request {"post_data":{"contact_id":"701","deal_id":"local_69d68cfd657ed3.65530180","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال سوال برای ماشین باباش هایما یا جک \/ گفتم بیا کانال 6ماهه \/ پرزنت هوش برای شغل دوم \r\nقرار شد صحبت کنه اطلاع تا عصر ","activity_duration":"30","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:57:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"701","note_was_empty":true}
[2026-04-27 16:57:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"701","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:04] [INFO] Updating virtual stage {"contact_id":"701","stage_name":"deal_registered","force":false}
[2026-04-27 16:57:04] [INFO] Virtual stage successfully saved {"contact_id":"701","stage_name":"deal_registered"}
[2026-04-27 16:57:04] [INFO] Virtual stage updated after activity save {"contact_id":"701"}
[2026-04-27 16:57:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68cfd657ed3.65530180","stage":"تماس پیگیری","status_change":null}
[2026-04-27 16:57:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef6428175a28.31003620","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef6428175a28.31003620"}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:04] [INFO] Updating virtual stage {"contact_id":"701","stage_name":"deal_registered","force":false}
[2026-04-27 16:57:04] [INFO] Virtual stage successfully saved {"contact_id":"701","stage_name":"deal_registered"}
[2026-04-27 16:57:04] [INFO] Virtual stage updated after activity save {"contact_id":"701"}
[2026-04-27 16:57:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"701","person_id":"16783"}
[2026-04-27 16:57:22] [INFO] Checking activity reminders 
[2026-04-27 16:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:57:32] [INFO] Checking activity reminders 
[2026-04-27 16:57:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:57:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:57:52] [INFO] Checking activity reminders 
[2026-04-27 16:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:58:22] [INFO] Checking activity reminders 
[2026-04-27 16:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:58:51] [INFO] Checking activity reminders 
[2026-04-27 16:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:58:52] [INFO] Checking activity reminders 
[2026-04-27 16:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:59:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:21] [INFO] Checking activity reminders 
[2026-04-27 16:59:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:59:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:59:22] [INFO] Checking activity reminders 
[2026-04-27 16:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:59:52] [INFO] Checking activity reminders 
[2026-04-27 16:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:59:56] [INFO] Checking activity reminders 
[2026-04-27 16:59:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 16:59:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 16:59:56] [INFO] Activity save request {"post_data":{"contact_id":"local_69e9e2c5e5b6f8.17849159","deal_id":"local_69e9e2c5e72a6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"امروز مجدد پیگییری 25 سالشه \/ با مامانش مشورت میکنه\r\nدید دادم بهش گفت اوکی هستم فقط یکم زمان گفتم خودت از دست میدی","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 16:59:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e9e2c5e5b6f8.17849159","note_was_empty":true}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:56] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 16:59:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 16:59:56] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 16:59:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e9e2c5e72a6","stage":"تماس پیگیری","status_change":null}
[2026-04-27 16:59:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef64d440f272.72033628","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef64d440f272.72033628"}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 16:59:56] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 16:59:56] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 16:59:56] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 16:59:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:00:23] [INFO] Checking activity reminders 
[2026-04-27 17:00:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:00:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:00:25] [INFO] Checking activity reminders 
[2026-04-27 17:00:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:00:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:00:26] [INFO] Checking activity reminders 
[2026-04-27 17:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:00:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:00:55] [INFO] Checking activity reminders 
[2026-04-27 17:00:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:00:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:00:56] [INFO] Checking activity reminders 
[2026-04-27 17:00:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:00:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:01:25] [INFO] Checking activity reminders 
[2026-04-27 17:01:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:01:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:01:26] [INFO] Checking activity reminders 
[2026-04-27 17:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:01:33] [INFO] Checking activity reminders 
[2026-04-27 17:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:01:34] [INFO] Checking activity reminders 
[2026-04-27 17:01:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:01:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:01:48] [INFO] Activity save request {"post_data":{"contact_id":"local_69e9e2c5e5b6f8.17849159","deal_id":"local_69e9e2c5e72a6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد تماس عدم پاسخ ارسال پیامک پیگیری","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:01:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e9e2c5e5b6f8.17849159","note_was_empty":true}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:48] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 17:01:48] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 17:01:48] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 17:01:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e9e2c5e72a6","stage":"تماس پیگیری","status_change":null}
[2026-04-27 17:01:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef65445415d2.26055287","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef65445415d2.26055287"}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:48] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 17:01:48] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 17:01:48] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 17:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:01:56] [INFO] Checking activity reminders 
[2026-04-27 17:01:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:01:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:02:04] [INFO] Checking activity reminders 
[2026-04-27 17:02:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:02:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:02:26] [INFO] Checking activity reminders 
[2026-04-27 17:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:02:34] [INFO] Checking activity reminders 
[2026-04-27 17:02:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:02:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:02:56] [INFO] Checking activity reminders 
[2026-04-27 17:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:03:05] [INFO] Checking activity reminders 
[2026-04-27 17:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:03:26] [INFO] Checking activity reminders 
[2026-04-27 17:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:03:35] [INFO] Checking activity reminders 
[2026-04-27 17:03:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:03:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:03:57] [INFO] Checking activity reminders 
[2026-04-27 17:03:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:03:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:04:05] [INFO] Checking activity reminders 
[2026-04-27 17:04:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:04:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:04:35] [INFO] Checking activity reminders 
[2026-04-27 17:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:04:36] [INFO] Checking activity reminders 
[2026-04-27 17:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:05:05] [INFO] Checking activity reminders 
[2026-04-27 17:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:05:06] [INFO] Checking activity reminders 
[2026-04-27 17:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:05:35] [INFO] Checking activity reminders 
[2026-04-27 17:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:05] [INFO] Checking activity reminders 
[2026-04-27 17:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:15] [INFO] Checking activity reminders 
[2026-04-27 17:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:22] [INFO] Checking activity reminders 
[2026-04-27 17:06:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:25] [INFO] Checking activity reminders 
[2026-04-27 17:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:34] [INFO] Checking activity reminders 
[2026-04-27 17:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:06:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:06:46] [INFO] Activity save request {"post_data":{"contact_id":"20971","deal_id":"local_69d4a8b07a4067.06131327","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:06:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20971","note_was_empty":true}
[2026-04-27 17:06:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"20971","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:46] [INFO] Updating virtual stage {"contact_id":"20971","stage_name":"deal_registered","force":false}
[2026-04-27 17:06:46] [INFO] Virtual stage successfully saved {"contact_id":"20971","stage_name":"deal_registered"}
[2026-04-27 17:06:46] [INFO] Virtual stage updated after activity save {"contact_id":"20971"}
[2026-04-27 17:06:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4a8b07a4067.06131327","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-27 17:06:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef666ec8f029.93360823","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef666ec8f029.93360823"}
[2026-04-27 17:06:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:46] [INFO] Updating virtual stage {"contact_id":"20971","stage_name":"deal_registered","force":false}
[2026-04-27 17:06:46] [INFO] Virtual stage successfully saved {"contact_id":"20971","stage_name":"deal_registered"}
[2026-04-27 17:06:46] [INFO] Virtual stage updated after activity save {"contact_id":"20971"}
[2026-04-27 17:06:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20971","person_id":"18170"}
[2026-04-27 17:06:55] [INFO] Checking activity reminders 
[2026-04-27 17:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:07:01] [INFO] Activity save request {"post_data":{"contact_id":"local_69e9e2c5e5b6f8.17849159","deal_id":"local_69e9e2c5e72a6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیام داد شرای طندارم\/ زدم داری خودت اقدام نمیگنی ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:07:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e9e2c5e5b6f8.17849159","note_was_empty":true}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:01] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 17:07:01] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 17:07:01] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 17:07:01] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e9e2c5e72a6","stage":"تماس پیگیری","status_change":null}
[2026-04-27 17:07:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef667d3dc873.21182461","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef667d3dc873.21182461"}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:01] [INFO] Updating virtual stage {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered","force":false}
[2026-04-27 17:07:01] [INFO] Virtual stage successfully saved {"contact_id":"local_69e9e2c5e5b6f8.17849159","stage_name":"deal_registered"}
[2026-04-27 17:07:01] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e9e2c5e5b6f8.17849159"}
[2026-04-27 17:07:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e9e2c5e5b6f8.17849159","person_id":"22245"}
[2026-04-27 17:07:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4964","person_id":"3358"}
[2026-04-27 17:07:04] [INFO] Checking activity reminders 
[2026-04-27 17:07:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:07:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:07:25] [INFO] Checking activity reminders 
[2026-04-27 17:07:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:07:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:07:35] [INFO] Checking activity reminders 
[2026-04-27 17:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:07:55] [INFO] Checking activity reminders 
[2026-04-27 17:07:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:07:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:08:05] [INFO] Checking activity reminders 
[2026-04-27 17:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:08:25] [INFO] Checking activity reminders 
[2026-04-27 17:08:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:08:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:08:35] [INFO] Checking activity reminders 
[2026-04-27 17:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:08:55] [INFO] Checking activity reminders 
[2026-04-27 17:08:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:08:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:09:05] [INFO] Checking activity reminders 
[2026-04-27 17:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:09:05] [INFO] Checking activity reminders 
[2026-04-27 17:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:09:35] [INFO] Checking activity reminders 
[2026-04-27 17:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:09:35] [INFO] Checking activity reminders 
[2026-04-27 17:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:10:05] [INFO] Checking activity reminders 
[2026-04-27 17:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:10:05] [INFO] Checking activity reminders 
[2026-04-27 17:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:10:35] [INFO] Checking activity reminders 
[2026-04-27 17:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:10:35] [INFO] Checking activity reminders 
[2026-04-27 17:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:11:05] [INFO] Checking activity reminders 
[2026-04-27 17:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:11:05] [INFO] Checking activity reminders 
[2026-04-27 17:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:11:35] [INFO] Checking activity reminders 
[2026-04-27 17:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:11:35] [INFO] Checking activity reminders 
[2026-04-27 17:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:12:05] [INFO] Checking activity reminders 
[2026-04-27 17:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:12:05] [INFO] Checking activity reminders 
[2026-04-27 17:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:12:35] [INFO] Checking activity reminders 
[2026-04-27 17:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:12:36] [INFO] Checking activity reminders 
[2026-04-27 17:12:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:12:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:13:05] [INFO] Checking activity reminders 
[2026-04-27 17:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:13:06] [INFO] Checking activity reminders 
[2026-04-27 17:13:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:13:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:13:35] [INFO] Checking activity reminders 
[2026-04-27 17:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:13:36] [INFO] Checking activity reminders 
[2026-04-27 17:13:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:13:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:14:05] [INFO] Checking activity reminders 
[2026-04-27 17:14:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:14:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:14:06] [INFO] Checking activity reminders 
[2026-04-27 17:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:14:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:14:36] [INFO] Checking activity reminders 
[2026-04-27 17:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:14:36] [INFO] Checking activity reminders 
[2026-04-27 17:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:14:42] [INFO] Lead update received {"contact_id":"2706","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 17:14:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:14:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:14:42] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"2706"}
[2026-04-27 17:14:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:06] [INFO] Checking activity reminders 
[2026-04-27 17:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:15:06] [INFO] Checking activity reminders 
[2026-04-27 17:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:15:36] [INFO] Checking activity reminders 
[2026-04-27 17:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:15:36] [INFO] Checking activity reminders 
[2026-04-27 17:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:15:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:58] [INFO] Activity save request {"post_data":{"contact_id":"2706","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک \r\nسر کلاس بود ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:15:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:15:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:15:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2706","note_was_empty":true}
[2026-04-27 17:15:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"2706","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:15:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef6896321495.53552732","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:15:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef6896321495.53552732"}
[2026-04-27 17:15:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:15:58] [INFO] Updating virtual stage {"contact_id":"2706","stage_name":"deal_registered","force":false}
[2026-04-27 17:15:58] [INFO] Virtual stage successfully saved {"contact_id":"2706","stage_name":"deal_registered"}
[2026-04-27 17:15:58] [INFO] Virtual stage updated after activity save {"contact_id":"2706"}
[2026-04-27 17:15:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2706","person_id":"10262"}
[2026-04-27 17:16:06] [INFO] Checking activity reminders 
[2026-04-27 17:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:16:06] [INFO] Checking activity reminders 
[2026-04-27 17:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:16:36] [INFO] Checking activity reminders 
[2026-04-27 17:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:16:36] [INFO] Checking activity reminders 
[2026-04-27 17:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:17:06] [INFO] Checking activity reminders 
[2026-04-27 17:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:17:06] [INFO] Checking activity reminders 
[2026-04-27 17:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:17:36] [INFO] Checking activity reminders 
[2026-04-27 17:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:17:36] [INFO] Checking activity reminders 
[2026-04-27 17:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:18:06] [INFO] Checking activity reminders 
[2026-04-27 17:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:18:06] [INFO] Checking activity reminders 
[2026-04-27 17:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:18:36] [INFO] Checking activity reminders 
[2026-04-27 17:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:18:37] [INFO] Checking activity reminders 
[2026-04-27 17:18:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:18:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:19:06] [INFO] Checking activity reminders 
[2026-04-27 17:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:19:07] [INFO] Checking activity reminders 
[2026-04-27 17:19:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:19:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:19:36] [INFO] Checking activity reminders 
[2026-04-27 17:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:19:37] [INFO] Checking activity reminders 
[2026-04-27 17:19:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:19:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:20:06] [INFO] Checking activity reminders 
[2026-04-27 17:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:20:07] [INFO] Checking activity reminders 
[2026-04-27 17:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:20:36] [INFO] Checking activity reminders 
[2026-04-27 17:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:20:37] [INFO] Checking activity reminders 
[2026-04-27 17:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:21:06] [INFO] Checking activity reminders 
[2026-04-27 17:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:21:07] [INFO] Checking activity reminders 
[2026-04-27 17:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:21:36] [INFO] Checking activity reminders 
[2026-04-27 17:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:21:37] [INFO] Checking activity reminders 
[2026-04-27 17:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:06] [INFO] Checking activity reminders 
[2026-04-27 17:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:07] [INFO] Checking activity reminders 
[2026-04-27 17:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:37] [INFO] Checking activity reminders 
[2026-04-27 17:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:37] [INFO] Checking activity reminders 
[2026-04-27 17:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:40] [INFO] Checking activity reminders 
[2026-04-27 17:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:22:46] [INFO] Checking activity reminders 
[2026-04-27 17:22:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:22:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:23:07] [INFO] Checking activity reminders 
[2026-04-27 17:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:23:08] [INFO] Checking activity reminders 
[2026-04-27 17:23:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:23:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:23:37] [INFO] Checking activity reminders 
[2026-04-27 17:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:23:38] [INFO] Checking activity reminders 
[2026-04-27 17:23:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:23:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:24:07] [INFO] Checking activity reminders 
[2026-04-27 17:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:24:08] [INFO] Checking activity reminders 
[2026-04-27 17:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:24:37] [INFO] Checking activity reminders 
[2026-04-27 17:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:24:38] [INFO] Checking activity reminders 
[2026-04-27 17:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:25:07] [INFO] Checking activity reminders 
[2026-04-27 17:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:25:08] [INFO] Checking activity reminders 
[2026-04-27 17:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:25:37] [INFO] Checking activity reminders 
[2026-04-27 17:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:25:38] [INFO] Checking activity reminders 
[2026-04-27 17:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:26:07] [INFO] Checking activity reminders 
[2026-04-27 17:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:26:08] [INFO] Checking activity reminders 
[2026-04-27 17:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:26:37] [INFO] Checking activity reminders 
[2026-04-27 17:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:26:39] [INFO] Checking activity reminders 
[2026-04-27 17:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:27:09] [INFO] Checking activity reminders 
[2026-04-27 17:27:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:27:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:27:39] [INFO] Checking activity reminders 
[2026-04-27 17:27:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:27:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:28:09] [INFO] Checking activity reminders 
[2026-04-27 17:28:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:28:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:28:39] [INFO] Checking activity reminders 
[2026-04-27 17:28:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:28:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:29:09] [INFO] Checking activity reminders 
[2026-04-27 17:29:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:29:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:29:39] [INFO] Checking activity reminders 
[2026-04-27 17:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:30:09] [INFO] Checking activity reminders 
[2026-04-27 17:30:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:30:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:30:39] [INFO] Checking activity reminders 
[2026-04-27 17:30:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:30:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:31:09] [INFO] Checking activity reminders 
[2026-04-27 17:31:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:31:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:31:39] [INFO] Checking activity reminders 
[2026-04-27 17:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:31:44] [INFO] Activity save request {"post_data":{"contact_id":"412","deal_id":"local_694937d1a5cc91.89498052","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خودرو خریده\/ سود کرده \r\nدلار و طلای فیزکی برای سرمایه گذاری داره \r\nپرزنت 6 ماهه و 1 ساله \r\nمیگه مشورت کنم با شریکم \r\nارسال پیام در بله \r\nنوسان گیری و سیو سود در صندوق ها ","activity_duration":"6","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:31:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"412","note_was_empty":true}
[2026-04-27 17:31:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"412","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:44] [INFO] Updating virtual stage {"contact_id":"412","stage_name":"deal_registered","force":false}
[2026-04-27 17:31:44] [INFO] Virtual stage successfully saved {"contact_id":"412","stage_name":"deal_registered"}
[2026-04-27 17:31:44] [INFO] Virtual stage updated after activity save {"contact_id":"412"}
[2026-04-27 17:31:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694937d1a5cc91.89498052","stage":"تماس پیگیری","status_change":null}
[2026-04-27 17:31:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef6c485fe137.33861111","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef6c485fe137.33861111"}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:44] [INFO] Updating virtual stage {"contact_id":"412","stage_name":"deal_registered","force":false}
[2026-04-27 17:31:44] [INFO] Virtual stage successfully saved {"contact_id":"412","stage_name":"deal_registered"}
[2026-04-27 17:31:44] [INFO] Virtual stage updated after activity save {"contact_id":"412"}
[2026-04-27 17:31:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"412","person_id":"13948"}
[2026-04-27 17:31:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:10] [INFO] Checking activity reminders 
[2026-04-27 17:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:40] [INFO] Checking activity reminders 
[2026-04-27 17:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:42] [INFO] Activity save request {"post_data":{"contact_id":"1888","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nتعویض خودرو \r\nدر کانال استاد خودرو های پر فروش و رند بازار گفتند ","activity_duration":"2","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:32:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1888","note_was_empty":true}
[2026-04-27 17:32:42] [INFO] Didar write disabled; saving activity locally {"contact_id":"1888","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:32:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef6c82093e18.94221936","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef6c82093e18.94221936"}
[2026-04-27 17:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:42] [INFO] Updating virtual stage {"contact_id":"1888","stage_name":"deal_registered","force":false}
[2026-04-27 17:32:42] [INFO] Virtual stage successfully saved {"contact_id":"1888","stage_name":"deal_registered"}
[2026-04-27 17:32:42] [INFO] Virtual stage updated after activity save {"contact_id":"1888"}
[2026-04-27 17:32:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-27 17:32:46] [INFO] Checking activity reminders 
[2026-04-27 17:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:47] [INFO] Checking activity reminders 
[2026-04-27 17:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:49] [INFO] Checking activity reminders 
[2026-04-27 17:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:52] [INFO] Checking activity reminders 
[2026-04-27 17:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:32:53] [INFO] Checking activity reminders 
[2026-04-27 17:32:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:32:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:33:23] [INFO] Checking activity reminders 
[2026-04-27 17:33:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:33:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:33:53] [INFO] Checking activity reminders 
[2026-04-27 17:33:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:33:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:34:23] [INFO] Checking activity reminders 
[2026-04-27 17:34:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:34:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:34:53] [INFO] Checking activity reminders 
[2026-04-27 17:34:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:34:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:35:12] [INFO] Checking activity reminders 
[2026-04-27 17:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:35:42] [INFO] Checking activity reminders 
[2026-04-27 17:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:36:12] [INFO] Checking activity reminders 
[2026-04-27 17:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:36:42] [INFO] Checking activity reminders 
[2026-04-27 17:36:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:36:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:37:12] [INFO] Checking activity reminders 
[2026-04-27 17:37:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:37:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:37:42] [INFO] Checking activity reminders 
[2026-04-27 17:37:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:37:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:38:12] [INFO] Checking activity reminders 
[2026-04-27 17:38:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:38:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:38:42] [INFO] Checking activity reminders 
[2026-04-27 17:38:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:38:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:39:12] [INFO] Checking activity reminders 
[2026-04-27 17:39:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:39:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:39:42] [INFO] Checking activity reminders 
[2026-04-27 17:39:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:39:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:40:12] [INFO] Checking activity reminders 
[2026-04-27 17:40:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:40:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:40:43] [INFO] Checking activity reminders 
[2026-04-27 17:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:41:13] [INFO] Checking activity reminders 
[2026-04-27 17:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:41:43] [INFO] Checking activity reminders 
[2026-04-27 17:41:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:41:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:42:13] [INFO] Checking activity reminders 
[2026-04-27 17:42:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:42:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:42:43] [INFO] Checking activity reminders 
[2026-04-27 17:42:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:42:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:42:58] [INFO] Checking activity reminders 
[2026-04-27 17:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:43:28] [INFO] Checking activity reminders 
[2026-04-27 17:43:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:43:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:43:58] [INFO] Checking activity reminders 
[2026-04-27 17:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:44:21] [INFO] Checking activity reminders 
[2026-04-27 17:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:44:51] [INFO] Checking activity reminders 
[2026-04-27 17:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:45:21] [INFO] Checking activity reminders 
[2026-04-27 17:45:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:45:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:45:51] [INFO] Checking activity reminders 
[2026-04-27 17:45:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:45:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:46:21] [INFO] Checking activity reminders 
[2026-04-27 17:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:46:51] [INFO] Checking activity reminders 
[2026-04-27 17:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:47:04] [INFO] Checking activity reminders 
[2026-04-27 17:47:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:47:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:47:34] [INFO] Checking activity reminders 
[2026-04-27 17:47:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:47:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:47:44] [INFO] Checking activity reminders 
[2026-04-27 17:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:48:04] [INFO] Checking activity reminders 
[2026-04-27 17:48:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:48:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:48:14] [INFO] Checking activity reminders 
[2026-04-27 17:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:48:34] [INFO] Checking activity reminders 
[2026-04-27 17:48:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:48:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:48:44] [INFO] Checking activity reminders 
[2026-04-27 17:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:04] [INFO] Checking activity reminders 
[2026-04-27 17:49:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:15] [INFO] Checking activity reminders 
[2026-04-27 17:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:34] [INFO] Checking activity reminders 
[2026-04-27 17:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:39] [INFO] Checking activity reminders 
[2026-04-27 17:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:45] [INFO] Checking activity reminders 
[2026-04-27 17:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:49:52] [INFO] Checking activity reminders 
[2026-04-27 17:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:50:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:15] [INFO] Checking activity reminders 
[2026-04-27 17:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:50:21] [INFO] Activity save request {"post_data":{"contact_id":"5265","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"خرید خودرو \r\nارجاه به پارسا ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:21] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:50:21] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:21] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5265","note_was_empty":true}
[2026-04-27 17:50:21] [INFO] Didar write disabled; saving activity locally {"contact_id":"5265","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:50:21] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef70a5a52278.26992012","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:21] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef70a5a52278.26992012"}
[2026-04-27 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:21] [INFO] Updating virtual stage {"contact_id":"5265","stage_name":"with_purchase","force":false}
[2026-04-27 17:50:21] [INFO] Virtual stage successfully saved {"contact_id":"5265","stage_name":"with_purchase"}
[2026-04-27 17:50:21] [INFO] Virtual stage updated after activity save {"contact_id":"5265"}
[2026-04-27 17:50:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5265","person_id":"2279"}
[2026-04-27 17:50:23] [INFO] Checking activity reminders 
[2026-04-27 17:50:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:50:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:50:45] [INFO] Checking activity reminders 
[2026-04-27 17:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:50:53] [INFO] Checking activity reminders 
[2026-04-27 17:50:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:50:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:51:15] [INFO] Checking activity reminders 
[2026-04-27 17:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:51:40] [INFO] Checking activity reminders 
[2026-04-27 17:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:51:45] [INFO] Checking activity reminders 
[2026-04-27 17:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:51:48] [INFO] Checking activity reminders 
[2026-04-27 17:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:52:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 17:52:15] [INFO] Checking activity reminders 
[2026-04-27 17:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:52:40] [INFO] Checking activity reminders 
[2026-04-27 17:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:52:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:52:45] [INFO] Checking activity reminders 
[2026-04-27 17:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:53:10] [INFO] Checking activity reminders 
[2026-04-27 17:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:53:15] [INFO] Checking activity reminders 
[2026-04-27 17:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:53:40] [INFO] Checking activity reminders 
[2026-04-27 17:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:53:42] [INFO] Activity save request {"post_data":{"contact_id":"3559","deal_id":"local_69d498b38d78f3.98740416","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اموال مصادره شده \r\nمشکل خانوادگی \r\nهیچ کاری نمیتونه انجام بده \r\n","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:53:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:42] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:53:42] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:53:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:42] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3559","note_was_empty":true}
[2026-04-27 17:53:42] [INFO] Didar write disabled; saving activity locally {"contact_id":"3559","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:53:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:42] [INFO] Updating virtual stage {"contact_id":"3559","stage_name":"deal_registered","force":false}
[2026-04-27 17:53:42] [INFO] Virtual stage successfully saved {"contact_id":"3559","stage_name":"deal_registered"}
[2026-04-27 17:53:42] [INFO] Virtual stage updated after activity save {"contact_id":"3559"}
[2026-04-27 17:53:42] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d498b38d78f3.98740416","stage":"تماس پیگیری","status_change":null}
[2026-04-27 17:53:42] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef716ef0bd00.32584468","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:53:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:42] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef716ef0bd00.32584468"}
[2026-04-27 17:53:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:42] [INFO] Updating virtual stage {"contact_id":"3559","stage_name":"deal_registered","force":false}
[2026-04-27 17:53:42] [INFO] Virtual stage successfully saved {"contact_id":"3559","stage_name":"deal_registered"}
[2026-04-27 17:53:42] [INFO] Virtual stage updated after activity save {"contact_id":"3559"}
[2026-04-27 17:53:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3559","person_id":"17965"}
[2026-04-27 17:53:45] [INFO] Checking activity reminders 
[2026-04-27 17:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:54:10] [INFO] Checking activity reminders 
[2026-04-27 17:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:54:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:15] [INFO] Checking activity reminders 
[2026-04-27 17:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:54:31] [INFO] Activity save request {"post_data":{"contact_id":"1168","deal_id":"local_6987451090b541.45812000","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:54:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1168","note_was_empty":true}
[2026-04-27 17:54:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"1168","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:31] [INFO] Updating virtual stage {"contact_id":"1168","stage_name":"deal_registered","force":false}
[2026-04-27 17:54:31] [INFO] Virtual stage successfully saved {"contact_id":"1168","stage_name":"deal_registered"}
[2026-04-27 17:54:31] [INFO] Virtual stage updated after activity save {"contact_id":"1168"}
[2026-04-27 17:54:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6987451090b541.45812000","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-27 17:54:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef719f1f6431.25833507","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef719f1f6431.25833507"}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:31] [INFO] Updating virtual stage {"contact_id":"1168","stage_name":"deal_registered","force":false}
[2026-04-27 17:54:31] [INFO] Virtual stage successfully saved {"contact_id":"1168","stage_name":"deal_registered"}
[2026-04-27 17:54:31] [INFO] Virtual stage updated after activity save {"contact_id":"1168"}
[2026-04-27 17:54:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1168","person_id":"9227"}
[2026-04-27 17:54:40] [INFO] Checking activity reminders 
[2026-04-27 17:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:54:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:54:45] [INFO] Checking activity reminders 
[2026-04-27 17:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:55:09] [INFO] Activity save request {"post_data":{"contact_id":"local_6989cd6c8e23f3.32254992","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"برای کلاس های حضوری سوال پرسید \r\nگفتم اطلاع میدم ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 17:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:55:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 17:55:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 17:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:55:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_6989cd6c8e23f3.32254992","note_was_empty":true}
[2026-04-27 17:55:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef71c5ac5963.51681371","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 17:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:55:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef71c5ac5963.51681371"}
[2026-04-27 17:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:55:09] [INFO] Updating virtual stage {"contact_id":"local_6989cd6c8e23f3.32254992","stage_name":"with_purchase","force":false}
[2026-04-27 17:55:09] [INFO] Virtual stage successfully saved {"contact_id":"local_6989cd6c8e23f3.32254992","stage_name":"with_purchase"}
[2026-04-27 17:55:09] [INFO] Virtual stage updated after activity save {"contact_id":"local_6989cd6c8e23f3.32254992"}
[2026-04-27 17:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6989cd6c8e23f3.32254992","person_id":"21637"}
[2026-04-27 17:55:11] [INFO] Checking activity reminders 
[2026-04-27 17:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:55:15] [INFO] Checking activity reminders 
[2026-04-27 17:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:55:45] [INFO] Checking activity reminders 
[2026-04-27 17:55:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:55:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:56:15] [INFO] Checking activity reminders 
[2026-04-27 17:56:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:56:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:56:45] [INFO] Checking activity reminders 
[2026-04-27 17:56:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:56:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:57:16] [INFO] Checking activity reminders 
[2026-04-27 17:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:57:46] [INFO] Checking activity reminders 
[2026-04-27 17:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:58:16] [INFO] Checking activity reminders 
[2026-04-27 17:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:58:46] [INFO] Checking activity reminders 
[2026-04-27 17:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:59:16] [INFO] Checking activity reminders 
[2026-04-27 17:59:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:59:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 17:59:46] [INFO] Checking activity reminders 
[2026-04-27 17:59:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 17:59:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:00:16] [INFO] Checking activity reminders 
[2026-04-27 18:00:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:00:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:00:46] [INFO] Checking activity reminders 
[2026-04-27 18:00:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:00:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:01:16] [INFO] Checking activity reminders 
[2026-04-27 18:01:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:01:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:02:39] [INFO] Checking activity reminders 
[2026-04-27 18:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:02:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:03:09] [INFO] Checking activity reminders 
[2026-04-27 18:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:03:39] [INFO] Checking activity reminders 
[2026-04-27 18:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:04:02] [INFO] Activity save request {"post_data":{"contact_id":"20597","deal_id":"local_694aad25d281f3.48741015","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تو این مدت چندین بار تلفنی صحبت شد راجب سی ای پی تو عید قبل عید بعد عید \/ اقای سهراب یهم بعد عید مکالمه حضور داشت \/ دنبال 200 ت هست \/\r\nمجدد امروز تماس بازار مثبت شده باز حرفا تکراری باز دید دادم و صبوری کنه","activity_duration":"35","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-27 18:04:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"20597","note_was_empty":true}
[2026-04-27 18:04:02] [INFO] Didar write disabled; saving activity locally {"contact_id":"20597","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:02] [INFO] Updating virtual stage {"contact_id":"20597","stage_name":"deal_registered","force":false}
[2026-04-27 18:04:02] [INFO] Virtual stage successfully saved {"contact_id":"20597","stage_name":"deal_registered"}
[2026-04-27 18:04:02] [INFO] Virtual stage updated after activity save {"contact_id":"20597"}
[2026-04-27 18:04:02] [INFO] Pipeline stage updated after activity save {"deal_id":"local_694aad25d281f3.48741015","stage":"تماس پیگیری","status_change":null}
[2026-04-27 18:04:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69ef73da98a9c1.98343323","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69ef73da98a9c1.98343323"}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:02] [INFO] Updating virtual stage {"contact_id":"20597","stage_name":"deal_registered","force":false}
[2026-04-27 18:04:02] [INFO] Virtual stage successfully saved {"contact_id":"20597","stage_name":"deal_registered"}
[2026-04-27 18:04:02] [INFO] Virtual stage updated after activity save {"contact_id":"20597"}
[2026-04-27 18:04:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20597","person_id":"13967"}
[2026-04-27 18:04:09] [INFO] Checking activity reminders 
[2026-04-27 18:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:04:39] [INFO] Checking activity reminders 
[2026-04-27 18:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:05:10] [INFO] Checking activity reminders 
[2026-04-27 18:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:05:40] [INFO] Checking activity reminders 
[2026-04-27 18:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:50:35] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-27 18:50:35] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 18:50:42] [WARNING] Auth check failed - not authenticated {"session_id":"qts3arbnb2m2m7bdc44q05porh","session_keys":[],"action":"log_client_event"}
[2026-04-27 18:50:42] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-27 18:50:42] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-27 18:50:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 18:50:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-27 18:50:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-27 18:50:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-27 18:50:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 18:52:06] [INFO] Checking activity reminders 
[2026-04-27 18:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:52:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-27 18:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-27 18:53:21] [INFO] Checking activity reminders 
[2026-04-27 18:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:53:33] [INFO] Checking activity reminders 
[2026-04-27 18:53:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:53:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:54:00] [INFO] Checking activity reminders 
[2026-04-27 18:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:54:11] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9398218133","09398218133"]}
[2026-04-27 18:54:11] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9398218133","09398218133"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-27 18:54:11] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9398218133","full_name":"لید جدید"}
[2026-04-27 18:54:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-27 18:54:11] [INFO] Notification created {"notification_id":"674","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-27 18:54:35] [INFO] Checking activity reminders 
[2026-04-27 18:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5166","person_id":"10337"}
[2026-04-27 18:55:10] [INFO] Checking activity reminders 
[2026-04-27 18:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:55:48] [INFO] Checking activity reminders 
[2026-04-27 18:55:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:55:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:55:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-27 18:56:18] [INFO] Checking activity reminders 
[2026-04-27 18:56:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:56:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:56:38] [INFO] Lead update received {"contact_id":"6188","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 18:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-27 18:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-27 18:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-27 18:56:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6188"}
[2026-04-27 18:56:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-27 18:57:17] [INFO] Checking activity reminders 
[2026-04-27 18:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 18:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 18:57:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8664","person_id":"19338"}
[2026-04-27 18:57:39] [INFO] Lead update received {"contact_id":"8664","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-27 18:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8664","person_id":"19338"}
[2026-04-27 18:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8664","person_id":"19338"}
[2026-04-27 18:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8664","person_id":"19338"}
[2026-04-27 18:57:39] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8664"}
[2026-04-27 18:57:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8664","person_id":"19338"}
[2026-04-27 20:08:48] [WARNING] Auth check failed - not authenticated {"session_id":"h23vj45rt1210sf8bhvg9e0329","session_keys":[],"action":"log_client_event"}
[2026-04-27 20:08:49] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-27 20:08:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-27 20:09:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 20:09:19] [INFO] Checking activity reminders 
[2026-04-27 20:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:11:04] [INFO] Checking activity reminders 
[2026-04-27 20:11:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:11:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:11:34] [INFO] Checking activity reminders 
[2026-04-27 20:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:12:05] [INFO] Checking activity reminders 
[2026-04-27 20:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:12:35] [INFO] Checking activity reminders 
[2026-04-27 20:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:12:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-27 20:32:43] [INFO] Checking activity reminders 
[2026-04-27 20:32:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:32:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:32:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:32:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:32:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:32:57] [INFO] generateDealTitle result {"contact_id":"17008","person_name":"علی اسدی","mobile":"9124284088","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9124284088"}
[2026-04-27 20:33:14] [INFO] Checking activity reminders 
[2026-04-27 20:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:33:44] [INFO] Checking activity reminders 
[2026-04-27 20:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:34:07] [INFO] Checking activity reminders 
[2026-04-27 20:34:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:34:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-27 20:34:19] [INFO] DealController.save start {"is_new":true,"incoming_title":"مشاوره","contact_id":"17008","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-27 20:34:19","session_id":"h23vj45rt1210sf8bhvg9e0329"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"مشاوره","contact_id":"17008","is_new_deal":true}
[2026-04-27 20:34:19] [INFO] extractPhoneFromDealTitle called {"input_title":"مشاوره"}
[2026-04-27 20:34:19] [INFO] extractPhoneFromDealTitle processing {"title_part":"مشاوره"}
[2026-04-27 20:34:19] [INFO] extractPhoneFromDealTitle no match found {"title_part":"مشاوره"}
[2026-04-27 20:34:19] [INFO] getContactPrimaryPhone called {"contact_id":"17008"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [INFO] getContactPrimaryPhone result {"contact_id":"17008","person_found":true,"primary_phone":"9124284088"}
[2026-04-27 20:34:19] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9124284088"}
[2026-04-27 20:34:19] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9124284088","contact_id":"17008","deal_id":"","is_new_deal":true,"incoming_title":"مشاوره","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-27 20:34:19"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [INFO] generateDealTitle result {"contact_id":"17008","person_name":"علی اسدی","mobile":"9124284088","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9124284088"}
[2026-04-27 20:34:19] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"17008","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-27 20:34:19] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"17008","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-27 20:34:19] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"17008","title":"معامله چهارم 9124284088 | مشاوره","base_title_used":"معامله چهارم 9124284088","services_text":"مشاوره","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":30000000,"payment_amount":30000000,"payments_present":true,"requested_services":["مشاوره"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی اسدی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-27 20:34:19","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [INFO] Deal success processed {"contact_id":"17008","person_name":"علی اسدی","products_count":1}
[2026-04-27 20:34:19] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-27 20:34:19] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"17008","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9124284088 | مشاوره","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":30000000,"payment_amount":30000000,"server_time":"2026-04-27 20:34:19","ip_address":"2.176.243.171","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:19] [INFO] Updating virtual stage {"contact_id":"17008","stage_name":"with_purchase","force":true}
[2026-04-27 20:34:19] [INFO] Virtual stage successfully saved {"contact_id":"17008","stage_name":"with_purchase"}
[2026-04-27 20:34:19] [INFO] Moved contact out of kariz after successful deal {"contact_id":"17008","deal_id":"","target_stage":"with_purchase"}
[2026-04-27 20:34:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-27 20:34:26] [INFO] Checking activity reminders 
[2026-04-27 20:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-27 20:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:21:48] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 08:21:48] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-28 08:21:48] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 08:21:48] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 08:21:48] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 08:21:48] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 08:21:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-28 08:23:18] [INFO] Checking activity reminders 
[2026-04-28 08:23:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:23:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:23:25] [INFO] Checking activity reminders 
[2026-04-28 08:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:24:04] [INFO] Checking activity reminders 
[2026-04-28 08:24:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:24:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:24:47] [INFO] Checking activity reminders 
[2026-04-28 08:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:26:08] [INFO] Checking activity reminders 
[2026-04-28 08:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:26:16] [INFO] Checking activity reminders 
[2026-04-28 08:26:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:26:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:26:36] [INFO] Checking activity reminders 
[2026-04-28 08:26:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:26:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:26:45] [INFO] Checking activity reminders 
[2026-04-28 08:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:27:15] [INFO] Checking activity reminders 
[2026-04-28 08:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:27:27] [INFO] Checking activity reminders 
[2026-04-28 08:27:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:27:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:27:34] [INFO] Checking activity reminders 
[2026-04-28 08:27:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:27:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:29:02] [INFO] Checking activity reminders 
[2026-04-28 08:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:29:17] [INFO] Checking activity reminders 
[2026-04-28 08:29:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:29:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:29:22] [INFO] Checking activity reminders 
[2026-04-28 08:29:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:29:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:29:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-28 08:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 08:29:52] [INFO] Checking activity reminders 
[2026-04-28 08:29:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:29:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:30:32] [INFO] Checking activity reminders 
[2026-04-28 08:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:31:18] [INFO] Checking activity reminders 
[2026-04-28 08:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:31:46] [INFO] Checking activity reminders 
[2026-04-28 08:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:33:30] [INFO] Checking activity reminders 
[2026-04-28 08:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:33:33] [INFO] Checking activity reminders 
[2026-04-28 08:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:33:44] [INFO] Checking activity reminders 
[2026-04-28 08:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:33:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11719","person_id":"18558"}
[2026-04-28 08:34:14] [INFO] Checking activity reminders 
[2026-04-28 08:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:34:44] [INFO] Checking activity reminders 
[2026-04-28 08:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:35:14] [INFO] Checking activity reminders 
[2026-04-28 08:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:35:52] [INFO] Checking activity reminders 
[2026-04-28 08:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:35:58] [INFO] Checking activity reminders 
[2026-04-28 08:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:36:28] [INFO] Checking activity reminders 
[2026-04-28 08:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:36:58] [INFO] Checking activity reminders 
[2026-04-28 08:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:37:28] [INFO] Checking activity reminders 
[2026-04-28 08:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:37:51] [INFO] Checking activity reminders 
[2026-04-28 08:37:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:37:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:38:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14922","person_id":"13017"}
[2026-04-28 08:38:21] [INFO] Checking activity reminders 
[2026-04-28 08:38:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:38:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:39:46] [INFO] Checking activity reminders 
[2026-04-28 08:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:40:40] [INFO] Checking activity reminders 
[2026-04-28 08:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:40:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-28 08:41:10] [INFO] Checking activity reminders 
[2026-04-28 08:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-28 08:41:34] [INFO] Checking activity reminders 
[2026-04-28 08:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:41:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15806","person_id":"3295"}
[2026-04-28 08:42:29] [INFO] Checking activity reminders 
[2026-04-28 08:42:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:42:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:44:27] [INFO] Checking activity reminders 
[2026-04-28 08:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:44:43] [INFO] Checking activity reminders 
[2026-04-28 08:44:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:44:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:44:49] [INFO] Checking activity reminders 
[2026-04-28 08:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:45:41] [INFO] Checking activity reminders 
[2026-04-28 08:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-28 08:46:17] [INFO] Checking activity reminders 
[2026-04-28 08:46:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:46:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:47:02] [INFO] Checking activity reminders 
[2026-04-28 08:47:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:47:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:47:32] [INFO] Checking activity reminders 
[2026-04-28 08:47:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:47:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:48:02] [INFO] Checking activity reminders 
[2026-04-28 08:48:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:48:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:48:32] [INFO] Checking activity reminders 
[2026-04-28 08:48:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:48:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:49:02] [INFO] Checking activity reminders 
[2026-04-28 08:49:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:49:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:49:29] [INFO] Checking activity reminders 
[2026-04-28 08:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:49:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 08:50:02] [INFO] Checking activity reminders 
[2026-04-28 08:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:50:32] [INFO] Checking activity reminders 
[2026-04-28 08:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:52:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-28 08:53:51] [INFO] Checking activity reminders 
[2026-04-28 08:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:54:27] [INFO] Checking activity reminders 
[2026-04-28 08:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:54:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-28 08:54:47] [INFO] Checking activity reminders 
[2026-04-28 08:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:57:15] [INFO] Checking activity reminders 
[2026-04-28 08:57:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:57:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:57:33] [INFO] Checking activity reminders 
[2026-04-28 08:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 08:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 08:57:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"666","person_id":"11323"}
[2026-04-28 09:00:11] [INFO] Checking activity reminders 
[2026-04-28 09:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:01:39] [INFO] Checking activity reminders 
[2026-04-28 09:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:01:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-28 09:02:27] [INFO] Checking activity reminders 
[2026-04-28 09:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:02:56] [INFO] Checking activity reminders 
[2026-04-28 09:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:03:25] [INFO] Checking activity reminders 
[2026-04-28 09:03:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:03:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:03:58] [INFO] Checking activity reminders 
[2026-04-28 09:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:04:28] [INFO] Checking activity reminders 
[2026-04-28 09:04:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:04:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:04:58] [INFO] Checking activity reminders 
[2026-04-28 09:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:05:28] [INFO] Checking activity reminders 
[2026-04-28 09:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:05:50] [INFO] Checking activity reminders 
[2026-04-28 09:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:06:04] [INFO] Checking activity reminders 
[2026-04-28 09:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:06:13] [INFO] Checking activity reminders 
[2026-04-28 09:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:06:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20834","person_id":"20051"}
[2026-04-28 09:06:43] [INFO] Checking activity reminders 
[2026-04-28 09:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:07:13] [INFO] Checking activity reminders 
[2026-04-28 09:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:07:43] [INFO] Checking activity reminders 
[2026-04-28 09:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:08:13] [INFO] Checking activity reminders 
[2026-04-28 09:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:08:43] [INFO] Checking activity reminders 
[2026-04-28 09:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:09:13] [INFO] Checking activity reminders 
[2026-04-28 09:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:09:43] [INFO] Checking activity reminders 
[2026-04-28 09:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:10:24] [INFO] Checking activity reminders 
[2026-04-28 09:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:10:39] [INFO] Checking activity reminders 
[2026-04-28 09:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:10:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-28 09:11:34] [INFO] Checking activity reminders 
[2026-04-28 09:11:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:11:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:12:04] [INFO] Checking activity reminders 
[2026-04-28 09:12:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:12:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:12:34] [INFO] Checking activity reminders 
[2026-04-28 09:12:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:12:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:13:05] [INFO] Checking activity reminders 
[2026-04-28 09:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:14:35] [INFO] Checking activity reminders 
[2026-04-28 09:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:25:37] [INFO] Checking activity reminders 
[2026-04-28 09:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:26:07] [INFO] Checking activity reminders 
[2026-04-28 09:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:27:22] [INFO] Checking activity reminders 
[2026-04-28 09:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:27:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4052","person_id":"97"}
[2026-04-28 09:27:52] [INFO] Checking activity reminders 
[2026-04-28 09:27:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:27:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6969","person_id":"539"}
[2026-04-28 09:28:43] [INFO] Checking activity reminders 
[2026-04-28 09:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:29:11] [INFO] Checking activity reminders 
[2026-04-28 09:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:29:31] [INFO] Checking activity reminders 
[2026-04-28 09:29:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:29:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:29:32] [INFO] Checking activity reminders 
[2026-04-28 09:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:30:26] [INFO] Checking activity reminders 
[2026-04-28 09:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:31:06] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 09:31:07] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-28 09:31:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:31:23] [INFO] Checking activity reminders 
[2026-04-28 09:31:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:31:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:31:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-28 09:31:43] [INFO] Checking activity reminders 
[2026-04-28 09:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:32:10] [INFO] Checking activity reminders 
[2026-04-28 09:32:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:32:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:32:27] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 09:32:27] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-28 09:32:27] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-28 09:32:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:32:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 09:32:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 09:32:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 09:32:38] [INFO] Checking activity reminders 
[2026-04-28 09:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:32:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 09:32:40] [INFO] Checking activity reminders 
[2026-04-28 09:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:33:08] [INFO] Checking activity reminders 
[2026-04-28 09:33:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:33:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:33:10] [INFO] Checking activity reminders 
[2026-04-28 09:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:33:22] [INFO] Checking activity reminders 
[2026-04-28 09:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:34:34] [INFO] Checking activity reminders 
[2026-04-28 09:34:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:34:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:34:58] [INFO] Checking activity reminders 
[2026-04-28 09:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:35:13] [INFO] Checking activity reminders 
[2026-04-28 09:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:35:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-28 09:35:29] [INFO] Checking activity reminders 
[2026-04-28 09:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:35:45] [INFO] Checking activity reminders 
[2026-04-28 09:35:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:35:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:36:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 09:36:20] [INFO] Checking activity reminders 
[2026-04-28 09:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:36:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"17008","person_id":"19517"}
[2026-04-28 09:36:47] [INFO] Checking activity reminders 
[2026-04-28 09:36:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:36:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:37:22] [INFO] Checking activity reminders 
[2026-04-28 09:37:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:37:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:37:27] [INFO] Checking activity reminders 
[2026-04-28 09:37:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:37:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:37:33] [INFO] Checking activity reminders 
[2026-04-28 09:37:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:37:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:38:06] [INFO] Checking activity reminders 
[2026-04-28 09:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:38:59] [INFO] Checking activity reminders 
[2026-04-28 09:38:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:38:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:39:25] [INFO] Checking activity reminders 
[2026-04-28 09:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:39:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20696","person_id":"7940"}
[2026-04-28 09:39:51] [INFO] Checking activity reminders 
[2026-04-28 09:39:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:39:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:40:30] [INFO] Checking activity reminders 
[2026-04-28 09:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:42:47] [INFO] Checking activity reminders 
[2026-04-28 09:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:43:05] [INFO] Checking activity reminders 
[2026-04-28 09:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:43:14] [WARNING] Auth check failed - not authenticated {"session_id":"n4494orkdd6thp517dqpialkrq","session_keys":[],"action":"log_client_event"}
[2026-04-28 09:43:14] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-28 09:43:15] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:43:20] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-28 09:43:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:43:24] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:43:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 09:43:35] [INFO] Checking activity reminders 
[2026-04-28 09:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:43:58] [INFO] Checking activity reminders 
[2026-04-28 09:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:44:03] [INFO] Checking activity reminders 
[2026-04-28 09:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:44:05] [INFO] Checking activity reminders 
[2026-04-28 09:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:44:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:44:36] [INFO] Checking activity reminders 
[2026-04-28 09:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:44:39] [INFO] Checking activity reminders 
[2026-04-28 09:44:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:44:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:06] [INFO] Checking activity reminders 
[2026-04-28 09:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:09] [INFO] Checking activity reminders 
[2026-04-28 09:45:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:29] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"14846","deal_id":"local_69e08ac6cd0973.03300932","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 09:45:29","session_id":"4u6ak9d92n68o6gfi05rgoq8o3"}
[2026-04-28 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"14846","is_new_deal":false}
[2026-04-28 09:45:29] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 09:45:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 09:45:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 09:45:29] [INFO] getContactPrimaryPhone called {"contact_id":"14846"}
[2026-04-28 09:45:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:29] [INFO] getContactPrimaryPhone result {"contact_id":"14846","person_found":true,"primary_phone":"9177640180"}
[2026-04-28 09:45:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9177640180"}
[2026-04-28 09:45:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9177640180","contact_id":"14846","deal_id":"local_69e08ac6cd0973.03300932","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 09:45:29"}
[2026-04-28 09:45:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e08ac6cd0973.03300932","contact_id":"14846","existing_deal_found":true,"existing_contact_id":"14846","existing_title":"معامله دوم 9177640180 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 09:45:29"}
[2026-04-28 09:45:29] [INFO] DealController.save validated payments {"deal_id":"local_69e08ac6cd0973.03300932","contact_id":"14846","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-28 09:45:29] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14846","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 09:45:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e08ac6cd0973.03300932","contact_didar_id":"14846","title":"معامله دوم 9177640180 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9177640180","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"خالقی","existing_deal":"YES","existing_deal_id":"local_69e08ac6cd0973.03300932","existing_deal_status":"Pending","server_time":"2026-04-28 09:45:29","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-28 09:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:30] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e08ac6cd0973.03300932","contact_id":"14846","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9177640180 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-28 09:45:30","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 09:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:35] [INFO] Checking activity reminders 
[2026-04-28 09:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:36] [INFO] Checking activity reminders 
[2026-04-28 09:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:40] [INFO] Checking activity reminders 
[2026-04-28 09:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:45] [INFO] Checking activity reminders 
[2026-04-28 09:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:45:53] [INFO] Activity save request {"post_data":{"contact_id":"14846","deal_id":"local_69e08ac6cd0973.03300932","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تسویه شد کانال 49 ت زد","activity_duration":"4","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 09:45:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14846","note_was_empty":true}
[2026-04-28 09:45:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"14846","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Updating virtual stage {"contact_id":"14846","stage_name":"with_purchase","force":false}
[2026-04-28 09:45:53] [INFO] Virtual stage successfully saved {"contact_id":"14846","stage_name":"with_purchase"}
[2026-04-28 09:45:53] [INFO] Virtual stage updated after activity save {"contact_id":"14846"}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e08ac6cd0973.03300932","stage":"اتمام","status_change":"Won"}
[2026-04-28 09:45:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0509943f546.72531640","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0509943f546.72531640"}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:45:53] [INFO] Updating virtual stage {"contact_id":"14846","stage_name":"with_purchase","force":false}
[2026-04-28 09:45:53] [INFO] Virtual stage successfully saved {"contact_id":"14846","stage_name":"with_purchase"}
[2026-04-28 09:45:53] [INFO] Virtual stage updated after activity save {"contact_id":"14846"}
[2026-04-28 09:45:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 09:46:06] [INFO] Checking activity reminders 
[2026-04-28 09:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:46:15] [INFO] Checking activity reminders 
[2026-04-28 09:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:46:27] [INFO] Checking activity reminders 
[2026-04-28 09:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:46:36] [INFO] Checking activity reminders 
[2026-04-28 09:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:46:51] [INFO] Checking activity reminders 
[2026-04-28 09:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:47:06] [INFO] Checking activity reminders 
[2026-04-28 09:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:47:22] [INFO] Checking activity reminders 
[2026-04-28 09:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:47:36] [INFO] Checking activity reminders 
[2026-04-28 09:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:48:03] [INFO] Checking activity reminders 
[2026-04-28 09:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:48:06] [INFO] Checking activity reminders 
[2026-04-28 09:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:48:44] [INFO] Checking activity reminders 
[2026-04-28 09:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:49:14] [INFO] Checking activity reminders 
[2026-04-28 09:49:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:49:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:49:44] [INFO] Checking activity reminders 
[2026-04-28 09:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:50:14] [INFO] Checking activity reminders 
[2026-04-28 09:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:50:44] [INFO] Checking activity reminders 
[2026-04-28 09:50:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:50:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:51:14] [INFO] Checking activity reminders 
[2026-04-28 09:51:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:51:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:51:44] [INFO] Checking activity reminders 
[2026-04-28 09:51:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:51:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:52:14] [INFO] Checking activity reminders 
[2026-04-28 09:52:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:52:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:52:45] [INFO] Checking activity reminders 
[2026-04-28 09:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:53:15] [INFO] Checking activity reminders 
[2026-04-28 09:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:53:20] [INFO] Checking activity reminders 
[2026-04-28 09:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:53:45] [INFO] Checking activity reminders 
[2026-04-28 09:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:54:15] [INFO] Checking activity reminders 
[2026-04-28 09:54:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:54:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:54:45] [INFO] Checking activity reminders 
[2026-04-28 09:54:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:54:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:55:15] [INFO] Checking activity reminders 
[2026-04-28 09:55:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:55:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:55:45] [INFO] Checking activity reminders 
[2026-04-28 09:55:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:55:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:57:40] [INFO] Checking activity reminders 
[2026-04-28 09:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:58:10] [INFO] Checking activity reminders 
[2026-04-28 09:58:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:58:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:58:40] [INFO] Checking activity reminders 
[2026-04-28 09:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:59:10] [INFO] Checking activity reminders 
[2026-04-28 09:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 09:59:40] [INFO] Checking activity reminders 
[2026-04-28 09:59:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 09:59:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:00:10] [INFO] Checking activity reminders 
[2026-04-28 10:00:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:00:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:00:40] [INFO] Checking activity reminders 
[2026-04-28 10:00:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:00:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:01:10] [INFO] Checking activity reminders 
[2026-04-28 10:01:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:01:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:01:35] [INFO] Checking activity reminders 
[2026-04-28 10:01:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:01:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:01:41] [INFO] Checking activity reminders 
[2026-04-28 10:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:01:54] [INFO] Checking activity reminders 
[2026-04-28 10:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:01:59] [INFO] Checking activity reminders 
[2026-04-28 10:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:02:07] [INFO] Checking activity reminders 
[2026-04-28 10:02:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:02:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:02:11] [INFO] Checking activity reminders 
[2026-04-28 10:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:02:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2376","person_id":"15864"}
[2026-04-28 10:02:37] [INFO] Checking activity reminders 
[2026-04-28 10:02:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:02:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:02:41] [INFO] Checking activity reminders 
[2026-04-28 10:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:03:07] [INFO] Checking activity reminders 
[2026-04-28 10:03:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:03:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:03:11] [INFO] Checking activity reminders 
[2026-04-28 10:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:03:19] [INFO] Checking activity reminders 
[2026-04-28 10:03:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:03:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:03:41] [INFO] Checking activity reminders 
[2026-04-28 10:03:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:03:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:04:11] [INFO] Checking activity reminders 
[2026-04-28 10:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:04:41] [INFO] Checking activity reminders 
[2026-04-28 10:04:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:04:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:05:11] [INFO] Checking activity reminders 
[2026-04-28 10:05:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:05:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:05:31] [INFO] Checking activity reminders 
[2026-04-28 10:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:05:39] [INFO] Checking activity reminders 
[2026-04-28 10:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:05:41] [INFO] Checking activity reminders 
[2026-04-28 10:05:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:05:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:05:50] [INFO] Checking activity reminders 
[2026-04-28 10:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:06:08] [INFO] Checking activity reminders 
[2026-04-28 10:06:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:06:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:06:11] [INFO] Checking activity reminders 
[2026-04-28 10:06:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:06:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:06:14] [INFO] Checking activity reminders 
[2026-04-28 10:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:06:42] [INFO] Checking activity reminders 
[2026-04-28 10:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:06:57] [INFO] Checking activity reminders 
[2026-04-28 10:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:07:05] [INFO] Checking activity reminders 
[2026-04-28 10:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:07:08] [INFO] Checking activity reminders 
[2026-04-28 10:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:07:12] [INFO] Checking activity reminders 
[2026-04-28 10:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:07:42] [INFO] Checking activity reminders 
[2026-04-28 10:07:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:07:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:08:12] [INFO] Checking activity reminders 
[2026-04-28 10:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:08:42] [INFO] Checking activity reminders 
[2026-04-28 10:08:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:08:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:09:13] [INFO] Checking activity reminders 
[2026-04-28 10:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:09:43] [INFO] Checking activity reminders 
[2026-04-28 10:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:10:13] [INFO] Checking activity reminders 
[2026-04-28 10:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:10:43] [INFO] Checking activity reminders 
[2026-04-28 10:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:11:13] [INFO] Checking activity reminders 
[2026-04-28 10:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:11:31] [INFO] Checking activity reminders 
[2026-04-28 10:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:11:43] [INFO] Checking activity reminders 
[2026-04-28 10:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:11:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-28 10:12:14] [INFO] Checking activity reminders 
[2026-04-28 10:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:12:44] [INFO] Checking activity reminders 
[2026-04-28 10:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:13:14] [INFO] Checking activity reminders 
[2026-04-28 10:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:13:44] [INFO] Checking activity reminders 
[2026-04-28 10:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:13:54] [INFO] Checking activity reminders 
[2026-04-28 10:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:14:14] [INFO] Checking activity reminders 
[2026-04-28 10:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:14:44] [INFO] Checking activity reminders 
[2026-04-28 10:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:15:09] [INFO] Checking activity reminders 
[2026-04-28 10:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:15:14] [INFO] Checking activity reminders 
[2026-04-28 10:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:15:39] [INFO] Checking activity reminders 
[2026-04-28 10:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:15:44] [INFO] Checking activity reminders 
[2026-04-28 10:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:09] [INFO] Checking activity reminders 
[2026-04-28 10:16:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:14] [INFO] Checking activity reminders 
[2026-04-28 10:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:39] [INFO] Checking activity reminders 
[2026-04-28 10:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:45] [INFO] Checking activity reminders 
[2026-04-28 10:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:47] [INFO] Checking activity reminders 
[2026-04-28 10:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:52] [INFO] Checking activity reminders 
[2026-04-28 10:16:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:16:59] [INFO] Checking activity reminders 
[2026-04-28 10:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:17:15] [INFO] Checking activity reminders 
[2026-04-28 10:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:17:45] [INFO] Checking activity reminders 
[2026-04-28 10:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:18:15] [INFO] Checking activity reminders 
[2026-04-28 10:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:18:45] [INFO] Checking activity reminders 
[2026-04-28 10:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:19:15] [INFO] Checking activity reminders 
[2026-04-28 10:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:19:45] [INFO] Checking activity reminders 
[2026-04-28 10:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:01] [INFO] Checking activity reminders 
[2026-04-28 10:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:12] [INFO] Checking activity reminders 
[2026-04-28 10:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:15] [INFO] Checking activity reminders 
[2026-04-28 10:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:21] [INFO] Checking activity reminders 
[2026-04-28 10:20:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:35] [INFO] Checking activity reminders 
[2026-04-28 10:20:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:45] [INFO] Checking activity reminders 
[2026-04-28 10:20:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:55] [INFO] Checking activity reminders 
[2026-04-28 10:20:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:20:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:20:57] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 10:20:57] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 10:20:57] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 10:20:57] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 10:21:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6987216f11c7a4.76220645","person_id":"21576"}
[2026-04-28 10:21:15] [INFO] Checking activity reminders 
[2026-04-28 10:21:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:21:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:21:24] [INFO] Checking activity reminders 
[2026-04-28 10:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:21:34] [INFO] Checking activity reminders 
[2026-04-28 10:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:21:45] [INFO] Checking activity reminders 
[2026-04-28 10:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:22:04] [INFO] Checking activity reminders 
[2026-04-28 10:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:22:15] [INFO] Checking activity reminders 
[2026-04-28 10:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:22:34] [INFO] Checking activity reminders 
[2026-04-28 10:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:22:35] [INFO] Checking activity reminders 
[2026-04-28 10:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:22:45] [INFO] Checking activity reminders 
[2026-04-28 10:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:23:01] [INFO] Checking activity reminders 
[2026-04-28 10:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:23:05] [INFO] Checking activity reminders 
[2026-04-28 10:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:23:15] [INFO] Checking activity reminders 
[2026-04-28 10:23:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:23:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:23:35] [INFO] Checking activity reminders 
[2026-04-28 10:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:23:45] [INFO] Checking activity reminders 
[2026-04-28 10:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:24:05] [INFO] Checking activity reminders 
[2026-04-28 10:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:24:16] [INFO] Checking activity reminders 
[2026-04-28 10:24:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:24:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:24:35] [INFO] Checking activity reminders 
[2026-04-28 10:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:24:46] [INFO] Checking activity reminders 
[2026-04-28 10:24:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:24:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:05] [INFO] Checking activity reminders 
[2026-04-28 10:25:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:13] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9370013450","09370013450"]}
[2026-04-28 10:25:13] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9370013450","09370013450"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 10:25:13] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9370013450","full_name":"لید جدید"}
[2026-04-28 10:25:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 10:25:13] [INFO] Notification created {"notification_id":"675","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-28 10:25:16] [INFO] Checking activity reminders 
[2026-04-28 10:25:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:22] [INFO] Checking activity reminders 
[2026-04-28 10:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 10:25:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 10:25:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 10:25:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 10:25:35] [INFO] Checking activity reminders 
[2026-04-28 10:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:41] [INFO] Checking activity reminders 
[2026-04-28 10:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:46] [INFO] Checking activity reminders 
[2026-04-28 10:25:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:25:51] [INFO] Checking activity reminders 
[2026-04-28 10:25:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:25:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:26:16] [INFO] Checking activity reminders 
[2026-04-28 10:26:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:26:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:26:21] [INFO] Checking activity reminders 
[2026-04-28 10:26:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:26:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:26:23] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9380621061","09380621061"]}
[2026-04-28 10:26:23] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9380621061","09380621061"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 10:26:23] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9380621061","full_name":"لید جدید"}
[2026-04-28 10:26:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 10:26:23] [INFO] Notification created {"notification_id":"676","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-28 10:26:46] [INFO] Checking activity reminders 
[2026-04-28 10:26:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:26:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:27:16] [INFO] Checking activity reminders 
[2026-04-28 10:27:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:27:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:27:46] [INFO] Checking activity reminders 
[2026-04-28 10:27:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:27:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:28:16] [INFO] Checking activity reminders 
[2026-04-28 10:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"check_reminders"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"get_products"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"get_leads"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:42] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:46] [INFO] Checking activity reminders 
[2026-04-28 10:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:28:50] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:54] [WARNING] Auth check failed - not authenticated {"session_id":"4u6ak9d92n68o6gfi05rgoq8o3","session_keys":[],"action":"log_client_event"}
[2026-04-28 10:28:55] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-28 10:28:55] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 10:29:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 10:29:16] [INFO] Checking activity reminders 
[2026-04-28 10:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:29:25] [INFO] Checking activity reminders 
[2026-04-28 10:29:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:29:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:29:46] [INFO] Checking activity reminders 
[2026-04-28 10:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:29:55] [INFO] Checking activity reminders 
[2026-04-28 10:29:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:29:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:30:02] [INFO] Checking activity reminders 
[2026-04-28 10:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:30:25] [INFO] Checking activity reminders 
[2026-04-28 10:30:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:30:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:30:32] [INFO] Checking activity reminders 
[2026-04-28 10:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:30:56] [INFO] Checking activity reminders 
[2026-04-28 10:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:31:03] [INFO] Checking activity reminders 
[2026-04-28 10:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:31:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"14836","deal_id":"local_69db486174de29.26466843","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 10:31:10","session_id":"4u6ak9d92n68o6gfi05rgoq8o3"}
[2026-04-28 10:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 10:31:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"14836","is_new_deal":false}
[2026-04-28 10:31:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 10:31:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 10:31:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 10:31:10] [INFO] getContactPrimaryPhone called {"contact_id":"14836"}
[2026-04-28 10:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 10:31:10] [INFO] getContactPrimaryPhone result {"contact_id":"14836","person_found":true,"primary_phone":"9175031106"}
[2026-04-28 10:31:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9175031106"}
[2026-04-28 10:31:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9175031106","contact_id":"14836","deal_id":"local_69db486174de29.26466843","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 10:31:10"}
[2026-04-28 10:31:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_69db486174de29.26466843","contact_id":"14836","existing_deal_found":true,"existing_contact_id":"14836","existing_title":"معامله دوم 9175031106 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 10:31:10"}
[2026-04-28 10:31:10] [INFO] DealController.save validated payments {"deal_id":"local_69db486174de29.26466843","contact_id":"14836","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 10:31:10] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14836","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 10:31:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69db486174de29.26466843","contact_didar_id":"14836","title":"معامله دوم 9175031106 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9175031106","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":30000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"دهقانیان دهقانیان","existing_deal":"YES","existing_deal_id":"local_69db486174de29.26466843","existing_deal_status":"Pending","server_time":"2026-04-28 10:31:10","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-28 10:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 10:31:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69db486174de29.26466843","contact_id":"14836","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9175031106 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":30000000,"server_time":"2026-04-28 10:31:10","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:31:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 10:31:26] [INFO] Checking activity reminders 
[2026-04-28 10:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:31:48] [INFO] Checking activity reminders 
[2026-04-28 10:31:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:31:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:31:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:31:56] [INFO] Checking activity reminders 
[2026-04-28 10:31:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:31:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:32:18] [INFO] Checking activity reminders 
[2026-04-28 10:32:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:32:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:32:26] [INFO] Checking activity reminders 
[2026-04-28 10:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:32:48] [INFO] Checking activity reminders 
[2026-04-28 10:32:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:32:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:32:56] [INFO] Checking activity reminders 
[2026-04-28 10:32:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:32:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:33:19] [INFO] Checking activity reminders 
[2026-04-28 10:33:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:33:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:33:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:33:26] [INFO] Checking activity reminders 
[2026-04-28 10:33:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:33:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:33:49] [INFO] Checking activity reminders 
[2026-04-28 10:33:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:33:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:33:56] [INFO] Checking activity reminders 
[2026-04-28 10:33:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:33:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:34:14] [INFO] Checking activity reminders 
[2026-04-28 10:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:34:19] [INFO] Checking activity reminders 
[2026-04-28 10:34:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:34:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:34:26] [INFO] Checking activity reminders 
[2026-04-28 10:34:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:34:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:34:49] [INFO] Checking activity reminders 
[2026-04-28 10:34:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:34:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:34:56] [INFO] Checking activity reminders 
[2026-04-28 10:34:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:34:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:00] [INFO] Checking activity reminders 
[2026-04-28 10:35:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:35:19] [INFO] Checking activity reminders 
[2026-04-28 10:35:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:28] [INFO] Checking activity reminders 
[2026-04-28 10:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:30] [INFO] Checking activity reminders 
[2026-04-28 10:35:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:49] [INFO] Checking activity reminders 
[2026-04-28 10:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:35:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 10:35:51","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 10:35:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:35:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-28 10:35:51] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:35:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:35:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:35:51] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-28 10:35:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:35:51] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-28 10:35:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-28 10:35:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 10:35:51"}
[2026-04-28 10:35:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 10:35:51"}
[2026-04-28 10:35:51] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 10:35:51] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 10:35:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":2000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسن شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Won","server_time":"2026-04-28 10:35:51","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 10:35:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:35:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":2000000,"server_time":"2026-04-28 10:35:51","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:35:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:35:58] [INFO] Checking activity reminders 
[2026-04-28 10:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:36:00] [INFO] Checking activity reminders 
[2026-04-28 10:36:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:36:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:36:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 10:36:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:36:28] [INFO] Checking activity reminders 
[2026-04-28 10:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:36:30] [INFO] Checking activity reminders 
[2026-04-28 10:36:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:36:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:36:48] [INFO] Checking activity reminders 
[2026-04-28 10:36:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:36:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:36:58] [INFO] Checking activity reminders 
[2026-04-28 10:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:37:01] [INFO] Checking activity reminders 
[2026-04-28 10:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:37:06] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 10:37:06","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 10:37:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:06] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-28 10:37:06] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:06] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:06] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:06] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-28 10:37:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:06] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-28 10:37:06] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-28 10:37:06] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 10:37:06"}
[2026-04-28 10:37:06] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 10:37:06"}
[2026-04-28 10:37:06] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-28 10:37:06] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 10:37:06] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسن شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Pending","server_time":"2026-04-28 10:37:06","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 10:37:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:06] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-28 10:37:06","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:37:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 10:37:15","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69eccf0a538113.18112028","is_new_deal":false}
[2026-04-28 10:37:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:37:15] [INFO] getContactPrimaryPhone called {"contact_id":"local_69eccf0a538113.18112028"}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [INFO] getContactPrimaryPhone result {"contact_id":"local_69eccf0a538113.18112028","person_found":true,"primary_phone":"9194797939"}
[2026-04-28 10:37:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9194797939"}
[2026-04-28 10:37:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9194797939","contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 10:37:15"}
[2026-04-28 10:37:15] [INFO] DealController.save existing deal lookup {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","existing_deal_found":true,"existing_contact_id":"local_69eccf0a538113.18112028","existing_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 10:37:15"}
[2026-04-28 10:37:15] [INFO] DealController.save validated payments {"deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-28 10:37:15] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69eccf0a538113.18112028","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 10:37:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69eccf0a54ce6","contact_didar_id":"local_69eccf0a538113.18112028","title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9194797939","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسن شیبانی","existing_deal":"YES","existing_deal_id":"local_69eccf0a54ce6","existing_deal_status":"Pending","server_time":"2026-04-28 10:37:15","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [INFO] Deal success processed {"contact_id":"local_69eccf0a538113.18112028","person_name":"محمدحسن شیبانی","products_count":1}
[2026-04-28 10:37:15] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69eccf0a54ce6","contact_id":"local_69eccf0a538113.18112028","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9194797939 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-28 10:37:15","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:15] [INFO] Updating virtual stage {"contact_id":"local_69eccf0a538113.18112028","stage_name":"with_purchase","force":true}
[2026-04-28 10:37:15] [INFO] Virtual stage successfully saved {"contact_id":"local_69eccf0a538113.18112028","stage_name":"with_purchase"}
[2026-04-28 10:37:15] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69eccf0a538113.18112028","deal_id":"local_69eccf0a54ce6","target_stage":"with_purchase"}
[2026-04-28 10:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-28 10:37:18] [INFO] Checking activity reminders 
[2026-04-28 10:37:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:37:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:37:29] [INFO] Checking activity reminders 
[2026-04-28 10:37:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:37:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:37:31] [INFO] Checking activity reminders 
[2026-04-28 10:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:37:59] [INFO] Checking activity reminders 
[2026-04-28 10:37:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:37:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:38:01] [INFO] Checking activity reminders 
[2026-04-28 10:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:38:31] [INFO] Checking activity reminders 
[2026-04-28 10:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:38:43] [INFO] Checking activity reminders 
[2026-04-28 10:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:39:02] [INFO] Checking activity reminders 
[2026-04-28 10:39:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:39:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:39:13] [INFO] Checking activity reminders 
[2026-04-28 10:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:39:30] [INFO] Checking activity reminders 
[2026-04-28 10:39:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:39:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:39:43] [INFO] Checking activity reminders 
[2026-04-28 10:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:00] [INFO] Checking activity reminders 
[2026-04-28 10:40:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:09] [INFO] Checking activity reminders 
[2026-04-28 10:40:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:11] [INFO] Checking activity reminders 
[2026-04-28 10:40:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:13] [INFO] Checking activity reminders 
[2026-04-28 10:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:14] [INFO] Checking activity reminders 
[2026-04-28 10:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:16] [INFO] Checking activity reminders 
[2026-04-28 10:40:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:44] [INFO] Checking activity reminders 
[2026-04-28 10:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:40:46] [INFO] Checking activity reminders 
[2026-04-28 10:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:41:14] [INFO] Checking activity reminders 
[2026-04-28 10:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:41:16] [INFO] Checking activity reminders 
[2026-04-28 10:41:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:41:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:41:44] [INFO] Checking activity reminders 
[2026-04-28 10:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:42:14] [INFO] Checking activity reminders 
[2026-04-28 10:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:42:44] [INFO] Checking activity reminders 
[2026-04-28 10:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:43:10] [INFO] Checking activity reminders 
[2026-04-28 10:43:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:43:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:43:14] [INFO] Checking activity reminders 
[2026-04-28 10:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:43:40] [INFO] Checking activity reminders 
[2026-04-28 10:43:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:43:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:43:44] [INFO] Checking activity reminders 
[2026-04-28 10:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:44:10] [INFO] Checking activity reminders 
[2026-04-28 10:44:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:44:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:44:14] [INFO] Checking activity reminders 
[2026-04-28 10:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:44:40] [INFO] Checking activity reminders 
[2026-04-28 10:44:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:44:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:44:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:44:44] [INFO] Checking activity reminders 
[2026-04-28 10:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:10] [INFO] Checking activity reminders 
[2026-04-28 10:45:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:14] [INFO] Checking activity reminders 
[2026-04-28 10:45:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:35] [INFO] Checking activity reminders 
[2026-04-28 10:45:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:40] [INFO] Checking activity reminders 
[2026-04-28 10:45:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:44] [INFO] Checking activity reminders 
[2026-04-28 10:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:45:44] [INFO] Checking activity reminders 
[2026-04-28 10:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:10] [INFO] Checking activity reminders 
[2026-04-28 10:46:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:14] [INFO] Checking activity reminders 
[2026-04-28 10:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:14] [INFO] Checking activity reminders 
[2026-04-28 10:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:41] [INFO] Checking activity reminders 
[2026-04-28 10:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:44] [INFO] Checking activity reminders 
[2026-04-28 10:46:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:46:45] [INFO] Checking activity reminders 
[2026-04-28 10:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:11] [INFO] Checking activity reminders 
[2026-04-28 10:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:15] [INFO] Checking activity reminders 
[2026-04-28 10:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:15] [INFO] Checking activity reminders 
[2026-04-28 10:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:41] [INFO] Checking activity reminders 
[2026-04-28 10:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:45] [INFO] Checking activity reminders 
[2026-04-28 10:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:47:45] [INFO] Checking activity reminders 
[2026-04-28 10:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9050998403","09050998403"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9050998403","full_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Notification created {"notification_id":"677","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:08] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:08] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:08] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:08] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:09] [DEBUG] findByPhone: Found person {"phones":["9050998403"],"found_id":"22417","found_didar_id":"local_69f05f302b0663.34382018","found_name":"لید جدید"}
[2026-04-28 10:48:09] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9050998403","found_didar_id":"local_69f05f302b0663.34382018","found_local_id":"22417","found_name":"لید جدید"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9050998403","09050998403"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:48:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 10:48:09] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9050998403","existing_contact_id":"local_69f05f302b0663.34382018","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9050998403"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9050998403","09050998403"]}
[2026-04-28 10:48:09] [INFO] Duplicate lead response prepared using local ID {"local_id":"22417","didar_id":"local_69f05f302b0663.34382018"}
[2026-04-28 10:48:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 10:48:10] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 10:48:10] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 10:48:10] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 10:48:11] [INFO] Checking activity reminders 
[2026-04-28 10:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:15] [INFO] Checking activity reminders 
[2026-04-28 10:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:15] [INFO] Activity save request {"post_data":{"contact_id":"local_69ef7f9b09e647.38958294","deal_id":"local_69ef7f9b0b3be","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 10:48:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69ef7f9b09e647.38958294","note_was_empty":true}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:15] [INFO] Updating virtual stage {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"new","force":false}
[2026-04-28 10:48:15] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"new"}
[2026-04-28 10:48:15] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-28 10:48:15] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef7f9b0b3be","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 10:48:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f05f37428a20.90288382","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69f05f37428a20.90288382"}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:15] [INFO] Updating virtual stage {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered","force":false}
[2026-04-28 10:48:15] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered"}
[2026-04-28 10:48:15] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-28 10:48:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 10:48:23] [INFO] Checking activity reminders 
[2026-04-28 10:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 10:48:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 10:48:41] [INFO] Checking activity reminders 
[2026-04-28 10:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:45] [INFO] Checking activity reminders 
[2026-04-28 10:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:48:54] [INFO] Checking activity reminders 
[2026-04-28 10:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:07] [INFO] Checking activity reminders 
[2026-04-28 10:49:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:11] [INFO] Checking activity reminders 
[2026-04-28 10:49:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:15] [INFO] Checking activity reminders 
[2026-04-28 10:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:22] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9185910552","09185910552"]}
[2026-04-28 10:49:22] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9185910552","09185910552"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 10:49:22] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9185910552","full_name":"لید جدید"}
[2026-04-28 10:49:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 10:49:22] [INFO] Notification created {"notification_id":"678","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-28 10:49:30] [INFO] Checking activity reminders 
[2026-04-28 10:49:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:41] [INFO] Checking activity reminders 
[2026-04-28 10:49:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:45] [INFO] Checking activity reminders 
[2026-04-28 10:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:49:51] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9159652853","09159652853"]}
[2026-04-28 10:49:51] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9159652853","09159652853"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 10:49:51] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9159652853","full_name":"لید جدید"}
[2026-04-28 10:49:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:51] [INFO] Notification created {"notification_id":"679","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-28 10:49:51] [DEBUG] findByPhone: Found person {"phones":["9159652853"],"found_id":"22419","found_didar_id":"local_69f05f97a7eb16.36137040","found_name":"لید جدید"}
[2026-04-28 10:49:51] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9159652853","found_didar_id":"local_69f05f97a7eb16.36137040","found_local_id":"22419","found_name":"لید جدید"}
[2026-04-28 10:49:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:51] [INFO] Pre-flight duplicate check {"has_person":true,"matches_count":1,"phones_checked":["9159652853","09159652853"]}
[2026-04-28 10:49:51] [INFO] Duplicate phone number found - BLOCKING contact creation {"has_person":true,"matches_count":1,"phones_checked":["9159652853","09159652853"],"action":"BLOCKING_NEW_CONTACT_CREATION"}
[2026-04-28 10:49:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:51] [WARNING] Contact creation blocked due to duplicate phone {"blocked_phone":"9159652853","existing_contact_id":"local_69f05f97a7eb16.36137040","existing_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","existing_owner_name":"خانم شکیبا","all_matched_phones":["9159652853"],"user_attempting_creation":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","reason":"PREVENTING_DATA_FRAGMENTATION","phones_checked":["9159652853","09159652853"]}
[2026-04-28 10:49:51] [INFO] Duplicate lead response prepared using local ID {"local_id":"22419","didar_id":"local_69f05f97a7eb16.36137040"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [INFO] generateDealTitle result {"contact_id":"local_69f05f97a7eb16.36137040","person_name":"لید جدید","mobile":"9159652853","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9159652853"}
[2026-04-28 10:49:58] [INFO] DealController.save start {"is_new":true,"incoming_title":"معامله دوم 9159652853","contact_id":"local_69f05f97a7eb16.36137040","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["contact_id","title","pipeline_stage","deal_status"],"server_time":"2026-04-28 10:49:58","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"معامله دوم 9159652853","contact_id":"local_69f05f97a7eb16.36137040","is_new_deal":true}
[2026-04-28 10:49:58] [INFO] extractPhoneFromDealTitle called {"input_title":"معامله دوم 9159652853"}
[2026-04-28 10:49:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"معامله دوم 9159652853"}
[2026-04-28 10:49:58] [INFO] extractPhoneFromDealTitle found match {"matched_phone":"9159652853","pattern":"معامله_ordinal_phone"}
[2026-04-28 10:49:58] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f05f97a7eb16.36137040","person_found":true,"primary_phone":"9159652853"}
[2026-04-28 10:49:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"9159652853","contact_primary_phone":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison called {"input_phone":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison cleaned {"original":"9159652853","cleaned":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison valid 10-digit mobile {"final":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison called {"input_phone":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison cleaned {"original":"9159652853","cleaned":"9159652853"}
[2026-04-28 10:49:58] [INFO] normalizePhoneForComparison valid 10-digit mobile {"final":"9159652853"}
[2026-04-28 10:49:58] [INFO] DEAL_PHONE_VALIDATION_NORMALIZED {"normalized_deal_phone":"9159652853","normalized_contact_phone":"9159652853","phones_match":true}
[2026-04-28 10:49:58] [INFO] DEAL_PHONE_VALIDATION_PASSED {"deal_title":"معامله دوم 9159652853","deal_phone":"9159652853","contact_phone":"9159652853","contact_id":"local_69f05f97a7eb16.36137040","validation":"PASSED"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [INFO] generateDealTitle result {"contact_id":"local_69f05f97a7eb16.36137040","person_name":"لید جدید","mobile":"9159652853","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9159652853"}
[2026-04-28 10:49:58] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"local_69f05f97a7eb16.36137040","payments_count":0,"status":"Pending","pipeline_stage":"معامله جدید"}
[2026-04-28 10:49:58] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69f05f97a7eb16.36137040","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 10:49:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"local_69f05f97a7eb16.36137040","title":"معامله دوم 9159652853","base_title_used":"معامله دوم 9159652853","services_text":"","requested_services_count":0,"pipeline_stage":"معامله جدید","status":"Pending","payable_amount":null,"payment_amount":0,"payments_present":false,"requested_services":[],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"لید جدید","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-28 10:49:58","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-28 10:49:58] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"local_69f05f97a7eb16.36137040","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9159652853","deal_status":"Pending","pipeline_stage":"معامله جدید","payable_amount":null,"payment_amount":0,"server_time":"2026-04-28 10:49:58","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:49:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 10:50:01] [INFO] Checking activity reminders 
[2026-04-28 10:50:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:50:11] [INFO] Checking activity reminders 
[2026-04-28 10:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:50:13] [INFO] Checking activity reminders 
[2026-04-28 10:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:50:15] [INFO] Checking activity reminders 
[2026-04-28 10:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:50:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 10:50:41] [INFO] Checking activity reminders 
[2026-04-28 10:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:50:45] [INFO] Checking activity reminders 
[2026-04-28 10:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:51:11] [INFO] Checking activity reminders 
[2026-04-28 10:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:51:15] [INFO] Checking activity reminders 
[2026-04-28 10:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:51:41] [INFO] Checking activity reminders 
[2026-04-28 10:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:51:45] [INFO] Checking activity reminders 
[2026-04-28 10:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:52:11] [INFO] Checking activity reminders 
[2026-04-28 10:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:52:15] [INFO] Checking activity reminders 
[2026-04-28 10:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:52:42] [INFO] Checking activity reminders 
[2026-04-28 10:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:52:45] [INFO] Checking activity reminders 
[2026-04-28 10:52:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:52:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:53:12] [INFO] Checking activity reminders 
[2026-04-28 10:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:53:15] [INFO] Checking activity reminders 
[2026-04-28 10:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:53:42] [INFO] Checking activity reminders 
[2026-04-28 10:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:53:45] [INFO] Checking activity reminders 
[2026-04-28 10:53:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:53:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:12] [INFO] Checking activity reminders 
[2026-04-28 10:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:16] [INFO] Checking activity reminders 
[2026-04-28 10:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:19] [INFO] Checking activity reminders 
[2026-04-28 10:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:54:42] [INFO] Checking activity reminders 
[2026-04-28 10:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:46] [INFO] Checking activity reminders 
[2026-04-28 10:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:49] [INFO] Checking activity reminders 
[2026-04-28 10:54:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:54:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:54:51] [INFO] Lead update received {"contact_id":"9020","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 10:54:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:54:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:54:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:54:51] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9020"}
[2026-04-28 10:54:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:01] [INFO] Checking activity reminders 
[2026-04-28 10:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:55:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:02] [INFO] generateDealTitle result {"contact_id":"9020","person_name":"لید شایسته بوده","mobile":"9120864521","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9120864521"}
[2026-04-28 10:55:12] [INFO] Checking activity reminders 
[2026-04-28 10:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:55:16] [INFO] Checking activity reminders 
[2026-04-28 10:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:55:27] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 10:55:27","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 10:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:27] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","is_new_deal":true}
[2026-04-28 10:55:27] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:55:27] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:55:27] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 10:55:27] [INFO] getContactPrimaryPhone called {"contact_id":"9020"}
[2026-04-28 10:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:27] [INFO] getContactPrimaryPhone result {"contact_id":"9020","person_found":true,"primary_phone":"9120864521"}
[2026-04-28 10:55:27] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120864521"}
[2026-04-28 10:55:27] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120864521","contact_id":"9020","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 10:55:27"}
[2026-04-28 10:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:27] [INFO] generateDealTitle result {"contact_id":"9020","person_name":"لید شایسته بوده","mobile":"9120864521","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9120864521"}
[2026-04-28 10:55:27] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"9020","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-28 10:55:27] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9020","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 10:55:27] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"9020","title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9120864521","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"لید شایسته بوده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-28 10:55:27","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 10:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:27] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-28 10:55:27] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"9020","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 10:55:27","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 10:55:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 10:55:31] [INFO] Checking activity reminders 
[2026-04-28 10:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:55:42] [INFO] Checking activity reminders 
[2026-04-28 10:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:55:46] [INFO] Checking activity reminders 
[2026-04-28 10:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:01] [INFO] Checking activity reminders 
[2026-04-28 10:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:12] [INFO] Checking activity reminders 
[2026-04-28 10:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 10:56:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 10:56:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 10:56:16] [INFO] Checking activity reminders 
[2026-04-28 10:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:36] [INFO] Checking activity reminders 
[2026-04-28 10:56:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:42] [INFO] Checking activity reminders 
[2026-04-28 10:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:56:46] [INFO] Checking activity reminders 
[2026-04-28 10:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:57:06] [INFO] Checking activity reminders 
[2026-04-28 10:57:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:57:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:57:12] [INFO] Checking activity reminders 
[2026-04-28 10:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:57:16] [INFO] Checking activity reminders 
[2026-04-28 10:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:57:42] [INFO] Checking activity reminders 
[2026-04-28 10:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:57:46] [INFO] Checking activity reminders 
[2026-04-28 10:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:58:12] [INFO] Checking activity reminders 
[2026-04-28 10:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:58:16] [INFO] Checking activity reminders 
[2026-04-28 10:58:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:58:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:58:43] [INFO] Checking activity reminders 
[2026-04-28 10:58:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:58:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:58:46] [INFO] Checking activity reminders 
[2026-04-28 10:58:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:58:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:59:13] [INFO] Checking activity reminders 
[2026-04-28 10:59:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:59:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:59:16] [INFO] Checking activity reminders 
[2026-04-28 10:59:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:59:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:59:43] [INFO] Checking activity reminders 
[2026-04-28 10:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 10:59:46] [INFO] Checking activity reminders 
[2026-04-28 10:59:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 10:59:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:00:13] [INFO] Checking activity reminders 
[2026-04-28 11:00:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:00:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:00:16] [INFO] Checking activity reminders 
[2026-04-28 11:00:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:00:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:00:43] [INFO] Checking activity reminders 
[2026-04-28 11:00:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:00:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:00:47] [INFO] Checking activity reminders 
[2026-04-28 11:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:01:13] [INFO] Checking activity reminders 
[2026-04-28 11:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:01:16] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:01:16] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:01:16] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:01:17] [INFO] Checking activity reminders 
[2026-04-28 11:01:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:01:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:01:43] [INFO] Checking activity reminders 
[2026-04-28 11:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:01:47] [INFO] Checking activity reminders 
[2026-04-28 11:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:02:13] [INFO] Checking activity reminders 
[2026-04-28 11:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:02:44] [INFO] Checking activity reminders 
[2026-04-28 11:02:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:02:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:03:04] [INFO] Checking activity reminders 
[2026-04-28 11:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:03:14] [INFO] Checking activity reminders 
[2026-04-28 11:03:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:03:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:03:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 11:03:34] [INFO] Checking activity reminders 
[2026-04-28 11:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:03:44] [INFO] Checking activity reminders 
[2026-04-28 11:03:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:03:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:04:04] [INFO] Checking activity reminders 
[2026-04-28 11:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:04:14] [INFO] Checking activity reminders 
[2026-04-28 11:04:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:04:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:04:38] [INFO] Checking activity reminders 
[2026-04-28 11:04:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:04:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:04:44] [INFO] Checking activity reminders 
[2026-04-28 11:04:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:04:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:05:08] [INFO] Checking activity reminders 
[2026-04-28 11:05:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:05:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:05:14] [INFO] Checking activity reminders 
[2026-04-28 11:05:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:05:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:05:41] [INFO] Checking activity reminders 
[2026-04-28 11:05:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:05:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:05:44] [INFO] Checking activity reminders 
[2026-04-28 11:05:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:05:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:06:11] [INFO] Checking activity reminders 
[2026-04-28 11:06:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:06:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:06:14] [INFO] Checking activity reminders 
[2026-04-28 11:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:06:41] [INFO] Checking activity reminders 
[2026-04-28 11:06:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:06:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:06:44] [INFO] Checking activity reminders 
[2026-04-28 11:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:06:54] [INFO] Lead update received {"contact_id":"local_69f05a17c0cf19.19972929","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 11:06:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:06:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:06:54] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f05a17c0cf19.19972929"}
[2026-04-28 11:06:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:06:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:07:11] [INFO] Checking activity reminders 
[2026-04-28 11:07:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:07:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:07:14] [INFO] Checking activity reminders 
[2026-04-28 11:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:07:41] [INFO] Checking activity reminders 
[2026-04-28 11:07:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:07:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:07:44] [INFO] Checking activity reminders 
[2026-04-28 11:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:08:12] [INFO] Checking activity reminders 
[2026-04-28 11:08:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:08:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:08:14] [INFO] Checking activity reminders 
[2026-04-28 11:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:08:42] [INFO] Checking activity reminders 
[2026-04-28 11:08:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:08:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:08:44] [INFO] Checking activity reminders 
[2026-04-28 11:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:08:50] [INFO] Checking activity reminders 
[2026-04-28 11:08:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:08:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:07] [INFO] Checking activity reminders 
[2026-04-28 11:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:09:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:09:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:09:12] [INFO] Checking activity reminders 
[2026-04-28 11:09:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:20] [INFO] Checking activity reminders 
[2026-04-28 11:09:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:09:42] [INFO] Checking activity reminders 
[2026-04-28 11:09:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:42] [INFO] Checking activity reminders 
[2026-04-28 11:09:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:50] [INFO] Checking activity reminders 
[2026-04-28 11:09:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:09:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:09:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-28 11:10:12] [INFO] Checking activity reminders 
[2026-04-28 11:10:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:10:13] [INFO] Checking activity reminders 
[2026-04-28 11:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:10:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5560","person_id":"13984"}
[2026-04-28 11:10:20] [INFO] Checking activity reminders 
[2026-04-28 11:10:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:10:42] [INFO] Checking activity reminders 
[2026-04-28 11:10:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:10:43] [INFO] Checking activity reminders 
[2026-04-28 11:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:10:45] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 11:10:45","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 11:10:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:10:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:10:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20836","is_new_deal":false}
[2026-04-28 11:10:45] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 11:10:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:10:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:10:45] [INFO] getContactPrimaryPhone called {"contact_id":"20836"}
[2026-04-28 11:10:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:10:45] [INFO] getContactPrimaryPhone result {"contact_id":"20836","person_found":true,"primary_phone":"9184009213"}
[2026-04-28 11:10:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184009213"}
[2026-04-28 11:10:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184009213","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:10:45"}
[2026-04-28 11:10:45] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","existing_deal_found":true,"existing_contact_id":"20836","existing_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:10:45"}
[2026-04-28 11:10:45] [INFO] DealController.save validated payments {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-28 11:10:45] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20836","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 11:10:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d62025382af5.17031649","contact_didar_id":"20836","title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9184009213","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"هاوژین عبداله زاده","existing_deal":"YES","existing_deal_id":"local_69d62025382af5.17031649","existing_deal_status":"Lost","server_time":"2026-04-28 11:10:45","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 11:10:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:10:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d62025382af5.17031649","contact_id":"20836","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-28 11:10:45","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 11:10:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:10:50] [INFO] Checking activity reminders 
[2026-04-28 11:10:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:10:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:13] [INFO] Checking activity reminders 
[2026-04-28 11:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:13] [INFO] Checking activity reminders 
[2026-04-28 11:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:20] [INFO] Checking activity reminders 
[2026-04-28 11:11:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:43] [INFO] Checking activity reminders 
[2026-04-28 11:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:43] [INFO] Checking activity reminders 
[2026-04-28 11:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:11:50] [INFO] Checking activity reminders 
[2026-04-28 11:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:11] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 11:12:11","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 11:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:12:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20836","is_new_deal":false}
[2026-04-28 11:12:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 11:12:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:12:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:12:11] [INFO] getContactPrimaryPhone called {"contact_id":"20836"}
[2026-04-28 11:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:12:11] [INFO] getContactPrimaryPhone result {"contact_id":"20836","person_found":true,"primary_phone":"9184009213"}
[2026-04-28 11:12:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184009213"}
[2026-04-28 11:12:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184009213","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:12:11"}
[2026-04-28 11:12:11] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","existing_deal_found":true,"existing_contact_id":"20836","existing_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:12:11"}
[2026-04-28 11:12:11] [INFO] DealController.save validated payments {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","payments_count":0,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-28 11:12:11] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20836","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 11:12:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d62025382af5.17031649","contact_didar_id":"20836","title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9184009213","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"هاوژین عبداله زاده","existing_deal":"YES","existing_deal_id":"local_69d62025382af5.17031649","existing_deal_status":"Pending","server_time":"2026-04-28 11:12:11","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 11:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:12:11] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d62025382af5.17031649","contact_id":"20836","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-28 11:12:11","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 11:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:12:13] [INFO] Checking activity reminders 
[2026-04-28 11:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:13] [INFO] Checking activity reminders 
[2026-04-28 11:12:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:20] [INFO] Checking activity reminders 
[2026-04-28 11:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:43] [INFO] Checking activity reminders 
[2026-04-28 11:12:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:44] [INFO] Checking activity reminders 
[2026-04-28 11:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:12:50] [INFO] Checking activity reminders 
[2026-04-28 11:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:04] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 11:13:04","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 11:13:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:13:04] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"20836","is_new_deal":false}
[2026-04-28 11:13:04] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 11:13:04] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:13:04] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 11:13:04] [INFO] getContactPrimaryPhone called {"contact_id":"20836"}
[2026-04-28 11:13:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:13:04] [INFO] getContactPrimaryPhone result {"contact_id":"20836","person_found":true,"primary_phone":"9184009213"}
[2026-04-28 11:13:04] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9184009213"}
[2026-04-28 11:13:04] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9184009213","contact_id":"20836","deal_id":"local_69d62025382af5.17031649","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:13:04"}
[2026-04-28 11:13:04] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","existing_deal_found":true,"existing_contact_id":"20836","existing_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 11:13:04"}
[2026-04-28 11:13:04] [INFO] DealController.save validated payments {"deal_id":"local_69d62025382af5.17031649","contact_id":"20836","payments_count":0,"status":"lost","pipeline_stage":"پشتیبانی"}
[2026-04-28 11:13:04] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20836","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 11:13:04] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d62025382af5.17031649","contact_didar_id":"20836","title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9184009213","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"هاوژین عبداله زاده","existing_deal":"YES","existing_deal_id":"local_69d62025382af5.17031649","existing_deal_status":"Pending","server_time":"2026-04-28 11:13:04","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 11:13:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:13:04] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d62025382af5.17031649","contact_id":"20836","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9184009213 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-28 11:13:04","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 11:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20836","person_id":"4221"}
[2026-04-28 11:13:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:13:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:13:08] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:13:13] [INFO] Checking activity reminders 
[2026-04-28 11:13:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:14] [INFO] Checking activity reminders 
[2026-04-28 11:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:20] [INFO] Checking activity reminders 
[2026-04-28 11:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:43] [INFO] Checking activity reminders 
[2026-04-28 11:13:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:13:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:13:46] [INFO] Checking activity reminders 
[2026-04-28 11:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:46] [INFO] Checking activity reminders 
[2026-04-28 11:13:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:48] [INFO] Checking activity reminders 
[2026-04-28 11:13:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:13:49] [INFO] Checking activity reminders 
[2026-04-28 11:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:13] [INFO] Checking activity reminders 
[2026-04-28 11:14:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:16] [INFO] Checking activity reminders 
[2026-04-28 11:14:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:19] [INFO] Checking activity reminders 
[2026-04-28 11:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:43] [INFO] Checking activity reminders 
[2026-04-28 11:14:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:47] [INFO] Checking activity reminders 
[2026-04-28 11:14:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:49] [INFO] Checking activity reminders 
[2026-04-28 11:14:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:14:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:14:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:14:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:14:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:15:13] [INFO] Checking activity reminders 
[2026-04-28 11:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:15:17] [INFO] Checking activity reminders 
[2026-04-28 11:15:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:15:19] [INFO] Checking activity reminders 
[2026-04-28 11:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:15:43] [INFO] Checking activity reminders 
[2026-04-28 11:15:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:15:47] [INFO] Checking activity reminders 
[2026-04-28 11:15:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:15:49] [INFO] Checking activity reminders 
[2026-04-28 11:15:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:15:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:16:14] [INFO] Checking activity reminders 
[2026-04-28 11:16:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:16:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:16:17] [INFO] Checking activity reminders 
[2026-04-28 11:16:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:16:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:16:19] [INFO] Checking activity reminders 
[2026-04-28 11:16:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:16:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:16:44] [INFO] Checking activity reminders 
[2026-04-28 11:16:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:16:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:16:49] [INFO] Checking activity reminders 
[2026-04-28 11:16:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:16:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:17:14] [INFO] Checking activity reminders 
[2026-04-28 11:17:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:17:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:17:20] [INFO] Checking activity reminders 
[2026-04-28 11:17:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:17:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:17:33] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05a17c0cf19.19972929","deal_id":"local_69f05a17c2102","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 ساله دنبال \r\n33 ساله \r\nپوشاک \r\n5 ساله کار میکنه \r\nهیچ سرمایه گذاری نداشته \r\n2 تومان پول داره \/ 20 روز دیگه قراره وام بگیره برای خرید خودرو \r\nزنجان \r\nبودجه 3400 میخواد خودرو بخره \r\nارجاع به پارسا  \r\nمیگه تو دیوار و دوستام تو نمایشگاه هستن ولی معامله نمیشه \r\n15 دقیقه مشاوره سرمایه گذاری دادم ولی حرف خودشو میزنه ","activity_duration":"15","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"irrelevant_lead","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 11:17:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05a17c0cf19.19972929","note_was_empty":true}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Updating virtual stage {"contact_id":"local_69f05a17c0cf19.19972929","stage_name":"new","force":false}
[2026-04-28 11:17:33] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05a17c0cf19.19972929","stage_name":"new"}
[2026-04-28 11:17:33] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05a17c0cf19.19972929"}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05a17c2102","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-28 11:17:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f06615739952.16477967","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69f06615739952.16477967"}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:33] [INFO] Updating virtual stage {"contact_id":"local_69f05a17c0cf19.19972929","stage_name":"deal_registered","force":false}
[2026-04-28 11:17:33] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05a17c0cf19.19972929","stage_name":"deal_registered"}
[2026-04-28 11:17:33] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05a17c0cf19.19972929"}
[2026-04-28 11:17:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05a17c0cf19.19972929","person_id":"22416"}
[2026-04-28 11:17:44] [INFO] Checking activity reminders 
[2026-04-28 11:17:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:17:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:17:50] [INFO] Checking activity reminders 
[2026-04-28 11:17:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:17:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:18:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:18:14] [INFO] Checking activity reminders 
[2026-04-28 11:18:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:18:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:18:20] [INFO] Checking activity reminders 
[2026-04-28 11:18:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:18:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:18:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:18:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:18:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-28 11:18:44] [INFO] Checking activity reminders 
[2026-04-28 11:18:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:18:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:18:50] [INFO] Checking activity reminders 
[2026-04-28 11:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:19:14] [INFO] Checking activity reminders 
[2026-04-28 11:19:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:19:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:19:18] [INFO] Checking activity reminders 
[2026-04-28 11:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:19:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:19:30] [INFO] Checking activity reminders 
[2026-04-28 11:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:19:44] [INFO] Checking activity reminders 
[2026-04-28 11:19:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:19:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:20:00] [INFO] Checking activity reminders 
[2026-04-28 11:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:20:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:20:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:20:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:20:14] [INFO] Checking activity reminders 
[2026-04-28 11:20:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:20:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:20:30] [INFO] Checking activity reminders 
[2026-04-28 11:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:20:44] [INFO] Checking activity reminders 
[2026-04-28 11:20:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:20:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:21:01] [INFO] Checking activity reminders 
[2026-04-28 11:21:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:21:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:21:14] [INFO] Checking activity reminders 
[2026-04-28 11:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:21:14] [INFO] Checking activity reminders 
[2026-04-28 11:21:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:21:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:21:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 11:21:31] [INFO] Checking activity reminders 
[2026-04-28 11:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:21:44] [INFO] Checking activity reminders 
[2026-04-28 11:21:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:21:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:22:01] [INFO] Checking activity reminders 
[2026-04-28 11:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:22:14] [INFO] Checking activity reminders 
[2026-04-28 11:22:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:22:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:22:31] [INFO] Checking activity reminders 
[2026-04-28 11:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:22:38] [INFO] Lead update received {"contact_id":"local_69f05f302b0663.34382018","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 11:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:22:38] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f05f302b0663.34382018"}
[2026-04-28 11:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:22:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:22:44] [INFO] Checking activity reminders 
[2026-04-28 11:22:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:22:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:23:01] [INFO] Checking activity reminders 
[2026-04-28 11:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:23:14] [INFO] Checking activity reminders 
[2026-04-28 11:23:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:23:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:23:31] [INFO] Checking activity reminders 
[2026-04-28 11:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:23:45] [INFO] Checking activity reminders 
[2026-04-28 11:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:23:45] [INFO] Checking activity reminders 
[2026-04-28 11:23:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:23:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:24:01] [INFO] Checking activity reminders 
[2026-04-28 11:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:24:15] [INFO] Checking activity reminders 
[2026-04-28 11:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:24:32] [INFO] Checking activity reminders 
[2026-04-28 11:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:24:36] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f302b0663.34382018","deal_id":"local_69f05f302e22f","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \/ سرکار بود \r\n3 ماهه اشنا \r\nپیامک ارسال شد \r\nساعت 19 تماس مجدد ","activity_duration":"2","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 11:24:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05f302b0663.34382018","note_was_empty":true}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:36] [INFO] Updating virtual stage {"contact_id":"local_69f05f302b0663.34382018","stage_name":"new","force":false}
[2026-04-28 11:24:36] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f302b0663.34382018","stage_name":"new"}
[2026-04-28 11:24:36] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f302b0663.34382018"}
[2026-04-28 11:24:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f302e22f","stage":"تماس پیگیری","status_change":null}
[2026-04-28 11:24:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f067bc960fb9.76805685","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69f067bc960fb9.76805685"}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:36] [INFO] Updating virtual stage {"contact_id":"local_69f05f302b0663.34382018","stage_name":"deal_registered","force":false}
[2026-04-28 11:24:36] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f302b0663.34382018","stage_name":"deal_registered"}
[2026-04-28 11:24:36] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f302b0663.34382018"}
[2026-04-28 11:24:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f302b0663.34382018","person_id":"22417"}
[2026-04-28 11:24:45] [INFO] Checking activity reminders 
[2026-04-28 11:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:24:51] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:24:51] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 11:24:51] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 11:24:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:25:02] [INFO] Checking activity reminders 
[2026-04-28 11:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:25:15] [INFO] Checking activity reminders 
[2026-04-28 11:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:25:32] [INFO] Checking activity reminders 
[2026-04-28 11:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:25:45] [INFO] Checking activity reminders 
[2026-04-28 11:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:26:02] [INFO] Checking activity reminders 
[2026-04-28 11:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:26:15] [INFO] Checking activity reminders 
[2026-04-28 11:26:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:26:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:26:32] [INFO] Checking activity reminders 
[2026-04-28 11:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:26:45] [INFO] Checking activity reminders 
[2026-04-28 11:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:27:02] [INFO] Checking activity reminders 
[2026-04-28 11:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:27:15] [INFO] Checking activity reminders 
[2026-04-28 11:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:27:32] [INFO] Checking activity reminders 
[2026-04-28 11:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:27:45] [INFO] Checking activity reminders 
[2026-04-28 11:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:27:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:03] [INFO] Checking activity reminders 
[2026-04-28 11:28:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:28:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:28:15] [INFO] Checking activity reminders 
[2026-04-28 11:28:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:28:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:28:29] [INFO] Activity save request {"post_data":{"contact_id":"local_6999bb457cd140.72890768","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اسفند هوش کارشناسی واریز شد دسترسی فعال میاد کلاس","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 11:28:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:29] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 11:28:29] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 11:28:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:29] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_6999bb457cd140.72890768","note_was_empty":true}
[2026-04-28 11:28:29] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f068a578d4f5.24083234","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 11:28:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:29] [INFO] Activity saved successfully {"activity_id":"local_activity_69f068a578d4f5.24083234"}
[2026-04-28 11:28:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:29] [INFO] Updating virtual stage {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase","force":false}
[2026-04-28 11:28:29] [INFO] Virtual stage successfully saved {"contact_id":"local_6999bb457cd140.72890768","stage_name":"with_purchase"}
[2026-04-28 11:28:29] [INFO] Virtual stage updated after activity save {"contact_id":"local_6999bb457cd140.72890768"}
[2026-04-28 11:28:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_6999bb457cd140.72890768","person_id":"21757"}
[2026-04-28 11:28:33] [INFO] Checking activity reminders 
[2026-04-28 11:28:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:28:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:28:45] [INFO] Checking activity reminders 
[2026-04-28 11:28:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:28:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:29:03] [INFO] Checking activity reminders 
[2026-04-28 11:29:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:29:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:29:15] [INFO] Checking activity reminders 
[2026-04-28 11:29:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:29:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:29:45] [INFO] Checking activity reminders 
[2026-04-28 11:29:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:29:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:30:16] [INFO] Checking activity reminders 
[2026-04-28 11:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:30:43] [INFO] Checking activity reminders 
[2026-04-28 11:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:30:46] [INFO] Checking activity reminders 
[2026-04-28 11:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:31:13] [INFO] Checking activity reminders 
[2026-04-28 11:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:31:16] [INFO] Checking activity reminders 
[2026-04-28 11:31:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:31:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:31:43] [INFO] Checking activity reminders 
[2026-04-28 11:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:31:46] [INFO] Checking activity reminders 
[2026-04-28 11:31:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:31:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:32:13] [INFO] Checking activity reminders 
[2026-04-28 11:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:32:16] [INFO] Checking activity reminders 
[2026-04-28 11:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:32:44] [INFO] Checking activity reminders 
[2026-04-28 11:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:32:46] [INFO] Checking activity reminders 
[2026-04-28 11:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:33:14] [INFO] Checking activity reminders 
[2026-04-28 11:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:33:16] [INFO] Checking activity reminders 
[2026-04-28 11:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:33:44] [INFO] Checking activity reminders 
[2026-04-28 11:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:33:46] [INFO] Checking activity reminders 
[2026-04-28 11:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:34:14] [INFO] Checking activity reminders 
[2026-04-28 11:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:34:16] [INFO] Checking activity reminders 
[2026-04-28 11:34:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:34:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:34:44] [INFO] Checking activity reminders 
[2026-04-28 11:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:34:46] [INFO] Checking activity reminders 
[2026-04-28 11:34:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:34:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:35:14] [INFO] Checking activity reminders 
[2026-04-28 11:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:35:16] [INFO] Checking activity reminders 
[2026-04-28 11:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:35:44] [INFO] Checking activity reminders 
[2026-04-28 11:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:35:46] [INFO] Checking activity reminders 
[2026-04-28 11:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:36:14] [INFO] Checking activity reminders 
[2026-04-28 11:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:36:16] [INFO] Checking activity reminders 
[2026-04-28 11:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:36:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"18241","person_id":"10320"}
[2026-04-28 11:36:44] [INFO] Checking activity reminders 
[2026-04-28 11:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:36:46] [INFO] Checking activity reminders 
[2026-04-28 11:36:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:36:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:37:14] [INFO] Checking activity reminders 
[2026-04-28 11:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:37:17] [INFO] Checking activity reminders 
[2026-04-28 11:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:37:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5334","person_id":"14038"}
[2026-04-28 11:37:44] [INFO] Checking activity reminders 
[2026-04-28 11:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:37:47] [INFO] Checking activity reminders 
[2026-04-28 11:37:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:37:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:38:14] [INFO] Checking activity reminders 
[2026-04-28 11:38:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:38:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:38:17] [INFO] Checking activity reminders 
[2026-04-28 11:38:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:38:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:38:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14808","person_id":"15165"}
[2026-04-28 11:38:45] [INFO] Checking activity reminders 
[2026-04-28 11:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:38:47] [INFO] Checking activity reminders 
[2026-04-28 11:38:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:38:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:39:15] [INFO] Checking activity reminders 
[2026-04-28 11:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:39:17] [INFO] Checking activity reminders 
[2026-04-28 11:39:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:39:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:39:45] [INFO] Checking activity reminders 
[2026-04-28 11:39:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:39:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:39:47] [INFO] Checking activity reminders 
[2026-04-28 11:39:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:39:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:40:15] [INFO] Checking activity reminders 
[2026-04-28 11:40:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:40:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:40:17] [INFO] Checking activity reminders 
[2026-04-28 11:40:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:40:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:40:45] [INFO] Checking activity reminders 
[2026-04-28 11:40:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:40:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:40:47] [INFO] Checking activity reminders 
[2026-04-28 11:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:41:15] [INFO] Checking activity reminders 
[2026-04-28 11:41:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:41:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:41:17] [INFO] Checking activity reminders 
[2026-04-28 11:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:41:45] [INFO] Checking activity reminders 
[2026-04-28 11:41:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:41:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:41:47] [INFO] Checking activity reminders 
[2026-04-28 11:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:42:15] [INFO] Checking activity reminders 
[2026-04-28 11:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:42:17] [INFO] Checking activity reminders 
[2026-04-28 11:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:42:45] [INFO] Checking activity reminders 
[2026-04-28 11:42:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:42:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:42:47] [INFO] Checking activity reminders 
[2026-04-28 11:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:43:15] [INFO] Checking activity reminders 
[2026-04-28 11:43:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:43:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:43:17] [INFO] Checking activity reminders 
[2026-04-28 11:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:43:45] [INFO] Checking activity reminders 
[2026-04-28 11:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:43:47] [INFO] Checking activity reminders 
[2026-04-28 11:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:44:16] [INFO] Checking activity reminders 
[2026-04-28 11:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:44:17] [INFO] Checking activity reminders 
[2026-04-28 11:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:44:46] [INFO] Checking activity reminders 
[2026-04-28 11:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:44:48] [INFO] Checking activity reminders 
[2026-04-28 11:44:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:44:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:45:16] [INFO] Checking activity reminders 
[2026-04-28 11:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:45:18] [INFO] Checking activity reminders 
[2026-04-28 11:45:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:45:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:45:46] [INFO] Checking activity reminders 
[2026-04-28 11:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:45:48] [INFO] Checking activity reminders 
[2026-04-28 11:45:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:45:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:46:16] [INFO] Checking activity reminders 
[2026-04-28 11:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:46:18] [INFO] Checking activity reminders 
[2026-04-28 11:46:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:46:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:46:46] [INFO] Checking activity reminders 
[2026-04-28 11:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:46:48] [INFO] Checking activity reminders 
[2026-04-28 11:46:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:46:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:47:16] [INFO] Checking activity reminders 
[2026-04-28 11:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:47:18] [INFO] Checking activity reminders 
[2026-04-28 11:47:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:47:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:47:46] [INFO] Checking activity reminders 
[2026-04-28 11:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:47:48] [INFO] Checking activity reminders 
[2026-04-28 11:47:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:47:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:48:16] [INFO] Checking activity reminders 
[2026-04-28 11:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:48:18] [INFO] Checking activity reminders 
[2026-04-28 11:48:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:48:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:48:46] [INFO] Checking activity reminders 
[2026-04-28 11:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:48:48] [INFO] Checking activity reminders 
[2026-04-28 11:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:49:16] [INFO] Checking activity reminders 
[2026-04-28 11:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:49:18] [INFO] Checking activity reminders 
[2026-04-28 11:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:49:31] [INFO] Checking activity reminders 
[2026-04-28 11:49:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:49:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:49:33] [INFO] Checking activity reminders 
[2026-04-28 11:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:49:48] [INFO] Checking activity reminders 
[2026-04-28 11:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:50:04] [INFO] Checking activity reminders 
[2026-04-28 11:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:50:18] [INFO] Checking activity reminders 
[2026-04-28 11:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:50:34] [INFO] Checking activity reminders 
[2026-04-28 11:50:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:50:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:50:48] [INFO] Checking activity reminders 
[2026-04-28 11:50:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:50:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:50:52] [INFO] Checking activity reminders 
[2026-04-28 11:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:51:18] [INFO] Checking activity reminders 
[2026-04-28 11:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:51:20] [INFO] Lead update received {"contact_id":"9020","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 11:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:51:20] [DEBUG] findByPhone: Found person {"phones":["9122584770"],"found_id":"11752","found_didar_id":"14768","found_name":"فرزاد شبیهی"}
[2026-04-28 11:51:20] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9122584770","found_didar_id":"14768","found_local_id":"11752","found_name":"فرزاد شبیهی"}
[2026-04-28 11:51:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14768","person_id":"11752"}
[2026-04-28 11:51:20] [INFO] checkForDuplicates: REAL duplicate found {"phone":"9122584770","found_id":"11752","found_didar_id":"14768","exclude_id":10838,"exclude_didar_id":"9020"}
[2026-04-28 11:51:20] [ERROR] API Error {"action":"update_lead","exception":{"message":"این شماره قبلاً برای  فرزاد شبیهی (مسئول: لید استخر) ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":777,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(977): App\\Services\\LeadService->checkForDuplicates()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#3 {main}"}}
[2026-04-28 11:51:23] [INFO] Checking activity reminders 
[2026-04-28 11:51:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:51:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:51:30] [INFO] Lead update received {"contact_id":"9020","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 11:51:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:51:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:51:30] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"9020"}
[2026-04-28 11:51:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 11:51:48] [INFO] Checking activity reminders 
[2026-04-28 11:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:51:53] [INFO] Checking activity reminders 
[2026-04-28 11:51:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:51:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:52:18] [INFO] Checking activity reminders 
[2026-04-28 11:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:52:23] [INFO] Checking activity reminders 
[2026-04-28 11:52:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:52:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:52:49] [INFO] Checking activity reminders 
[2026-04-28 11:52:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:52:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:52:53] [INFO] Checking activity reminders 
[2026-04-28 11:52:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:52:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:53:19] [INFO] Checking activity reminders 
[2026-04-28 11:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:53:23] [INFO] Checking activity reminders 
[2026-04-28 11:53:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:53:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:53:49] [INFO] Checking activity reminders 
[2026-04-28 11:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:53:53] [INFO] Checking activity reminders 
[2026-04-28 11:53:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:53:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:54:19] [INFO] Checking activity reminders 
[2026-04-28 11:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:54:23] [INFO] Checking activity reminders 
[2026-04-28 11:54:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:54:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:54:49] [INFO] Checking activity reminders 
[2026-04-28 11:54:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:54:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:54:53] [INFO] Checking activity reminders 
[2026-04-28 11:54:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:54:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:55:20] [INFO] Checking activity reminders 
[2026-04-28 11:55:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:55:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:55:24] [INFO] Checking activity reminders 
[2026-04-28 11:55:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:55:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:55:54] [INFO] Checking activity reminders 
[2026-04-28 11:55:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:55:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:56:24] [INFO] Checking activity reminders 
[2026-04-28 11:56:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:56:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:56:54] [INFO] Checking activity reminders 
[2026-04-28 11:56:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:56:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:57:24] [INFO] Checking activity reminders 
[2026-04-28 11:57:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:57:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:57:54] [INFO] Checking activity reminders 
[2026-04-28 11:57:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:57:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:58:24] [INFO] Checking activity reminders 
[2026-04-28 11:58:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:58:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:58:54] [INFO] Checking activity reminders 
[2026-04-28 11:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:59:24] [INFO] Checking activity reminders 
[2026-04-28 11:59:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:59:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 11:59:54] [INFO] Checking activity reminders 
[2026-04-28 11:59:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 11:59:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:00:24] [INFO] Checking activity reminders 
[2026-04-28 12:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:00:55] [INFO] Checking activity reminders 
[2026-04-28 12:00:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:00:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:01:25] [INFO] Checking activity reminders 
[2026-04-28 12:01:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:01:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:01:55] [INFO] Checking activity reminders 
[2026-04-28 12:01:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:01:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:02:25] [INFO] Checking activity reminders 
[2026-04-28 12:02:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:02:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:02:55] [INFO] Checking activity reminders 
[2026-04-28 12:02:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:02:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:03:26] [INFO] Checking activity reminders 
[2026-04-28 12:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:03:36] [INFO] Activity save request {"post_data":{"contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"4 ساله  اشنا \r\nبرادرش فرزاد شبیهی دوره هوش و کانال بوده \r\nکارگاه تابلو های تبلیغاتی در چهاردنگه \r\nبا پارسا معامله خودرو \r\nطلای فیزیکی سرمایه گذاری \r\nکسب و کارش خیلی اسیب دیده \/ درامد پایین \r\nپرزنت 405 \/ شش ماهه \r\n10 م بیعانه \r\nتا 2\/16 مبلغ 10 \r\n13 خرداد  تسویه ","activity_duration":"20","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 12:03:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9020","note_was_empty":true}
[2026-04-28 12:03:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"9020","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:36] [INFO] Updating virtual stage {"contact_id":"9020","stage_name":"deal_registered","force":false}
[2026-04-28 12:03:36] [INFO] Virtual stage successfully saved {"contact_id":"9020","stage_name":"deal_registered"}
[2026-04-28 12:03:36] [INFO] Virtual stage updated after activity save {"contact_id":"9020"}
[2026-04-28 12:03:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f060e77a2d50.43817908","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-28 12:03:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f070e0620fa1.23091887","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69f070e0620fa1.23091887"}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:36] [INFO] Updating virtual stage {"contact_id":"9020","stage_name":"deal_registered","force":false}
[2026-04-28 12:03:36] [INFO] Virtual stage successfully saved {"contact_id":"9020","stage_name":"deal_registered"}
[2026-04-28 12:03:36] [INFO] Virtual stage updated after activity save {"contact_id":"9020"}
[2026-04-28 12:03:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:03:56] [INFO] Checking activity reminders 
[2026-04-28 12:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:04:26] [INFO] Checking activity reminders 
[2026-04-28 12:04:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:04:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:04:56] [INFO] Checking activity reminders 
[2026-04-28 12:04:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:04:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:05:10] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 12:05:10","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 12:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","is_new_deal":false}
[2026-04-28 12:05:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:10] [INFO] getContactPrimaryPhone called {"contact_id":"9020"}
[2026-04-28 12:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:10] [INFO] getContactPrimaryPhone result {"contact_id":"9020","person_found":true,"primary_phone":"9120864521"}
[2026-04-28 12:05:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120864521"}
[2026-04-28 12:05:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120864521","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 12:05:10"}
[2026-04-28 12:05:10] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","existing_deal_found":true,"existing_contact_id":"9020","existing_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 12:05:10"}
[2026-04-28 12:05:10] [INFO] DealController.save validated payments {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-28 12:05:10] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9020","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 12:05:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f060e77a2d50.43817908","contact_didar_id":"9020","title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9120864521","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بهزاد شبیهی","existing_deal":"YES","existing_deal_id":"local_69f060e77a2d50.43817908","existing_deal_status":"Pending","server_time":"2026-04-28 12:05:10","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 12:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:10] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 12:05:10","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 12:05:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 12:05:20","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 12:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","is_new_deal":false}
[2026-04-28 12:05:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 12:05:20] [INFO] getContactPrimaryPhone called {"contact_id":"9020"}
[2026-04-28 12:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:20] [INFO] getContactPrimaryPhone result {"contact_id":"9020","person_found":true,"primary_phone":"9120864521"}
[2026-04-28 12:05:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120864521"}
[2026-04-28 12:05:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120864521","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 12:05:20"}
[2026-04-28 12:05:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","existing_deal_found":true,"existing_contact_id":"9020","existing_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 12:05:20"}
[2026-04-28 12:05:20] [INFO] DealController.save validated payments {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","payments_count":0,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 12:05:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9020","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 12:05:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f060e77a2d50.43817908","contact_didar_id":"9020","title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9120864521","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بهزاد شبیهی","existing_deal":"YES","existing_deal_id":"local_69f060e77a2d50.43817908","existing_deal_status":"Pending","server_time":"2026-04-28 12:05:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 12:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 12:05:20","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 12:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:05:26] [INFO] Checking activity reminders 
[2026-04-28 12:05:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:05:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:05:56] [INFO] Checking activity reminders 
[2026-04-28 12:05:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:05:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:06:26] [INFO] Checking activity reminders 
[2026-04-28 12:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:06:56] [INFO] Checking activity reminders 
[2026-04-28 12:06:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:06:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:07:26] [INFO] Checking activity reminders 
[2026-04-28 12:07:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:07:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:07:56] [INFO] Checking activity reminders 
[2026-04-28 12:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:08:27] [INFO] Checking activity reminders 
[2026-04-28 12:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:08:57] [INFO] Checking activity reminders 
[2026-04-28 12:08:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:08:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:09:27] [INFO] Checking activity reminders 
[2026-04-28 12:09:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:09:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:09:57] [INFO] Checking activity reminders 
[2026-04-28 12:09:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:09:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:10:27] [INFO] Checking activity reminders 
[2026-04-28 12:10:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:10:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:10:57] [INFO] Checking activity reminders 
[2026-04-28 12:10:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:10:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:11:27] [INFO] Checking activity reminders 
[2026-04-28 12:11:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:11:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:11:57] [INFO] Checking activity reminders 
[2026-04-28 12:11:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:11:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:12:27] [INFO] Checking activity reminders 
[2026-04-28 12:12:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:12:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:12:57] [INFO] Checking activity reminders 
[2026-04-28 12:12:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:12:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:13:27] [INFO] Checking activity reminders 
[2026-04-28 12:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:13:58] [INFO] Checking activity reminders 
[2026-04-28 12:13:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:13:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:14:28] [INFO] Checking activity reminders 
[2026-04-28 12:14:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:14:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:14:54] [INFO] Checking activity reminders 
[2026-04-28 12:14:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:14:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:14:58] [INFO] Checking activity reminders 
[2026-04-28 12:14:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:14:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:15:24] [INFO] Checking activity reminders 
[2026-04-28 12:15:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:15:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:15:28] [INFO] Checking activity reminders 
[2026-04-28 12:15:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:15:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:15:54] [INFO] Checking activity reminders 
[2026-04-28 12:15:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:15:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:15:58] [INFO] Checking activity reminders 
[2026-04-28 12:15:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:15:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:16:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:16:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:16:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:16:24] [INFO] Checking activity reminders 
[2026-04-28 12:16:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:16:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:16:51] [INFO] Checking activity reminders 
[2026-04-28 12:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:16:54] [INFO] Checking activity reminders 
[2026-04-28 12:16:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:16:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:17:21] [INFO] Checking activity reminders 
[2026-04-28 12:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:17:24] [INFO] Checking activity reminders 
[2026-04-28 12:17:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:17:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:17:51] [INFO] Checking activity reminders 
[2026-04-28 12:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:17:54] [INFO] Checking activity reminders 
[2026-04-28 12:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:18:21] [INFO] Checking activity reminders 
[2026-04-28 12:18:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:18:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:18:25] [INFO] Checking activity reminders 
[2026-04-28 12:18:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:18:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:18:51] [INFO] Checking activity reminders 
[2026-04-28 12:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:19:22] [INFO] Checking activity reminders 
[2026-04-28 12:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:19:52] [INFO] Checking activity reminders 
[2026-04-28 12:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:20:22] [INFO] Checking activity reminders 
[2026-04-28 12:20:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:20:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:20:52] [INFO] Checking activity reminders 
[2026-04-28 12:20:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:20:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:21:22] [INFO] Checking activity reminders 
[2026-04-28 12:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:21:52] [INFO] Checking activity reminders 
[2026-04-28 12:21:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:21:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:22:22] [INFO] Checking activity reminders 
[2026-04-28 12:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:22:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:22:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:22:52] [INFO] Checking activity reminders 
[2026-04-28 12:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:23:22] [INFO] Checking activity reminders 
[2026-04-28 12:23:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:23:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:23:52] [INFO] Checking activity reminders 
[2026-04-28 12:23:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:23:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:24:22] [INFO] Checking activity reminders 
[2026-04-28 12:24:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:24:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:24:52] [INFO] Checking activity reminders 
[2026-04-28 12:24:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:24:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:25:22] [INFO] Checking activity reminders 
[2026-04-28 12:25:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:25:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:25:53] [INFO] Checking activity reminders 
[2026-04-28 12:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:26:18] [INFO] Checking activity reminders 
[2026-04-28 12:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:26:27] [INFO] Checking activity reminders 
[2026-04-28 12:26:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:26:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:26:28] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:28] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-28 12:26:28] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:30] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:32] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:32] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:33] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:33] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:41] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:42] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-28 12:26:42] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-28 12:26:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:26:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 12:26:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 12:26:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 12:26:53] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:26:53] [INFO] Master password used for login {"user_id":"1","identifier":"خانم توانا","role":"agent"}
[2026-04-28 12:26:53] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":true}
[2026-04-28 12:26:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:26:57] [INFO] Checking activity reminders 
[2026-04-28 12:26:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:26:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:26:59] [INFO] Checking activity reminders 
[2026-04-28 12:26:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:26:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:27:13] [INFO] Checking activity reminders 
[2026-04-28 12:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:27:24] [INFO] Checking activity reminders 
[2026-04-28 12:27:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:27:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:27:33] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f97a7eb16.36137040","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 12:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 12:27:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 12:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05f97a7eb16.36137040","note_was_empty":true}
[2026-04-28 12:27:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0767dd76164.06501940","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 12:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0767dd76164.06501940"}
[2026-04-28 12:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:33] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-28 12:27:33] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-28 12:27:33] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-28 12:27:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 12:27:43] [INFO] Checking activity reminders 
[2026-04-28 12:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:27:46] [INFO] Checking activity reminders 
[2026-04-28 12:27:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:27:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:27:54] [INFO] Checking activity reminders 
[2026-04-28 12:27:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:27:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:28:01] [INFO] Checking activity reminders 
[2026-04-28 12:28:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:28:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:28:24] [INFO] Checking activity reminders 
[2026-04-28 12:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:28:54] [INFO] Checking activity reminders 
[2026-04-28 12:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:02] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 12:29:02] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-28 12:29:02] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-28 12:29:02] [INFO] Checking activity reminders 
[2026-04-28 12:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:29:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 12:29:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 12:29:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 12:29:06] [INFO] Checking activity reminders 
[2026-04-28 12:29:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:15] [INFO] Checking activity reminders 
[2026-04-28 12:29:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:27] [INFO] Checking activity reminders 
[2026-04-28 12:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:32] [INFO] Checking activity reminders 
[2026-04-28 12:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:40] [INFO] Checking activity reminders 
[2026-04-28 12:29:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:29:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:29:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:30:02] [INFO] Checking activity reminders 
[2026-04-28 12:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:30:03] [INFO] Checking activity reminders 
[2026-04-28 12:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:30:32] [INFO] Checking activity reminders 
[2026-04-28 12:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:30:33] [INFO] Checking activity reminders 
[2026-04-28 12:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:31:02] [INFO] Checking activity reminders 
[2026-04-28 12:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:31:03] [INFO] Checking activity reminders 
[2026-04-28 12:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:31:32] [INFO] Checking activity reminders 
[2026-04-28 12:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:31:34] [INFO] Checking activity reminders 
[2026-04-28 12:31:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:31:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:32:02] [INFO] Checking activity reminders 
[2026-04-28 12:32:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:32:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:32:04] [INFO] Checking activity reminders 
[2026-04-28 12:32:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:32:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:32:32] [INFO] Checking activity reminders 
[2026-04-28 12:32:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:32:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:32:34] [INFO] Checking activity reminders 
[2026-04-28 12:32:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:32:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:33:02] [INFO] Checking activity reminders 
[2026-04-28 12:33:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:33:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:33:04] [INFO] Checking activity reminders 
[2026-04-28 12:33:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:33:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:33:33] [INFO] Checking activity reminders 
[2026-04-28 12:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:33:34] [INFO] Checking activity reminders 
[2026-04-28 12:33:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:33:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:34:03] [INFO] Checking activity reminders 
[2026-04-28 12:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:34:04] [INFO] Checking activity reminders 
[2026-04-28 12:34:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:34:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:34:33] [INFO] Checking activity reminders 
[2026-04-28 12:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:34:34] [INFO] Checking activity reminders 
[2026-04-28 12:34:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:34:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:03] [INFO] Checking activity reminders 
[2026-04-28 12:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:04] [INFO] Checking activity reminders 
[2026-04-28 12:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:18] [INFO] Checking activity reminders 
[2026-04-28 12:35:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:33] [INFO] Checking activity reminders 
[2026-04-28 12:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:34] [INFO] Checking activity reminders 
[2026-04-28 12:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:35:48] [INFO] Checking activity reminders 
[2026-04-28 12:35:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:35:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:03] [INFO] Checking activity reminders 
[2026-04-28 12:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:04] [INFO] Checking activity reminders 
[2026-04-28 12:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:19] [INFO] Checking activity reminders 
[2026-04-28 12:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:33] [INFO] Checking activity reminders 
[2026-04-28 12:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:34] [INFO] Checking activity reminders 
[2026-04-28 12:36:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:36:49] [INFO] Checking activity reminders 
[2026-04-28 12:36:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:36:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:03] [INFO] Checking activity reminders 
[2026-04-28 12:37:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:04] [INFO] Checking activity reminders 
[2026-04-28 12:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:19] [INFO] Checking activity reminders 
[2026-04-28 12:37:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:33] [INFO] Checking activity reminders 
[2026-04-28 12:37:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:34] [INFO] Checking activity reminders 
[2026-04-28 12:37:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:37:49] [INFO] Checking activity reminders 
[2026-04-28 12:37:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:37:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:03] [INFO] Checking activity reminders 
[2026-04-28 12:38:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:04] [INFO] Checking activity reminders 
[2026-04-28 12:38:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:19] [INFO] Checking activity reminders 
[2026-04-28 12:38:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:33] [INFO] Checking activity reminders 
[2026-04-28 12:38:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:34] [INFO] Checking activity reminders 
[2026-04-28 12:38:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:38:49] [INFO] Checking activity reminders 
[2026-04-28 12:38:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:38:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:39:03] [INFO] Checking activity reminders 
[2026-04-28 12:39:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:39:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:39:04] [INFO] Checking activity reminders 
[2026-04-28 12:39:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:39:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:39:19] [INFO] Checking activity reminders 
[2026-04-28 12:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:39:35] [INFO] Checking activity reminders 
[2026-04-28 12:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:39:49] [INFO] Checking activity reminders 
[2026-04-28 12:39:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:39:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:40:05] [INFO] Checking activity reminders 
[2026-04-28 12:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:40:19] [INFO] Checking activity reminders 
[2026-04-28 12:40:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:40:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:40:35] [INFO] Checking activity reminders 
[2026-04-28 12:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:40:49] [INFO] Checking activity reminders 
[2026-04-28 12:40:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:40:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:41:05] [INFO] Checking activity reminders 
[2026-04-28 12:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:41:20] [INFO] Checking activity reminders 
[2026-04-28 12:41:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:41:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:41:35] [INFO] Checking activity reminders 
[2026-04-28 12:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:41:50] [INFO] Checking activity reminders 
[2026-04-28 12:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:42:05] [INFO] Checking activity reminders 
[2026-04-28 12:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:42:20] [INFO] Checking activity reminders 
[2026-04-28 12:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:42:35] [INFO] Checking activity reminders 
[2026-04-28 12:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:42:50] [INFO] Checking activity reminders 
[2026-04-28 12:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:43:05] [INFO] Checking activity reminders 
[2026-04-28 12:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:43:20] [INFO] Checking activity reminders 
[2026-04-28 12:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:43:35] [INFO] Checking activity reminders 
[2026-04-28 12:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:43:50] [INFO] Checking activity reminders 
[2026-04-28 12:43:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:43:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:44:06] [INFO] Checking activity reminders 
[2026-04-28 12:44:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:44:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:44:36] [INFO] Checking activity reminders 
[2026-04-28 12:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:45:06] [INFO] Checking activity reminders 
[2026-04-28 12:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:45:08] [INFO] Checking activity reminders 
[2026-04-28 12:45:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:45:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:45:36] [INFO] Checking activity reminders 
[2026-04-28 12:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:45:38] [INFO] Checking activity reminders 
[2026-04-28 12:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:46:06] [INFO] Checking activity reminders 
[2026-04-28 12:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:46:08] [INFO] Checking activity reminders 
[2026-04-28 12:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:46:36] [INFO] Checking activity reminders 
[2026-04-28 12:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:46:38] [INFO] Checking activity reminders 
[2026-04-28 12:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:46:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:06] [INFO] Checking activity reminders 
[2026-04-28 12:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:47:08] [INFO] Checking activity reminders 
[2026-04-28 12:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:47:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 12:47:32","session_id":"4u6ak9d92n68o6gfi05rgoq8o3"}
[2026-04-28 12:47:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"995","is_new_deal":false}
[2026-04-28 12:47:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 12:47:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 12:47:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 12:47:32] [INFO] getContactPrimaryPhone called {"contact_id":"995"}
[2026-04-28 12:47:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:32] [INFO] getContactPrimaryPhone result {"contact_id":"995","person_found":true,"primary_phone":"9138966354"}
[2026-04-28 12:47:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9138966354"}
[2026-04-28 12:47:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9138966354","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 12:47:32"}
[2026-04-28 12:47:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","existing_deal_found":true,"existing_contact_id":"995","existing_title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-28 12:47:32"}
[2026-04-28 12:47:32] [INFO] DealController.save validated payments {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 12:47:32] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"995","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 12:47:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69493e8705f8e4.10240645","contact_didar_id":"995","title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9138966354","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":48000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی ابراهیمی","existing_deal":"YES","existing_deal_id":"local_69493e8705f8e4.10240645","existing_deal_status":"Pending","server_time":"2026-04-28 12:47:32","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-28 12:47:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":48000000,"server_time":"2026-04-28 12:47:32","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 12:47:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:36] [INFO] Checking activity reminders 
[2026-04-28 12:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:47:38] [INFO] Checking activity reminders 
[2026-04-28 12:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:47:55] [INFO] Activity save request {"post_data":{"contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"33 ت دیگه زد باز 7مانده گفتم بزن تا فردا 2ماهه تسویه مونده","activity_duration":"4","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 12:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 12:47:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 12:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"995","note_was_empty":true}
[2026-04-28 12:47:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"995","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 12:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:55] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-28 12:47:55] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-28 12:47:55] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-28 12:47:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69493e8705f8e4.10240645","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-28 12:47:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f07b43f07662.66693998","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 12:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69f07b43f07662.66693998"}
[2026-04-28 12:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:47:55] [INFO] Updating virtual stage {"contact_id":"995","stage_name":"deal_registered","force":false}
[2026-04-28 12:47:56] [INFO] Virtual stage successfully saved {"contact_id":"995","stage_name":"deal_registered"}
[2026-04-28 12:47:56] [INFO] Virtual stage updated after activity save {"contact_id":"995"}
[2026-04-28 12:47:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-28 12:48:06] [INFO] Checking activity reminders 
[2026-04-28 12:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:48:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-28 12:48:08] [INFO] Checking activity reminders 
[2026-04-28 12:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:48:38] [INFO] Checking activity reminders 
[2026-04-28 12:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:49:09] [INFO] Checking activity reminders 
[2026-04-28 12:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:49:39] [INFO] Checking activity reminders 
[2026-04-28 12:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:50:02] [INFO] Checking activity reminders 
[2026-04-28 12:50:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:50:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:50:09] [INFO] Checking activity reminders 
[2026-04-28 12:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:50:32] [INFO] Checking activity reminders 
[2026-04-28 12:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:50:39] [INFO] Checking activity reminders 
[2026-04-28 12:50:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:50:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:51:02] [INFO] Checking activity reminders 
[2026-04-28 12:51:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:51:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:51:09] [INFO] Checking activity reminders 
[2026-04-28 12:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:51:29] [INFO] Checking activity reminders 
[2026-04-28 12:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:51:32] [INFO] Checking activity reminders 
[2026-04-28 12:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:52:02] [INFO] Checking activity reminders 
[2026-04-28 12:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:52:02] [INFO] Checking activity reminders 
[2026-04-28 12:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:29] [INFO] Lead update received {"contact_id":"local_69b5c22538ee57.18446518","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 12:52:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:29] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-28 12:52:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:32] [INFO] Checking activity reminders 
[2026-04-28 12:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:52:32] [INFO] Checking activity reminders 
[2026-04-28 12:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:52:51] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c22538ee57.18446518","deal_id":"local_69b5c2253b55e","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد ش گذاشته کانال عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 12:52:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b5c22538ee57.18446518","note_was_empty":true}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:51] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-28 12:52:51] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-28 12:52:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-28 12:52:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c2253b55e","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 12:52:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f07c6bda5a92.03713232","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69f07c6bda5a92.03713232"}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:52:51] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-28 12:52:51] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-28 12:52:51] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-28 12:52:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 12:53:02] [INFO] Checking activity reminders 
[2026-04-28 12:53:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:53:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:53:02] [INFO] Checking activity reminders 
[2026-04-28 12:53:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:53:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:53:32] [INFO] Checking activity reminders 
[2026-04-28 12:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:53:32] [INFO] Checking activity reminders 
[2026-04-28 12:53:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:53:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:54:02] [INFO] Checking activity reminders 
[2026-04-28 12:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:54:02] [INFO] Checking activity reminders 
[2026-04-28 12:54:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:54:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:54:32] [INFO] Checking activity reminders 
[2026-04-28 12:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:54:32] [INFO] Checking activity reminders 
[2026-04-28 12:54:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:54:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:55:02] [INFO] Checking activity reminders 
[2026-04-28 12:55:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:55:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:55:02] [INFO] Checking activity reminders 
[2026-04-28 12:55:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:55:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:55:32] [INFO] Checking activity reminders 
[2026-04-28 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:55:32] [INFO] Checking activity reminders 
[2026-04-28 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:56:02] [INFO] Checking activity reminders 
[2026-04-28 12:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:56:02] [INFO] Checking activity reminders 
[2026-04-28 12:56:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:56:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:56:33] [INFO] Checking activity reminders 
[2026-04-28 12:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:56:33] [INFO] Checking activity reminders 
[2026-04-28 12:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:57:03] [INFO] Checking activity reminders 
[2026-04-28 12:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:57:03] [INFO] Checking activity reminders 
[2026-04-28 12:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:57:33] [INFO] Checking activity reminders 
[2026-04-28 12:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:57:33] [INFO] Checking activity reminders 
[2026-04-28 12:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:58:03] [INFO] Checking activity reminders 
[2026-04-28 12:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:58:03] [INFO] Checking activity reminders 
[2026-04-28 12:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:58:33] [INFO] Checking activity reminders 
[2026-04-28 12:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:58:33] [INFO] Checking activity reminders 
[2026-04-28 12:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:59:03] [INFO] Checking activity reminders 
[2026-04-28 12:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:59:22] [INFO] Checking activity reminders 
[2026-04-28 12:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:59:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 12:59:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 12:59:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 12:59:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 12:59:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 12:59:33] [INFO] Checking activity reminders 
[2026-04-28 12:59:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:59:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 12:59:59] [INFO] Checking activity reminders 
[2026-04-28 12:59:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 12:59:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:00:03] [INFO] Checking activity reminders 
[2026-04-28 13:00:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:00:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:00:33] [INFO] Checking activity reminders 
[2026-04-28 13:00:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:00:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:01:03] [INFO] Checking activity reminders 
[2026-04-28 13:01:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:01:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:01:33] [INFO] Checking activity reminders 
[2026-04-28 13:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:02:03] [INFO] Checking activity reminders 
[2026-04-28 13:02:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:02:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:02:33] [INFO] Checking activity reminders 
[2026-04-28 13:02:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:02:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:03:04] [INFO] Checking activity reminders 
[2026-04-28 13:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:03:05] [INFO] Checking activity reminders 
[2026-04-28 13:03:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:03:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:03:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:03:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 13:03:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 13:03:34] [INFO] Checking activity reminders 
[2026-04-28 13:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:03:56] [INFO] Checking activity reminders 
[2026-04-28 13:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8504","person_id":"6497"}
[2026-04-28 13:04:04] [INFO] Checking activity reminders 
[2026-04-28 13:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:04:06] [INFO] Lead update received {"contact_id":"8504","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 13:04:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8504","person_id":"6497"}
[2026-04-28 13:04:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8504","person_id":"6497"}
[2026-04-28 13:04:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8504","person_id":"6497"}
[2026-04-28 13:04:06] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"8504"}
[2026-04-28 13:04:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8504","person_id":"6497"}
[2026-04-28 13:04:25] [INFO] Checking activity reminders 
[2026-04-28 13:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:04:34] [INFO] Checking activity reminders 
[2026-04-28 13:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:05:04] [INFO] Checking activity reminders 
[2026-04-28 13:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:05:34] [INFO] Checking activity reminders 
[2026-04-28 13:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:05:40] [INFO] Checking activity reminders 
[2026-04-28 13:05:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:05:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:05:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:05:52] [INFO] Checking activity reminders 
[2026-04-28 13:05:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:05:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:03] [INFO] Checking activity reminders 
[2026-04-28 13:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:04] [INFO] Checking activity reminders 
[2026-04-28 13:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:06:17] [INFO] Checking activity reminders 
[2026-04-28 13:06:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:25] [INFO] Checking activity reminders 
[2026-04-28 13:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:34] [INFO] Checking activity reminders 
[2026-04-28 13:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:37] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9350518650","09350518650"]}
[2026-04-28 13:06:37] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9350518650","09350518650"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 13:06:37] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9350518650","full_name":"لید جدید"}
[2026-04-28 13:06:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:06:37] [INFO] Notification created {"notification_id":"680","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-28 13:06:46] [INFO] Checking activity reminders 
[2026-04-28 13:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:06:53] [INFO] Checking activity reminders 
[2026-04-28 13:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:04] [INFO] Checking activity reminders 
[2026-04-28 13:07:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:07] [INFO] Checking activity reminders 
[2026-04-28 13:07:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:11] [INFO] Checking activity reminders 
[2026-04-28 13:07:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:18] [INFO] Checking activity reminders 
[2026-04-28 13:07:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:20] [INFO] Checking activity reminders 
[2026-04-28 13:07:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:25] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9134605003","09134605003","9336565029","09336565029"]}
[2026-04-28 13:07:25] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9134605003","09134605003","9336565029","09336565029"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-28 13:07:25] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9134605003","full_name":"لید جدید"}
[2026-04-28 13:07:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:07:25] [INFO] Notification created {"notification_id":"681","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-28 13:07:34] [INFO] Checking activity reminders 
[2026-04-28 13:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:07:51] [INFO] Checking activity reminders 
[2026-04-28 13:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:08:04] [INFO] Checking activity reminders 
[2026-04-28 13:08:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:08:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:08:12] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c22538ee57.18446518","deal_id":"local_69b5c2253b55e","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اراک \/ مجرد \/ ماشین ثبت نامی دراموده تارا فروخته پارسال طلا خریده \r\n80 گرم طلا \/ زمین 500 متر ارزش 500ت شریک با دامادش \/ \r\nخیلی میگه پول ندارم ندارم گفتم انقدر نگو ندارم نداری چرا دنبال سیگنالی \/ 39ت کانال 6ماهه پول جور کنه بیاد \/ گفتم نمیخواد طلا بفروشی صبر کن \r\nماشین فروخته عقب مونده نگرانه","activity_duration":"20","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:08:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b5c22538ee57.18446518","note_was_empty":true}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:12] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-28 13:08:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-28 13:08:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-28 13:08:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c2253b55e","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:08:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f080048eb454.82752276","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69f080048eb454.82752276"}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:12] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-28 13:08:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-28 13:08:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-28 13:08:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-28 13:08:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:08:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:08:21] [INFO] Checking activity reminders 
[2026-04-28 13:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:08:34] [INFO] Checking activity reminders 
[2026-04-28 13:08:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:08:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:08:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:08:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:08:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:08:51] [INFO] Checking activity reminders 
[2026-04-28 13:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:09:04] [INFO] Checking activity reminders 
[2026-04-28 13:09:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:09:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:09:21] [INFO] Checking activity reminders 
[2026-04-28 13:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:09:35] [INFO] Checking activity reminders 
[2026-04-28 13:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:09:51] [INFO] Checking activity reminders 
[2026-04-28 13:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:09:53] [INFO] Activity save request {"post_data":{"contact_id":"9213","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تماس گرفته \/ پشت خطی  چی میخواد؟","activity_duration":"4","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:09:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:09:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:09:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9213","note_was_empty":true}
[2026-04-28 13:09:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"9213","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 13:09:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f080692f4777.38227623","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:09:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69f080692f4777.38227623"}
[2026-04-28 13:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:09:53] [INFO] Updating virtual stage {"contact_id":"9213","stage_name":"deal_registered","force":false}
[2026-04-28 13:09:53] [INFO] Virtual stage successfully saved {"contact_id":"9213","stage_name":"deal_registered"}
[2026-04-28 13:09:53] [INFO] Virtual stage updated after activity save {"contact_id":"9213"}
[2026-04-28 13:09:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:09:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:10:05] [INFO] Checking activity reminders 
[2026-04-28 13:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:22] [INFO] Checking activity reminders 
[2026-04-28 13:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:35] [INFO] Checking activity reminders 
[2026-04-28 13:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:43] [INFO] Checking activity reminders 
[2026-04-28 13:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:44] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 13:10:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 13:10:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 13:10:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 13:10:50] [INFO] Checking activity reminders 
[2026-04-28 13:10:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:53] [INFO] Checking activity reminders 
[2026-04-28 13:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:10:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:11:05] [INFO] Checking activity reminders 
[2026-04-28 13:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:14] [INFO] Checking activity reminders 
[2026-04-28 13:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:23] [INFO] Checking activity reminders 
[2026-04-28 13:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:35] [INFO] Checking activity reminders 
[2026-04-28 13:11:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:42] [INFO] Checking activity reminders 
[2026-04-28 13:11:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:43] [INFO] Checking activity reminders 
[2026-04-28 13:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:44] [INFO] Checking activity reminders 
[2026-04-28 13:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:11:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 13:11:55","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 13:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:11:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","is_new_deal":false}
[2026-04-28 13:11:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:11:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:11:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:11:55] [INFO] getContactPrimaryPhone called {"contact_id":"9020"}
[2026-04-28 13:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:11:55] [INFO] getContactPrimaryPhone result {"contact_id":"9020","person_found":true,"primary_phone":"9120864521"}
[2026-04-28 13:11:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120864521"}
[2026-04-28 13:11:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120864521","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:11:55"}
[2026-04-28 13:11:55] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","existing_deal_found":true,"existing_contact_id":"9020","existing_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:11:55"}
[2026-04-28 13:11:55] [INFO] DealController.save validated payments {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 13:11:55] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9020","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 13:11:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f060e77a2d50.43817908","contact_didar_id":"9020","title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9120864521","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بهزاد شبیهی","existing_deal":"YES","existing_deal_id":"local_69f060e77a2d50.43817908","existing_deal_status":"Pending","server_time":"2026-04-28 13:11:55","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 13:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:11:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":10000000,"server_time":"2026-04-28 13:11:55","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 13:11:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:12:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 13:12:02","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 13:12:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:12:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9020","is_new_deal":false}
[2026-04-28 13:12:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:12:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:12:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 13:12:02] [INFO] getContactPrimaryPhone called {"contact_id":"9020"}
[2026-04-28 13:12:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:12:02] [INFO] getContactPrimaryPhone result {"contact_id":"9020","person_found":true,"primary_phone":"9120864521"}
[2026-04-28 13:12:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120864521"}
[2026-04-28 13:12:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120864521","contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:12:02"}
[2026-04-28 13:12:02] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","existing_deal_found":true,"existing_contact_id":"9020","existing_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:12:02"}
[2026-04-28 13:12:02] [INFO] DealController.save validated payments {"deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 13:12:02] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9020","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 13:12:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f060e77a2d50.43817908","contact_didar_id":"9020","title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9120864521","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"بهزاد شبیهی","existing_deal":"YES","existing_deal_id":"local_69f060e77a2d50.43817908","existing_deal_status":"Pending","server_time":"2026-04-28 13:12:02","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 13:12:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:12:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f060e77a2d50.43817908","contact_id":"9020","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9120864521 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":10000000,"server_time":"2026-04-28 13:12:02","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 13:12:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-28 13:12:05] [INFO] Checking activity reminders 
[2026-04-28 13:12:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:12:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:12:14] [INFO] Checking activity reminders 
[2026-04-28 13:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:12:35] [INFO] Checking activity reminders 
[2026-04-28 13:12:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:12:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:12:44] [INFO] Checking activity reminders 
[2026-04-28 13:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:13:05] [INFO] Checking activity reminders 
[2026-04-28 13:13:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:13:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:13:14] [INFO] Checking activity reminders 
[2026-04-28 13:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:13:35] [INFO] Checking activity reminders 
[2026-04-28 13:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:13:44] [INFO] Checking activity reminders 
[2026-04-28 13:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:13:47] [INFO] Lead update received {"contact_id":"local_69f07fa5444715.46092725","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 13:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:13:47] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f07fa5444715.46092725"}
[2026-04-28 13:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:05] [INFO] Checking activity reminders 
[2026-04-28 13:14:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:14:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:14:07] [INFO] Activity save request {"post_data":{"contact_id":"local_69f07fa5444715.46092725","deal_id":"local_69f07fa549afc","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال میخواد ساعت 5 تماس","activity_duration":"5","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:14:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f07fa5444715.46092725","note_was_empty":true}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:07] [INFO] Updating virtual stage {"contact_id":"local_69f07fa5444715.46092725","stage_name":"new","force":false}
[2026-04-28 13:14:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fa5444715.46092725","stage_name":"new"}
[2026-04-28 13:14:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fa5444715.46092725"}
[2026-04-28 13:14:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f07fa549afc","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:14:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f08167a160a9.32022460","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69f08167a160a9.32022460"}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:07] [INFO] Updating virtual stage {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered","force":false}
[2026-04-28 13:14:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered"}
[2026-04-28 13:14:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fa5444715.46092725"}
[2026-04-28 13:14:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-28 13:14:10] [INFO] Checking activity reminders 
[2026-04-28 13:14:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:14:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:14:35] [INFO] Checking activity reminders 
[2026-04-28 13:14:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:14:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:14:40] [INFO] Checking activity reminders 
[2026-04-28 13:14:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:14:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:15:05] [INFO] Checking activity reminders 
[2026-04-28 13:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:15:10] [INFO] Checking activity reminders 
[2026-04-28 13:15:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:15:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:15:35] [INFO] Checking activity reminders 
[2026-04-28 13:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:15:40] [INFO] Checking activity reminders 
[2026-04-28 13:15:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:15:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:05] [INFO] Checking activity reminders 
[2026-04-28 13:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:10] [INFO] Checking activity reminders 
[2026-04-28 13:16:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:23] [INFO] Checking activity reminders 
[2026-04-28 13:16:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:36] [INFO] Checking activity reminders 
[2026-04-28 13:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:40] [INFO] Checking activity reminders 
[2026-04-28 13:16:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:16:53] [INFO] Checking activity reminders 
[2026-04-28 13:16:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:16:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:06] [INFO] Checking activity reminders 
[2026-04-28 13:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:10] [INFO] Checking activity reminders 
[2026-04-28 13:17:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:17:23] [INFO] Checking activity reminders 
[2026-04-28 13:17:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:36] [INFO] Checking activity reminders 
[2026-04-28 13:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:40] [INFO] Checking activity reminders 
[2026-04-28 13:17:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:17:53] [INFO] Checking activity reminders 
[2026-04-28 13:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:06] [INFO] Checking activity reminders 
[2026-04-28 13:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:10] [INFO] Checking activity reminders 
[2026-04-28 13:18:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:23] [INFO] Checking activity reminders 
[2026-04-28 13:18:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:36] [INFO] Checking activity reminders 
[2026-04-28 13:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:41] [INFO] Checking activity reminders 
[2026-04-28 13:18:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:18:53] [INFO] Checking activity reminders 
[2026-04-28 13:18:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:18:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:06] [INFO] Checking activity reminders 
[2026-04-28 13:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:10] [INFO] Checking activity reminders 
[2026-04-28 13:19:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:23] [INFO] Checking activity reminders 
[2026-04-28 13:19:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:36] [INFO] Checking activity reminders 
[2026-04-28 13:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:40] [INFO] Checking activity reminders 
[2026-04-28 13:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:19:53] [INFO] Checking activity reminders 
[2026-04-28 13:19:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:19:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:06] [INFO] Checking activity reminders 
[2026-04-28 13:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:10] [INFO] Checking activity reminders 
[2026-04-28 13:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:23] [INFO] Checking activity reminders 
[2026-04-28 13:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:23] [INFO] Checking activity reminders 
[2026-04-28 13:20:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:36] [INFO] Checking activity reminders 
[2026-04-28 13:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:20:53] [INFO] Checking activity reminders 
[2026-04-28 13:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:21:06] [INFO] Checking activity reminders 
[2026-04-28 13:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:21:23] [INFO] Checking activity reminders 
[2026-04-28 13:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:21:36] [INFO] Checking activity reminders 
[2026-04-28 13:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:21:53] [INFO] Checking activity reminders 
[2026-04-28 13:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:22:06] [INFO] Checking activity reminders 
[2026-04-28 13:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:22:10] [INFO] Checking activity reminders 
[2026-04-28 13:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:22:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:14] [INFO] generateDealTitle result {"contact_id":"local_69f07fd5a950c8.03863822","person_name":"لید جدید","mobile":"9134605003","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9134605003"}
[2026-04-28 13:22:36] [INFO] Checking activity reminders 
[2026-04-28 13:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:22:40] [INFO] Activity save request {"post_data":{"contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:22:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f07fd5a950c8.03863822","note_was_empty":true}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"new","force":false}
[2026-04-28 13:22:40] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"new"}
[2026-04-28 13:22:40] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 13:22:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f07fd5abfaf","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 13:22:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f083687c6a41.13096094","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69f083687c6a41.13096094"}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered","force":false}
[2026-04-28 13:22:40] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered"}
[2026-04-28 13:22:40] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 13:22:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 13:22:40] [INFO] Checking activity reminders 
[2026-04-28 13:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:22:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-28 13:23:06] [INFO] Checking activity reminders 
[2026-04-28 13:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:23:10] [INFO] Checking activity reminders 
[2026-04-28 13:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:23:37] [INFO] Checking activity reminders 
[2026-04-28 13:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:23:40] [INFO] Checking activity reminders 
[2026-04-28 13:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:24:07] [INFO] Checking activity reminders 
[2026-04-28 13:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:24:10] [INFO] Checking activity reminders 
[2026-04-28 13:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:24:37] [INFO] Checking activity reminders 
[2026-04-28 13:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:24:41] [INFO] Checking activity reminders 
[2026-04-28 13:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:25:07] [INFO] Checking activity reminders 
[2026-04-28 13:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:25:11] [INFO] Checking activity reminders 
[2026-04-28 13:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:25:37] [INFO] Checking activity reminders 
[2026-04-28 13:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:25:41] [INFO] Checking activity reminders 
[2026-04-28 13:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:26:07] [INFO] Checking activity reminders 
[2026-04-28 13:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:26:11] [INFO] Checking activity reminders 
[2026-04-28 13:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:26:37] [INFO] Checking activity reminders 
[2026-04-28 13:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:27:07] [INFO] Checking activity reminders 
[2026-04-28 13:27:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:27:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:27:37] [INFO] Checking activity reminders 
[2026-04-28 13:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:28:07] [INFO] Checking activity reminders 
[2026-04-28 13:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:28:38] [INFO] Checking activity reminders 
[2026-04-28 13:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:29:08] [INFO] Checking activity reminders 
[2026-04-28 13:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:29:36] [INFO] Checking activity reminders 
[2026-04-28 13:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:29:38] [INFO] Checking activity reminders 
[2026-04-28 13:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:29:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 13:29:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 13:29:50] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 13:29:52] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f7ab691c9.57973904","deal_id":"local_69f05f7abbb75","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دانشجو \/ مشارکت ساخت با عموش \/ اصفهان \/ نقد 600ت \/ 3500 تو ساختمون \/ ماشین مصرف 206\/ \r\nدیدم واتس اپ 3سال پیش هم مشاوره هوش کارشناسی گرفته کانال گرفته ش ارسال شده انجام نداده \/ بهش گفتم بعد 3سال تصمیم قطعی داری؟ مشتورت با بستگان تا ساعت 14 اطلاع \r\n6ماهه 39ت فعلا تا اخر سال 79 ","activity_duration":"25","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:29:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:29:52] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:29:52] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:29:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:29:52] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f05f7ab691c9.57973904","note_was_empty":true}
[2026-04-28 13:29:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:29:52] [INFO] Updating virtual stage {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"new","force":false}
[2026-04-28 13:29:52] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"new"}
[2026-04-28 13:29:52] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f7ab691c9.57973904"}
[2026-04-28 13:29:52] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f7abbb75","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:29:52] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f08518e7e4e5.12545628","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:29:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:29:52] [INFO] Activity saved successfully {"activity_id":"local_activity_69f08518e7e4e5.12545628"}
[2026-04-28 13:29:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:29:52] [INFO] Updating virtual stage {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered","force":false}
[2026-04-28 13:29:52] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered"}
[2026-04-28 13:29:52] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f7ab691c9.57973904"}
[2026-04-28 13:29:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:30:04] [INFO] Checking activity reminders 
[2026-04-28 13:30:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 13:30:05] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 13:30:05] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 13:30:05] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 13:30:06] [INFO] Checking activity reminders 
[2026-04-28 13:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:08] [INFO] Checking activity reminders 
[2026-04-28 13:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:17] [INFO] Checking activity reminders 
[2026-04-28 13:30:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:24] [INFO] Lead update received {"contact_id":"local_69f05f7ab691c9.57973904","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:30:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f05f7ab691c9.57973904"}
[2026-04-28 13:30:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:30:36] [INFO] Checking activity reminders 
[2026-04-28 13:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:38] [INFO] Checking activity reminders 
[2026-04-28 13:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:31:06] [INFO] Checking activity reminders 
[2026-04-28 13:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:31:08] [INFO] Checking activity reminders 
[2026-04-28 13:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:31:36] [INFO] Checking activity reminders 
[2026-04-28 13:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:31:38] [INFO] Checking activity reminders 
[2026-04-28 13:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:32:06] [INFO] Checking activity reminders 
[2026-04-28 13:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:32:08] [INFO] Checking activity reminders 
[2026-04-28 13:32:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:32:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:32:36] [INFO] Checking activity reminders 
[2026-04-28 13:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:32:38] [INFO] Checking activity reminders 
[2026-04-28 13:32:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:32:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:33:06] [INFO] Checking activity reminders 
[2026-04-28 13:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:33:08] [INFO] Checking activity reminders 
[2026-04-28 13:33:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:33:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:33:25] [INFO] Activity save request {"post_data":{"contact_id":"local_69f059d1d43ed0.41362178","deal_id":"local_69f059d1e177d","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:33:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f059d1d43ed0.41362178","note_was_empty":true}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:25] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"new","force":false}
[2026-04-28 13:33:25] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"new"}
[2026-04-28 13:33:25] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:33:25] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f059d1e177d","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:33:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f085ed3944e2.31606616","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69f085ed3944e2.31606616"}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:25] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered","force":false}
[2026-04-28 13:33:25] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered"}
[2026-04-28 13:33:25] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:33:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:33:36] [INFO] Checking activity reminders 
[2026-04-28 13:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:33:38] [INFO] Checking activity reminders 
[2026-04-28 13:33:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:33:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:34:06] [INFO] Checking activity reminders 
[2026-04-28 13:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:34:10] [INFO] Checking activity reminders 
[2026-04-28 13:34:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:34:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:34:36] [INFO] Checking activity reminders 
[2026-04-28 13:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:35:06] [INFO] Checking activity reminders 
[2026-04-28 13:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:35:11] [INFO] Checking activity reminders 
[2026-04-28 13:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:35:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:35:36] [INFO] Checking activity reminders 
[2026-04-28 13:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:35:41] [INFO] Checking activity reminders 
[2026-04-28 13:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:36:07] [INFO] Checking activity reminders 
[2026-04-28 13:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:36:37] [INFO] Checking activity reminders 
[2026-04-28 13:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:36:50] [INFO] Checking activity reminders 
[2026-04-28 13:36:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:36:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:37:02] [INFO] Checking activity reminders 
[2026-04-28 13:37:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:37:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:37:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 13:37:32] [INFO] Checking activity reminders 
[2026-04-28 13:37:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:37:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:38:02] [INFO] Checking activity reminders 
[2026-04-28 13:38:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:38:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:38:32] [INFO] Checking activity reminders 
[2026-04-28 13:38:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:38:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:38:37] [INFO] Checking activity reminders 
[2026-04-28 13:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:39:08] [INFO] Checking activity reminders 
[2026-04-28 13:39:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:39:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:39:38] [INFO] Checking activity reminders 
[2026-04-28 13:39:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:39:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:40:08] [INFO] Checking activity reminders 
[2026-04-28 13:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:40:38] [INFO] Checking activity reminders 
[2026-04-28 13:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:41:08] [INFO] Checking activity reminders 
[2026-04-28 13:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:41:38] [INFO] Checking activity reminders 
[2026-04-28 13:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:42:08] [INFO] Checking activity reminders 
[2026-04-28 13:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:42:38] [INFO] Checking activity reminders 
[2026-04-28 13:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:42:41] [INFO] Checking activity reminders 
[2026-04-28 13:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:43:08] [INFO] Checking activity reminders 
[2026-04-28 13:43:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:43:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:43:11] [INFO] Checking activity reminders 
[2026-04-28 13:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:43:12] [INFO] Activity save request {"post_data":{"contact_id":"9213","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"دسترسی سایت میخواست ارجاع به پشتیبان\/ کارشناسی میاد خودش اطلاع \/ نمایشگاه زده دنبال جوازه","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:43:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:43:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:43:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"9213","note_was_empty":true}
[2026-04-28 13:43:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"9213","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 13:43:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f08838cce3a9.42997340","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:43:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69f08838cce3a9.42997340"}
[2026-04-28 13:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:43:12] [INFO] Updating virtual stage {"contact_id":"9213","stage_name":"deal_registered","force":false}
[2026-04-28 13:43:12] [INFO] Virtual stage successfully saved {"contact_id":"9213","stage_name":"deal_registered"}
[2026-04-28 13:43:12] [INFO] Virtual stage updated after activity save {"contact_id":"9213"}
[2026-04-28 13:43:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9213","person_id":"7261"}
[2026-04-28 13:43:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:43:38] [INFO] Checking activity reminders 
[2026-04-28 13:43:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:43:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:43:41] [INFO] Checking activity reminders 
[2026-04-28 13:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:44:08] [INFO] Checking activity reminders 
[2026-04-28 13:44:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:44:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:44:12] [INFO] Checking activity reminders 
[2026-04-28 13:44:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:44:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:44:38] [INFO] Checking activity reminders 
[2026-04-28 13:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:44:42] [INFO] Checking activity reminders 
[2026-04-28 13:44:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:44:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:45:08] [INFO] Checking activity reminders 
[2026-04-28 13:45:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:45:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:45:12] [INFO] Checking activity reminders 
[2026-04-28 13:45:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:45:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:45:26] [INFO] Lead update received {"contact_id":"local_69f059d1d43ed0.41362178","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 13:45:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:45:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:45:26] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:45:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:45:38] [INFO] Checking activity reminders 
[2026-04-28 13:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:45:42] [INFO] Checking activity reminders 
[2026-04-28 13:45:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:45:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:46:09] [INFO] Checking activity reminders 
[2026-04-28 13:46:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:46:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:46:12] [INFO] Checking activity reminders 
[2026-04-28 13:46:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:46:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:46:39] [INFO] Checking activity reminders 
[2026-04-28 13:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:46:42] [INFO] Checking activity reminders 
[2026-04-28 13:46:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:46:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:47:09] [INFO] Checking activity reminders 
[2026-04-28 13:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:47:12] [INFO] Checking activity reminders 
[2026-04-28 13:47:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:47:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:47:39] [INFO] Checking activity reminders 
[2026-04-28 13:47:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:47:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:47:42] [INFO] Checking activity reminders 
[2026-04-28 13:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:48:09] [INFO] Checking activity reminders 
[2026-04-28 13:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:48:12] [INFO] Checking activity reminders 
[2026-04-28 13:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:48:39] [INFO] Checking activity reminders 
[2026-04-28 13:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:48:42] [INFO] Checking activity reminders 
[2026-04-28 13:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:49:09] [INFO] Checking activity reminders 
[2026-04-28 13:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:49:12] [INFO] Checking activity reminders 
[2026-04-28 13:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:49:39] [INFO] Checking activity reminders 
[2026-04-28 13:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:49:43] [INFO] Checking activity reminders 
[2026-04-28 13:49:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:49:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:49:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:09] [INFO] Checking activity reminders 
[2026-04-28 13:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:50:13] [INFO] Checking activity reminders 
[2026-04-28 13:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:50:39] [INFO] Checking activity reminders 
[2026-04-28 13:50:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:50:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:50:43] [INFO] Checking activity reminders 
[2026-04-28 13:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:50:48] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 13:50:48","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 13:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:48] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","is_new_deal":false}
[2026-04-28 13:50:48] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:48] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:48] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:48] [INFO] getContactPrimaryPhone called {"contact_id":"3609"}
[2026-04-28 13:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:48] [INFO] getContactPrimaryPhone result {"contact_id":"3609","person_found":true,"primary_phone":"9102419116"}
[2026-04-28 13:50:48] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102419116"}
[2026-04-28 13:50:48] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102419116","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:50:48"}
[2026-04-28 13:50:48] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","existing_deal_found":true,"existing_contact_id":"3609","existing_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:50:48"}
[2026-04-28 13:50:48] [INFO] DealController.save validated payments {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-28 13:50:48] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3609","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 13:50:48] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e38ccaea9974.42698321","contact_didar_id":"3609","title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9102419116","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسن مومنی","existing_deal":"YES","existing_deal_id":"local_69e38ccaea9974.42698321","existing_deal_status":"Pending","server_time":"2026-04-28 13:50:48","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 13:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:48] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-28 13:50:48","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 13:50:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 13:50:57","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"3609","is_new_deal":false}
[2026-04-28 13:50:57] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:57] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:57] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 13:50:57] [INFO] getContactPrimaryPhone called {"contact_id":"3609"}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [INFO] getContactPrimaryPhone result {"contact_id":"3609","person_found":true,"primary_phone":"9102419116"}
[2026-04-28 13:50:57] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9102419116"}
[2026-04-28 13:50:57] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9102419116","contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:50:57"}
[2026-04-28 13:50:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","existing_deal_found":true,"existing_contact_id":"3609","existing_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 13:50:57"}
[2026-04-28 13:50:57] [INFO] DealController.save validated payments {"deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-28 13:50:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"3609","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 13:50:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69e38ccaea9974.42698321","contact_didar_id":"3609","title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9102419116","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"حسن مومنی","existing_deal":"YES","existing_deal_id":"local_69e38ccaea9974.42698321","existing_deal_status":"Pending","server_time":"2026-04-28 13:50:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [INFO] Deal success processed {"contact_id":"3609","person_name":"حسن مومنی","products_count":1}
[2026-04-28 13:50:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69e38ccaea9974.42698321","contact_id":"3609","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9102419116 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-28 13:50:57","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:50:57] [INFO] Updating virtual stage {"contact_id":"3609","stage_name":"with_purchase","force":true}
[2026-04-28 13:50:57] [INFO] Virtual stage successfully saved {"contact_id":"3609","stage_name":"with_purchase"}
[2026-04-28 13:50:57] [INFO] Moved contact out of kariz after successful deal {"contact_id":"3609","deal_id":"local_69e38ccaea9974.42698321","target_stage":"with_purchase"}
[2026-04-28 13:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 13:51:09] [INFO] Checking activity reminders 
[2026-04-28 13:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:51:13] [INFO] Checking activity reminders 
[2026-04-28 13:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:51:39] [INFO] Checking activity reminders 
[2026-04-28 13:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:51:43] [INFO] Checking activity reminders 
[2026-04-28 13:51:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:51:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:52:09] [INFO] Checking activity reminders 
[2026-04-28 13:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:52:13] [INFO] Checking activity reminders 
[2026-04-28 13:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:52:40] [INFO] Checking activity reminders 
[2026-04-28 13:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:52:43] [INFO] Checking activity reminders 
[2026-04-28 13:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:53:10] [INFO] Checking activity reminders 
[2026-04-28 13:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:53:13] [INFO] Checking activity reminders 
[2026-04-28 13:53:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:53:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:53:40] [INFO] Checking activity reminders 
[2026-04-28 13:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:53:43] [INFO] Checking activity reminders 
[2026-04-28 13:53:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:53:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:54:10] [INFO] Checking activity reminders 
[2026-04-28 13:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:54:13] [INFO] Checking activity reminders 
[2026-04-28 13:54:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:54:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:54:38] [INFO] Activity save request {"post_data":{"contact_id":"local_69f059d1d43ed0.41362178","deal_id":"local_69f059d1e177d","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"معرفی شده \/ طلا 30 گرم ارزش امروز 540 \/ ","activity_duration":"20","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:54:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f059d1d43ed0.41362178","note_was_empty":true}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:38] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered","force":false}
[2026-04-28 13:54:38] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered"}
[2026-04-28 13:54:38] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:54:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f059d1e177d","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:54:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f08ae695c039.05893592","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69f08ae695c039.05893592"}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:38] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered","force":false}
[2026-04-28 13:54:38] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered"}
[2026-04-28 13:54:38] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:54:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:54:40] [INFO] Checking activity reminders 
[2026-04-28 13:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:54:43] [INFO] Checking activity reminders 
[2026-04-28 13:54:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:54:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:55:10] [INFO] Checking activity reminders 
[2026-04-28 13:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:55:13] [INFO] Checking activity reminders 
[2026-04-28 13:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:55:40] [INFO] Checking activity reminders 
[2026-04-28 13:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:55:43] [INFO] Checking activity reminders 
[2026-04-28 13:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:56:03] [INFO] Checking activity reminders 
[2026-04-28 13:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:56:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 13:56:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 13:56:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 13:56:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 13:56:10] [INFO] Checking activity reminders 
[2026-04-28 13:56:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:56:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:56:13] [INFO] Checking activity reminders 
[2026-04-28 13:56:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:56:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:56:22] [INFO] Activity save request {"post_data":{"contact_id":"local_69f059d1d43ed0.41362178","deal_id":"local_69f059d1e177d","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"12 اردیبهشت اطلاع میده \/ کپیتال پرواز هست راضی هست اما بهش گفتن حنفی نقطه ای سیگنال میده \/ ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:22] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 13:56:22] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:22] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f059d1d43ed0.41362178","note_was_empty":true}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:22] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered","force":false}
[2026-04-28 13:56:22] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered"}
[2026-04-28 13:56:22] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:56:22] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f059d1e177d","stage":"تماس پیگیری","status_change":null}
[2026-04-28 13:56:22] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f08b4e88d668.94343777","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:22] [INFO] Activity saved successfully {"activity_id":"local_activity_69f08b4e88d668.94343777"}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:22] [INFO] Updating virtual stage {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered","force":false}
[2026-04-28 13:56:22] [INFO] Virtual stage successfully saved {"contact_id":"local_69f059d1d43ed0.41362178","stage_name":"deal_registered"}
[2026-04-28 13:56:22] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f059d1d43ed0.41362178"}
[2026-04-28 13:56:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f059d1d43ed0.41362178","person_id":"22415"}
[2026-04-28 13:56:40] [INFO] Checking activity reminders 
[2026-04-28 13:56:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:56:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:56:43] [INFO] Checking activity reminders 
[2026-04-28 13:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:57:10] [INFO] Checking activity reminders 
[2026-04-28 13:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:57:14] [INFO] Checking activity reminders 
[2026-04-28 13:57:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:57:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:57:40] [INFO] Checking activity reminders 
[2026-04-28 13:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:57:44] [INFO] Checking activity reminders 
[2026-04-28 13:57:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:57:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:58:11] [INFO] Checking activity reminders 
[2026-04-28 13:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:58:14] [INFO] Checking activity reminders 
[2026-04-28 13:58:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:58:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:58:41] [INFO] Checking activity reminders 
[2026-04-28 13:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:58:44] [INFO] Checking activity reminders 
[2026-04-28 13:58:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:58:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:58:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 13:59:11] [INFO] Checking activity reminders 
[2026-04-28 13:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:59:14] [INFO] Checking activity reminders 
[2026-04-28 13:59:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:59:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:59:41] [INFO] Checking activity reminders 
[2026-04-28 13:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 13:59:44] [INFO] Checking activity reminders 
[2026-04-28 13:59:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 13:59:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:00:11] [INFO] Checking activity reminders 
[2026-04-28 14:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:00:14] [INFO] Checking activity reminders 
[2026-04-28 14:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:00:41] [INFO] Checking activity reminders 
[2026-04-28 14:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:00:44] [INFO] Checking activity reminders 
[2026-04-28 14:00:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:00:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:01:11] [INFO] Checking activity reminders 
[2026-04-28 14:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:01:14] [INFO] Checking activity reminders 
[2026-04-28 14:01:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:01:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:01:41] [INFO] Checking activity reminders 
[2026-04-28 14:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:01:44] [INFO] Checking activity reminders 
[2026-04-28 14:01:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:01:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:02:11] [INFO] Checking activity reminders 
[2026-04-28 14:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:02:14] [INFO] Checking activity reminders 
[2026-04-28 14:02:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:02:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:02:41] [INFO] Checking activity reminders 
[2026-04-28 14:02:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:02:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:02:45] [INFO] Checking activity reminders 
[2026-04-28 14:02:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:02:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:03:11] [INFO] Checking activity reminders 
[2026-04-28 14:03:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:03:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:03:15] [INFO] Checking activity reminders 
[2026-04-28 14:03:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:03:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:03:41] [INFO] Checking activity reminders 
[2026-04-28 14:03:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:03:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:03:45] [INFO] Checking activity reminders 
[2026-04-28 14:03:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:03:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:04:11] [INFO] Checking activity reminders 
[2026-04-28 14:04:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:04:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:04:15] [INFO] Checking activity reminders 
[2026-04-28 14:04:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:04:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:04:42] [INFO] Checking activity reminders 
[2026-04-28 14:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:04:45] [INFO] Checking activity reminders 
[2026-04-28 14:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:05:12] [INFO] Checking activity reminders 
[2026-04-28 14:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:05:15] [INFO] Checking activity reminders 
[2026-04-28 14:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:05:42] [INFO] Checking activity reminders 
[2026-04-28 14:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:05:45] [INFO] Checking activity reminders 
[2026-04-28 14:05:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:05:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:06:12] [INFO] Checking activity reminders 
[2026-04-28 14:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:06:15] [INFO] Checking activity reminders 
[2026-04-28 14:06:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:06:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:06:42] [INFO] Checking activity reminders 
[2026-04-28 14:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:06:45] [INFO] Checking activity reminders 
[2026-04-28 14:06:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:06:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:07:12] [INFO] Checking activity reminders 
[2026-04-28 14:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:07:15] [INFO] Checking activity reminders 
[2026-04-28 14:07:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:07:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:07:45] [INFO] Checking activity reminders 
[2026-04-28 14:07:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:07:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:08:15] [INFO] Checking activity reminders 
[2026-04-28 14:08:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:08:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:08:45] [INFO] Checking activity reminders 
[2026-04-28 14:08:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:08:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:12:08] [INFO] Checking activity reminders 
[2026-04-28 14:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:12:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:20] [INFO] Lead update received {"contact_id":"20565","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 14:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:20] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20565"}
[2026-04-28 14:12:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:24] [INFO] Checking activity reminders 
[2026-04-28 14:12:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:12:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:27] [INFO] generateDealTitle result {"contact_id":"20565","person_name":"موسوی اردبیل","mobile":"9358107416","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9358107416"}
[2026-04-28 14:12:40] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20565","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 14:12:40","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 14:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:40] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"20565","is_new_deal":true}
[2026-04-28 14:12:40] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:12:40] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:12:40] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:12:40] [INFO] getContactPrimaryPhone called {"contact_id":"20565"}
[2026-04-28 14:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:40] [INFO] getContactPrimaryPhone result {"contact_id":"20565","person_found":true,"primary_phone":"9358107416"}
[2026-04-28 14:12:40] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9358107416"}
[2026-04-28 14:12:40] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9358107416","contact_id":"20565","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 14:12:40"}
[2026-04-28 14:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:40] [INFO] generateDealTitle result {"contact_id":"20565","person_name":"موسوی اردبیل","mobile":"9358107416","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9358107416"}
[2026-04-28 14:12:40] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"20565","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-28 14:12:40] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20565","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 14:12:40] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"20565","title":"معامله دوم 9358107416 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9358107416","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"موسوی اردبیل","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-28 14:12:40","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 14:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:40] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-28 14:12:40] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"20565","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9358107416 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 14:12:40","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 14:12:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 14:12:48] [INFO] Checking activity reminders 
[2026-04-28 14:12:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:12:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:12:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:12:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:12:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:12:56] [INFO] generateDealTitle result {"contact_id":"7867","person_name":"کیوان میرشکاری","mobile":"9135394431","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9135394431"}
[2026-04-28 14:13:11] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7867","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 14:13:11","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-28 14:13:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:11] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"7867","is_new_deal":true}
[2026-04-28 14:13:11] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:13:11] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:13:11] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 14:13:11] [INFO] getContactPrimaryPhone called {"contact_id":"7867"}
[2026-04-28 14:13:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:11] [INFO] getContactPrimaryPhone result {"contact_id":"7867","person_found":true,"primary_phone":"9135394431"}
[2026-04-28 14:13:11] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9135394431"}
[2026-04-28 14:13:11] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9135394431","contact_id":"7867","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-28 14:13:11"}
[2026-04-28 14:13:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:11] [INFO] generateDealTitle result {"contact_id":"7867","person_name":"کیوان میرشکاری","mobile":"9135394431","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9135394431"}
[2026-04-28 14:13:11] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"7867","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-28 14:13:11] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"7867","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-28 14:13:11] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"7867","title":"معامله دوم 9135394431 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9135394431","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"کیوان میرشکاری","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-28 14:13:11","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-28 14:13:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:11] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-28 14:13:11] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"7867","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9135394431 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 14:13:11","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 14:13:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 14:13:38] [INFO] Checking activity reminders 
[2026-04-28 14:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:15:32] [INFO] Checking activity reminders 
[2026-04-28 14:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:15:42] [INFO] Checking activity reminders 
[2026-04-28 14:15:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:15:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:15:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21097","person_id":"10698"}
[2026-04-28 14:15:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5420","person_id":"9667"}
[2026-04-28 14:16:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4394","person_id":"12620"}
[2026-04-28 14:16:12] [INFO] Checking activity reminders 
[2026-04-28 14:16:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:16:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:16:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2495","person_id":"6885"}
[2026-04-28 14:16:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:16:42] [INFO] Checking activity reminders 
[2026-04-28 14:16:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:16:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:20:26] [INFO] Checking activity reminders 
[2026-04-28 14:20:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:20:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:20:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 14:20:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 14:20:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 14:20:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 14:20:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:20:43] [INFO] Lead update received {"contact_id":"1994","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 14:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:20:43] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1994"}
[2026-04-28 14:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 14:20:56] [INFO] Checking activity reminders 
[2026-04-28 14:20:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:20:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:21:17] [INFO] Checking activity reminders 
[2026-04-28 14:21:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:21:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"get_leads"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:09] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:56] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:56] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"check_reminders"}
[2026-04-28 14:24:56] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:57] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:58] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:58] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:59] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:24:59] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:38] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:38] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:38] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"get_leads"}
[2026-04-28 14:25:38] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:38] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:41] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:41] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:41] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"get_leads"}
[2026-04-28 14:25:41] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:48] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-28 14:25:49] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-28 14:25:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 14:25:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 14:25:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 14:25:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 14:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 14:26:10] [INFO] Checking activity reminders 
[2026-04-28 14:26:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:26:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:26:40] [INFO] Checking activity reminders 
[2026-04-28 14:26:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:26:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:26:45] [INFO] Checking activity reminders 
[2026-04-28 14:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:27:06] [INFO] Checking activity reminders 
[2026-04-28 14:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:31:18] [INFO] Checking activity reminders 
[2026-04-28 14:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:34:31] [INFO] Checking activity reminders 
[2026-04-28 14:34:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:34:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:34:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 14:34:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-28 14:35:08] [INFO] Checking activity reminders 
[2026-04-28 14:35:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:35:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:35:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-28 14:35:38] [INFO] Checking activity reminders 
[2026-04-28 14:35:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:35:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:40:31] [INFO] Checking activity reminders 
[2026-04-28 14:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:40:46] [INFO] Checking activity reminders 
[2026-04-28 14:40:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:40:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:43:11] [INFO] Checking activity reminders 
[2026-04-28 14:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:43:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 14:43:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 14:43:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 14:43:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 14:43:18] [INFO] Checking activity reminders 
[2026-04-28 14:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:43:41] [INFO] Checking activity reminders 
[2026-04-28 14:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:43:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_28","person_id":"21110"}
[2026-04-28 14:49:29] [INFO] Checking activity reminders 
[2026-04-28 14:49:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:49:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:49:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-28 14:50:07] [INFO] Checking activity reminders 
[2026-04-28 14:50:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:50:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:50:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"797","person_id":"13792"}
[2026-04-28 14:50:37] [INFO] Checking activity reminders 
[2026-04-28 14:50:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:50:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:51:00] [INFO] Checking activity reminders 
[2026-04-28 14:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:51:32] [INFO] Checking activity reminders 
[2026-04-28 14:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:51:45] [INFO] Checking activity reminders 
[2026-04-28 14:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15989","person_id":"13016"}
[2026-04-28 14:52:02] [INFO] Checking activity reminders 
[2026-04-28 14:52:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:52:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:52:04] [INFO] Checking activity reminders 
[2026-04-28 14:52:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:52:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:52:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21147","person_id":"19320"}
[2026-04-28 14:52:32] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f7ab691c9.57973904","deal_id":"local_69f05f7abbb75","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیام داد نمیتونه باشه زدم گفتم بهت که 3ساله از دست دادی بازم از دست میدی","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 14:52:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f05f7ab691c9.57973904","note_was_empty":true}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Updating virtual stage {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered","force":false}
[2026-04-28 14:52:32] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered"}
[2026-04-28 14:52:32] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f7ab691c9.57973904"}
[2026-04-28 14:52:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f7abbb75","stage":"تماس پیگیری","status_change":null}
[2026-04-28 14:52:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0987805c820.75440043","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0987805c820.75440043"}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Updating virtual stage {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered","force":false}
[2026-04-28 14:52:32] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f7ab691c9.57973904","stage_name":"deal_registered"}
[2026-04-28 14:52:32] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f7ab691c9.57973904"}
[2026-04-28 14:52:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f7ab691c9.57973904","person_id":"22418"}
[2026-04-28 14:52:32] [INFO] Checking activity reminders 
[2026-04-28 14:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:03] [INFO] Checking activity reminders 
[2026-04-28 14:53:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:07] [INFO] Checking activity reminders 
[2026-04-28 14:53:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:10] [INFO] Checking activity reminders 
[2026-04-28 14:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 14:53:24] [INFO] Checking activity reminders 
[2026-04-28 14:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:53:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:53:33] [INFO] Checking activity reminders 
[2026-04-28 14:53:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:40] [INFO] Checking activity reminders 
[2026-04-28 14:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:53:54] [INFO] Checking activity reminders 
[2026-04-28 14:53:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:53:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:54:03] [INFO] Checking activity reminders 
[2026-04-28 14:54:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:54:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:54:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:54:30] [INFO] Checking activity reminders 
[2026-04-28 14:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:54:33] [INFO] Checking activity reminders 
[2026-04-28 14:54:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:54:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:54:35] [INFO] Checking activity reminders 
[2026-04-28 14:54:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:54:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:55:03] [INFO] Checking activity reminders 
[2026-04-28 14:55:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:55:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:55:05] [INFO] Checking activity reminders 
[2026-04-28 14:55:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:55:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:55:33] [INFO] Checking activity reminders 
[2026-04-28 14:55:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:55:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:55:35] [INFO] Checking activity reminders 
[2026-04-28 14:55:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:55:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:55:41] [INFO] Lead update received {"contact_id":"local_69e8b43bee45c0.47356306","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 14:55:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:55:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:55:41] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-28 14:55:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 14:56:03] [INFO] Checking activity reminders 
[2026-04-28 14:56:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:56:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:56:06] [INFO] Checking activity reminders 
[2026-04-28 14:56:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:56:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:56:33] [INFO] Checking activity reminders 
[2026-04-28 14:56:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:56:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:56:36] [INFO] Checking activity reminders 
[2026-04-28 14:56:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:56:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:56:58] [INFO] Checking activity reminders 
[2026-04-28 14:56:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:56:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:57:03] [INFO] Checking activity reminders 
[2026-04-28 14:57:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:57:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:57:06] [INFO] Checking activity reminders 
[2026-04-28 14:57:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:57:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:57:33] [INFO] Checking activity reminders 
[2026-04-28 14:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:57:33] [INFO] Checking activity reminders 
[2026-04-28 14:57:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:57:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:57:36] [INFO] Checking activity reminders 
[2026-04-28 14:57:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:57:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:58:03] [INFO] Checking activity reminders 
[2026-04-28 14:58:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:58:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:58:06] [INFO] Checking activity reminders 
[2026-04-28 14:58:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:58:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:58:14] [INFO] Activity save request {"post_data":{"contact_id":"3609","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تسویه 6 ماهه بدون پشتیبانی \r\nدر صورت تغییر فاکتور به پشتیبانی و یا یکساله اطلاع میده \r\n","activity_duration":"3","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 14:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 14:58:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 14:58:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 14:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 14:58:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"3609","note_was_empty":true}
[2026-04-28 14:58:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"3609","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 14:58:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f099ce178b60.42731153","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 14:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 14:58:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f099ce178b60.42731153"}
[2026-04-28 14:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 14:58:14] [INFO] Updating virtual stage {"contact_id":"3609","stage_name":"with_purchase","force":false}
[2026-04-28 14:58:14] [INFO] Virtual stage successfully saved {"contact_id":"3609","stage_name":"with_purchase"}
[2026-04-28 14:58:14] [INFO] Virtual stage updated after activity save {"contact_id":"3609"}
[2026-04-28 14:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-28 14:58:33] [INFO] Checking activity reminders 
[2026-04-28 14:58:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:58:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:58:36] [INFO] Checking activity reminders 
[2026-04-28 14:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:59:03] [INFO] Checking activity reminders 
[2026-04-28 14:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:59:06] [INFO] Checking activity reminders 
[2026-04-28 14:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:59:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 14:59:34] [INFO] Checking activity reminders 
[2026-04-28 14:59:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:59:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 14:59:36] [INFO] Checking activity reminders 
[2026-04-28 14:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 14:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:00:04] [INFO] Checking activity reminders 
[2026-04-28 15:00:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:00:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:00:06] [INFO] Checking activity reminders 
[2026-04-28 15:00:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:00:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:00:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 15:00:24","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 15:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"21608","is_new_deal":false}
[2026-04-28 15:00:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:00:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:00:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:00:24] [INFO] getContactPrimaryPhone called {"contact_id":"21608"}
[2026-04-28 15:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:24] [INFO] getContactPrimaryPhone result {"contact_id":"21608","person_found":true,"primary_phone":"9151632237"}
[2026-04-28 15:00:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9151632237"}
[2026-04-28 15:00:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9151632237","contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:00:24"}
[2026-04-28 15:00:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","existing_deal_found":true,"existing_contact_id":"21608","existing_title":"معامله دوم 9151632237 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:00:24"}
[2026-04-28 15:00:24] [INFO] DealController.save validated payments {"deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 15:00:24] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21608","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 15:00:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b533bc5cb524.07389212","contact_didar_id":"21608","title":"معامله دوم 9151632237 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9151632237","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":13000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"اسماعیل دلسوز","existing_deal":"YES","existing_deal_id":"local_69b533bc5cb524.07389212","existing_deal_status":"Pending","server_time":"2026-04-28 15:00:24","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 15:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b533bc5cb524.07389212","contact_id":"21608","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9151632237 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":13000000,"server_time":"2026-04-28 15:00:24","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 15:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:34] [INFO] Checking activity reminders 
[2026-04-28 15:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:00:36] [INFO] Checking activity reminders 
[2026-04-28 15:00:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:00:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:00:56] [INFO] Activity save request {"post_data":{"contact_id":"21608","deal_id":"local_69b533bc5cb524.07389212","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"13 تومان برای کانال 6 ماهه بدون پشتیبان ی\r\nتسویه تا اخر ماه ","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:00:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21608","note_was_empty":true}
[2026-04-28 15:00:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"21608","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:56] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-28 15:00:56] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-28 15:00:56] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-28 15:00:56] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b533bc5cb524.07389212","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-28 15:00:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09a70224a36.11392596","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09a70224a36.11392596"}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:00:56] [INFO] Updating virtual stage {"contact_id":"21608","stage_name":"deal_registered","force":false}
[2026-04-28 15:00:56] [INFO] Virtual stage successfully saved {"contact_id":"21608","stage_name":"deal_registered"}
[2026-04-28 15:00:56] [INFO] Virtual stage updated after activity save {"contact_id":"21608"}
[2026-04-28 15:00:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:01:04] [INFO] Checking activity reminders 
[2026-04-28 15:01:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:06] [INFO] Checking activity reminders 
[2026-04-28 15:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:34] [INFO] Checking activity reminders 
[2026-04-28 15:01:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:36] [INFO] Checking activity reminders 
[2026-04-28 15:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:38] [INFO] Checking activity reminders 
[2026-04-28 15:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:39] [INFO] Checking activity reminders 
[2026-04-28 15:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:01:43] [INFO] Checking activity reminders 
[2026-04-28 15:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:02:04] [INFO] Checking activity reminders 
[2026-04-28 15:02:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:02:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:02:13] [INFO] Checking activity reminders 
[2026-04-28 15:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:02:34] [INFO] Checking activity reminders 
[2026-04-28 15:02:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:02:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:02:43] [INFO] Checking activity reminders 
[2026-04-28 15:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:02:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:04] [INFO] Checking activity reminders 
[2026-04-28 15:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:03:13] [INFO] Checking activity reminders 
[2026-04-28 15:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:03:21] [INFO] Lead update received {"contact_id":"local_69f07fd5a950c8.03863822","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 15:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 15:03:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:34] [INFO] Checking activity reminders 
[2026-04-28 15:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:03:43] [INFO] Checking activity reminders 
[2026-04-28 15:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:03:56] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 15:03:56","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 15:03:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:56] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","is_new_deal":false}
[2026-04-28 15:03:56] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 15:03:56] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 15:03:56] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 15:03:56] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 15:03:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:56] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f07fd5a950c8.03863822","person_found":true,"primary_phone":"9134605003"}
[2026-04-28 15:03:56] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134605003"}
[2026-04-28 15:03:56] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134605003","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:03:56"}
[2026-04-28 15:03:57] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","existing_deal_found":true,"existing_contact_id":"local_69f07fd5a950c8.03863822","existing_title":"معامله اول 9134605003","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:03:57"}
[2026-04-28 15:03:57] [INFO] DealController.save validated payments {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-28 15:03:57] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69f07fd5a950c8.03863822","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 15:03:57] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f07fd5abfaf","contact_didar_id":"local_69f07fd5a950c8.03863822","title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9134605003","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد عابدی","existing_deal":"YES","existing_deal_id":"local_69f07fd5abfaf","existing_deal_status":"Pending","server_time":"2026-04-28 15:03:57","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 15:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:03:57] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-28 15:03:57","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 15:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:04:04] [INFO] Checking activity reminders 
[2026-04-28 15:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:04:13] [INFO] Checking activity reminders 
[2026-04-28 15:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:04:35] [INFO] Checking activity reminders 
[2026-04-28 15:04:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:04:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:04:43] [INFO] Checking activity reminders 
[2026-04-28 15:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:05:05] [INFO] Checking activity reminders 
[2026-04-28 15:05:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:05:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:05:13] [INFO] Checking activity reminders 
[2026-04-28 15:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:05:26] [INFO] Activity save request {"post_data":{"contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"27 ساله \r\nاصفهان \/ کارمند \r\nشمش نقره و عیار نوسان \r\n25 م درامد \r\nمجرد \r\nماشین تصادف کرده ولی فروخته و خرید نکرده \r\nپرزنت 6 ماهه با پشتیبانی \r\n3 ماهه اشنا شده \r\nارسال اطلاعات در بله و پیامک ","activity_duration":"15","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:05:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f07fd5a950c8.03863822","note_was_empty":true}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:26] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered","force":false}
[2026-04-28 15:05:26] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered"}
[2026-04-28 15:05:26] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 15:05:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f07fd5abfaf","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-28 15:05:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09b7e1e6b86.98817992","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09b7e1e6b86.98817992"}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:26] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered","force":false}
[2026-04-28 15:05:26] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered"}
[2026-04-28 15:05:26] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 15:05:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 15:05:35] [INFO] Checking activity reminders 
[2026-04-28 15:05:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:05:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:05:43] [INFO] Checking activity reminders 
[2026-04-28 15:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:05:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:06:05] [INFO] Checking activity reminders 
[2026-04-28 15:06:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:06:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:06:14] [INFO] Checking activity reminders 
[2026-04-28 15:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:06:25] [INFO] Checking activity reminders 
[2026-04-28 15:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:06:35] [INFO] Checking activity reminders 
[2026-04-28 15:06:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:06:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:06:55] [INFO] Checking activity reminders 
[2026-04-28 15:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:07:05] [INFO] Checking activity reminders 
[2026-04-28 15:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:07:12] [INFO] Activity save request {"post_data":{"contact_id":"local_69e8b43bee45c0.47356306","deal_id":"local_69e8b43c09d2f","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"300 نقد طلا \/ ملک برای خانواده ارزش 15 میلیارد \/ \r\nمغازه پوشاک برای خانواده و خودش \r\n6ماهه 39ت گفتم تخفیف خواست\r\nگفت پول جور کنم بیام گفتم جا میمونی\r\n","activity_duration":"30","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:07:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69e8b43bee45c0.47356306","note_was_empty":true}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:12] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered","force":false}
[2026-04-28 15:07:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered"}
[2026-04-28 15:07:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-28 15:07:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69e8b43c09d2f","stage":"تماس پیگیری","status_change":null}
[2026-04-28 15:07:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09be8c3ee33.56368420","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09be8c3ee33.56368420"}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:12] [INFO] Updating virtual stage {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered","force":false}
[2026-04-28 15:07:12] [INFO] Virtual stage successfully saved {"contact_id":"local_69e8b43bee45c0.47356306","stage_name":"deal_registered"}
[2026-04-28 15:07:12] [INFO] Virtual stage updated after activity save {"contact_id":"local_69e8b43bee45c0.47356306"}
[2026-04-28 15:07:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:07:25] [INFO] Checking activity reminders 
[2026-04-28 15:07:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:07:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:07:35] [INFO] Checking activity reminders 
[2026-04-28 15:07:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:07:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:08:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:08:03] [INFO] Checking activity reminders 
[2026-04-28 15:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:08:05] [INFO] Checking activity reminders 
[2026-04-28 15:08:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:08:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:08:33] [INFO] Checking activity reminders 
[2026-04-28 15:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:08:35] [INFO] Checking activity reminders 
[2026-04-28 15:08:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:08:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:09:03] [INFO] Checking activity reminders 
[2026-04-28 15:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:09:05] [INFO] Checking activity reminders 
[2026-04-28 15:09:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:09:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:09:33] [INFO] Checking activity reminders 
[2026-04-28 15:09:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:09:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:09:35] [INFO] Checking activity reminders 
[2026-04-28 15:09:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:09:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:10:01] [INFO] Activity save request {"post_data":{"contact_id":"14806","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"عدم پاسخ ارسال پیام","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:10:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:10:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:10:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:10:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:10:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14806","note_was_empty":true}
[2026-04-28 15:10:01] [INFO] Didar write disabled; saving activity locally {"contact_id":"14806","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 15:10:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09c918e2362.88951144","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:10:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:10:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09c918e2362.88951144"}
[2026-04-28 15:10:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:10:01] [INFO] Updating virtual stage {"contact_id":"14806","stage_name":"with_purchase","force":false}
[2026-04-28 15:10:01] [INFO] Virtual stage successfully saved {"contact_id":"14806","stage_name":"with_purchase"}
[2026-04-28 15:10:01] [INFO] Virtual stage updated after activity save {"contact_id":"14806"}
[2026-04-28 15:10:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14806","person_id":"3928"}
[2026-04-28 15:10:03] [INFO] Checking activity reminders 
[2026-04-28 15:10:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:10:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:10:05] [INFO] Checking activity reminders 
[2026-04-28 15:10:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:10:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:10:33] [INFO] Checking activity reminders 
[2026-04-28 15:10:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:10:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:10:35] [INFO] Checking activity reminders 
[2026-04-28 15:10:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:10:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:11:03] [INFO] Checking activity reminders 
[2026-04-28 15:11:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:11:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:11:05] [INFO] Checking activity reminders 
[2026-04-28 15:11:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:11:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:11:33] [INFO] Checking activity reminders 
[2026-04-28 15:11:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:11:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:03] [INFO] Checking activity reminders 
[2026-04-28 15:12:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:15] [INFO] Checking activity reminders 
[2026-04-28 15:12:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:31] [INFO] Checking activity reminders 
[2026-04-28 15:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:31] [INFO] Activity save request {"post_data":{"contact_id":"12344","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"دستسری سایت اوکی بشه ارجاع پشتیبان","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:12:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:12:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:12:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:12:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:12:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"12344","note_was_empty":true}
[2026-04-28 15:12:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"12344","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 15:12:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09d27b236c8.81606365","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:12:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:12:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09d27b236c8.81606365"}
[2026-04-28 15:12:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:12:31] [INFO] Updating virtual stage {"contact_id":"12344","stage_name":"deal_registered","force":false}
[2026-04-28 15:12:31] [INFO] Virtual stage successfully saved {"contact_id":"12344","stage_name":"deal_registered"}
[2026-04-28 15:12:31] [INFO] Virtual stage updated after activity save {"contact_id":"12344"}
[2026-04-28 15:12:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12344","person_id":"2485"}
[2026-04-28 15:12:45] [INFO] Checking activity reminders 
[2026-04-28 15:12:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:51] [INFO] Checking activity reminders 
[2026-04-28 15:12:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:54] [INFO] Checking activity reminders 
[2026-04-28 15:12:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:56] [INFO] Checking activity reminders 
[2026-04-28 15:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:12:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","deal_id":"16953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 15:12:59","session_id":"n4494orkdd6thp517dqpialkrq"}
[2026-04-28 15:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:12:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","is_new_deal":false}
[2026-04-28 15:12:59] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:12:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:12:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 15:12:59] [INFO] getContactPrimaryPhone called {"contact_id":"16289"}
[2026-04-28 15:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:12:59] [INFO] getContactPrimaryPhone result {"contact_id":"16289","person_found":true,"primary_phone":"9193914132"}
[2026-04-28 15:12:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193914132"}
[2026-04-28 15:12:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193914132","contact_id":"16289","deal_id":"16953","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:12:59"}
[2026-04-28 15:12:59] [INFO] DealController.save existing deal lookup {"deal_id":"16953","contact_id":"16289","existing_deal_found":true,"existing_contact_id":"16289","existing_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 15:12:59"}
[2026-04-28 15:12:59] [INFO] DealController.save validated payments {"deal_id":"16953","contact_id":"16289","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-28 15:12:59] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"16289","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 15:12:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"16953","contact_didar_id":"16289","title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله مسعود قارزی","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مسعود قارزی","existing_deal":"YES","existing_deal_id":"16953","existing_deal_status":"Pending","server_time":"2026-04-28 15:12:59","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 15:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:12:59] [INFO] ensureDealProductsFromText: no product match {"deal_id":"16953","texts":["کانال VIP بدون پشتیبان شش ماهه"]}
[2026-04-28 15:12:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"16953","contact_id":"16289","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-28 15:12:59","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 15:12:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:13:15] [INFO] Checking activity reminders 
[2026-04-28 15:13:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:13:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:13:26] [INFO] Checking activity reminders 
[2026-04-28 15:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:13:45] [INFO] Checking activity reminders 
[2026-04-28 15:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:13:56] [INFO] Checking activity reminders 
[2026-04-28 15:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:13:56] [INFO] Checking activity reminders 
[2026-04-28 15:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:14:26] [INFO] Checking activity reminders 
[2026-04-28 15:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:14:30] [INFO] Checking activity reminders 
[2026-04-28 15:14:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:14:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:14:56] [INFO] Checking activity reminders 
[2026-04-28 15:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:15:00] [INFO] Checking activity reminders 
[2026-04-28 15:15:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:15:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:15:27] [INFO] Checking activity reminders 
[2026-04-28 15:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:15:57] [INFO] Checking activity reminders 
[2026-04-28 15:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:16:27] [INFO] Checking activity reminders 
[2026-04-28 15:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:16:57] [INFO] Checking activity reminders 
[2026-04-28 15:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:17:00] [INFO] Checking activity reminders 
[2026-04-28 15:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:17:00] [INFO] Checking activity reminders 
[2026-04-28 15:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:17:01] [INFO] Checking activity reminders 
[2026-04-28 15:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:17:03] [INFO] Lead update received {"contact_id":"1994","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 15:17:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:17:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:17:03] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1994"}
[2026-04-28 15:17:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:17:31] [INFO] Checking activity reminders 
[2026-04-28 15:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:17:57] [INFO] Checking activity reminders 
[2026-04-28 15:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:18:14] [INFO] Activity save request {"post_data":{"contact_id":"16289","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد برای 6 ماهه پیگیری \r\nمیگه چک بدم بهش گفتم نقدی هست و در نهایت تا اخر ماه تسویه \r\nخیلی چونه میزنه \r\nگفت اطلاع میدم ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:18:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:18:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:18:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"16289","note_was_empty":true}
[2026-04-28 15:18:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"16289","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 15:18:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f09e7e3eff95.98359678","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:18:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f09e7e3eff95.98359678"}
[2026-04-28 15:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:18:14] [INFO] Updating virtual stage {"contact_id":"16289","stage_name":"deal_registered","force":false}
[2026-04-28 15:18:14] [INFO] Virtual stage successfully saved {"contact_id":"16289","stage_name":"deal_registered"}
[2026-04-28 15:18:14] [INFO] Virtual stage updated after activity save {"contact_id":"16289"}
[2026-04-28 15:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-28 15:18:27] [INFO] Checking activity reminders 
[2026-04-28 15:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:18:57] [INFO] Checking activity reminders 
[2026-04-28 15:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:19:27] [INFO] Checking activity reminders 
[2026-04-28 15:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:19:47] [INFO] Checking activity reminders 
[2026-04-28 15:19:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:19:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:19:57] [INFO] Checking activity reminders 
[2026-04-28 15:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:19:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14846","person_id":"4679"}
[2026-04-28 15:20:27] [INFO] Checking activity reminders 
[2026-04-28 15:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:20:57] [INFO] Checking activity reminders 
[2026-04-28 15:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:21:28] [INFO] Checking activity reminders 
[2026-04-28 15:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:21:58] [INFO] Checking activity reminders 
[2026-04-28 15:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:21:58] [INFO] Checking activity reminders 
[2026-04-28 15:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:22:28] [INFO] Checking activity reminders 
[2026-04-28 15:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:22:58] [INFO] Checking activity reminders 
[2026-04-28 15:22:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:22:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:23:28] [INFO] Checking activity reminders 
[2026-04-28 15:23:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:23:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:23:29] [INFO] Checking activity reminders 
[2026-04-28 15:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:23:58] [INFO] Checking activity reminders 
[2026-04-28 15:23:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:23:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:24:28] [INFO] Checking activity reminders 
[2026-04-28 15:24:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:24:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:24:58] [INFO] Checking activity reminders 
[2026-04-28 15:24:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:24:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:25:28] [INFO] Checking activity reminders 
[2026-04-28 15:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:25:58] [INFO] Checking activity reminders 
[2026-04-28 15:25:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:25:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:26:28] [INFO] Checking activity reminders 
[2026-04-28 15:26:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:26:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:26:39] [INFO] Checking activity reminders 
[2026-04-28 15:26:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:26:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:26:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15975","person_id":"17599"}
[2026-04-28 15:26:58] [INFO] Checking activity reminders 
[2026-04-28 15:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:27:28] [INFO] Checking activity reminders 
[2026-04-28 15:27:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:27:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:27:59] [INFO] Checking activity reminders 
[2026-04-28 15:27:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:27:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:28:00] [INFO] Checking activity reminders 
[2026-04-28 15:28:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:28:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:28:29] [INFO] Checking activity reminders 
[2026-04-28 15:28:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:28:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:28:30] [INFO] Checking activity reminders 
[2026-04-28 15:28:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:28:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:28:59] [INFO] Checking activity reminders 
[2026-04-28 15:28:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:28:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:29:00] [INFO] Checking activity reminders 
[2026-04-28 15:29:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:29:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:29:29] [INFO] Checking activity reminders 
[2026-04-28 15:29:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:29:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:29:31] [INFO] Checking activity reminders 
[2026-04-28 15:29:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:29:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:29:45] [INFO] Checking activity reminders 
[2026-04-28 15:29:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:29:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:29:59] [INFO] Checking activity reminders 
[2026-04-28 15:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:30:01] [INFO] Checking activity reminders 
[2026-04-28 15:30:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:30:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:30:10] [INFO] Checking activity reminders 
[2026-04-28 15:30:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:30:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:30:29] [INFO] Checking activity reminders 
[2026-04-28 15:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:30:31] [INFO] Checking activity reminders 
[2026-04-28 15:30:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:30:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:30:54] [INFO] Activity save request {"post_data":{"contact_id":"1994","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال 2سال بوده پارسالو گفت خیلی بازدهی نداشته سوال کردم دقیقا کدوم بازار گفت شاید کوتاهی از خودم بوده گفتم قطعا \/ دید دادم بابت نوع نوسان گیری \/ زاهدان بوده الان ساری ساکن شده ویلا میسازه کنار دریا \/ ماشین چینی 1500 داره با اون معامله میکنه معمولا 1دونه 1دونه معامله میکنه حس شلوغی نداره \r\nملک مصرف داره\r\n100 ت نقد فعلا\r\nکانال 6ماهه 39ت تا جمعه بگه \r\nمیگه زیاد پیگیری نکنید خودم اطلاع میدم حساسه ","activity_duration":"35","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:30:54] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:30:54] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:30:54] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1994","note_was_empty":true}
[2026-04-28 15:30:54] [INFO] Didar write disabled; saving activity locally {"contact_id":"1994","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 15:30:54] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0a17663b438.78310861","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:30:54] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0a17663b438.78310861"}
[2026-04-28 15:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:30:54] [INFO] Updating virtual stage {"contact_id":"1994","stage_name":"deal_registered","force":false}
[2026-04-28 15:30:54] [INFO] Virtual stage successfully saved {"contact_id":"1994","stage_name":"deal_registered"}
[2026-04-28 15:30:54] [INFO] Virtual stage updated after activity save {"contact_id":"1994"}
[2026-04-28 15:30:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1994","person_id":"5554"}
[2026-04-28 15:30:59] [INFO] Checking activity reminders 
[2026-04-28 15:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:31:01] [INFO] Checking activity reminders 
[2026-04-28 15:31:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:31:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:31:09] [INFO] Checking activity reminders 
[2026-04-28 15:31:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:31:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:31:19] [INFO] Checking activity reminders 
[2026-04-28 15:31:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:31:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:31:31] [INFO] Checking activity reminders 
[2026-04-28 15:31:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:31:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:31:47] [INFO] Checking activity reminders 
[2026-04-28 15:31:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:31:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:32:01] [INFO] Checking activity reminders 
[2026-04-28 15:32:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:32:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:32:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:31] [INFO] Checking activity reminders 
[2026-04-28 15:32:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:32:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:32:33] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-28 15:32:33] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:33] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:34] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:35] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:35] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"get_leads"}
[2026-04-28 15:32:35] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:35] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:44] [INFO] Activity save request {"post_data":{"contact_id":"15859","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی صندوق ها نقران خرید زد","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:32:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15859","note_was_empty":true}
[2026-04-28 15:32:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"15859","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 15:32:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0a1e493ace8.84141203","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0a1e493ace8.84141203"}
[2026-04-28 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:44] [INFO] Updating virtual stage {"contact_id":"15859","stage_name":"with_purchase","force":false}
[2026-04-28 15:32:44] [INFO] Virtual stage successfully saved {"contact_id":"15859","stage_name":"with_purchase"}
[2026-04-28 15:32:44] [INFO] Virtual stage updated after activity save {"contact_id":"15859"}
[2026-04-28 15:32:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15859","person_id":"10402"}
[2026-04-28 15:32:56] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:32:56] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-28 15:32:56] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:33:01] [INFO] Checking activity reminders 
[2026-04-28 15:33:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:33:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:33:03] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:33:03] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-28 15:33:03] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-28 15:33:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 15:33:04] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 15:33:04] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 15:33:04] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 15:33:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8b43bee45c0.47356306","person_id":"22228"}
[2026-04-28 15:33:31] [INFO] Checking activity reminders 
[2026-04-28 15:33:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:33:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:34:13] [INFO] Checking activity reminders 
[2026-04-28 15:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:34:58] [INFO] Checking activity reminders 
[2026-04-28 15:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:35:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:35:08] [INFO] Lead update received {"contact_id":"15167","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 15:35:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:35:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:35:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:35:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"15167"}
[2026-04-28 15:35:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:35:26] [INFO] Checking activity reminders 
[2026-04-28 15:35:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:35:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:35:27] [INFO] Checking activity reminders 
[2026-04-28 15:35:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:35:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:35:51] [INFO] Checking activity reminders 
[2026-04-28 15:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:35:53] [INFO] Checking activity reminders 
[2026-04-28 15:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:35:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-28 15:36:07] [INFO] Checking activity reminders 
[2026-04-28 15:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:36:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:36:21] [INFO] Checking activity reminders 
[2026-04-28 15:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:36:37] [INFO] Checking activity reminders 
[2026-04-28 15:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:37:03] [INFO] Activity save request {"post_data":{"contact_id":"15167","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"باز ریپلای بله زده 207 داره 1400 بفروشه طلا کنه گفتم بیا کانال ","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 15:37:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 15:37:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 15:37:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15167","note_was_empty":true}
[2026-04-28 15:37:03] [INFO] Didar write disabled; saving activity locally {"contact_id":"15167","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-28 15:37:03] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0a2e77ba176.36317953","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 15:37:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:03] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0a2e77ba176.36317953"}
[2026-04-28 15:37:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:03] [INFO] Updating virtual stage {"contact_id":"15167","stage_name":"deal_registered","force":false}
[2026-04-28 15:37:03] [INFO] Virtual stage successfully saved {"contact_id":"15167","stage_name":"deal_registered"}
[2026-04-28 15:37:03] [INFO] Virtual stage updated after activity save {"contact_id":"15167"}
[2026-04-28 15:37:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:07] [INFO] Checking activity reminders 
[2026-04-28 15:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:37:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15167","person_id":"13679"}
[2026-04-28 15:37:38] [INFO] Checking activity reminders 
[2026-04-28 15:37:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:37:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:38:08] [INFO] Checking activity reminders 
[2026-04-28 15:38:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:38:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:38:38] [INFO] Checking activity reminders 
[2026-04-28 15:38:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:38:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:49:27] [INFO] Checking activity reminders 
[2026-04-28 15:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:50:16] [INFO] Checking activity reminders 
[2026-04-28 15:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:52:43] [INFO] Checking activity reminders 
[2026-04-28 15:52:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 15:52:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 15:58:24] [WARNING] Auth check failed - not authenticated {"session_id":"kkue4v3ftogrh2urm46torf1k3","session_keys":[],"action":"log_client_event"}
[2026-04-28 15:58:24] [WARNING] Login attempt failed - wrong password {"user_id":"8","identifier":"خانم شکیبا"}
[2026-04-28 16:02:21] [WARNING] Auth check failed - not authenticated {"session_id":"866r9fmd0jeut3efmdtu61b3jp","session_keys":[],"action":"log_client_event"}
[2026-04-28 16:02:21] [WARNING] Login attempt failed - wrong password {"user_id":"8","identifier":"خانم شکیبا"}
[2026-04-28 16:02:54] [WARNING] Auth check failed - not authenticated {"session_id":"866r9fmd0jeut3efmdtu61b3jp","session_keys":[],"action":"log_client_event"}
[2026-04-28 16:02:54] [WARNING] Login attempt failed - wrong password {"user_id":"8","identifier":"خانم شکیبا"}
[2026-04-28 16:03:03] [WARNING] Auth check failed - not authenticated {"session_id":"866r9fmd0jeut3efmdtu61b3jp","session_keys":[],"action":"log_client_event"}
[2026-04-28 16:03:03] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-28 16:03:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:03:16] [INFO] Checking activity reminders 
[2026-04-28 16:03:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:03:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:03:33] [INFO] Checking activity reminders 
[2026-04-28 16:03:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:03:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:03:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:03:43] [INFO] Checking activity reminders 
[2026-04-28 16:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:03:45] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:03:48] [INFO] Checking activity reminders 
[2026-04-28 16:03:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:03:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:04:18] [INFO] Checking activity reminders 
[2026-04-28 16:04:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:04:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:04:48] [INFO] Checking activity reminders 
[2026-04-28 16:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:05:18] [INFO] Checking activity reminders 
[2026-04-28 16:05:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:05:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:05:48] [INFO] Checking activity reminders 
[2026-04-28 16:05:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:05:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:06:18] [INFO] Checking activity reminders 
[2026-04-28 16:06:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:06:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:06:48] [INFO] Checking activity reminders 
[2026-04-28 16:06:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:06:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:06:57] [INFO] Checking activity reminders 
[2026-04-28 16:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:07:27] [INFO] Checking activity reminders 
[2026-04-28 16:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:07:57] [INFO] Checking activity reminders 
[2026-04-28 16:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:08:27] [INFO] Checking activity reminders 
[2026-04-28 16:08:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:08:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:08:32] [INFO] Checking activity reminders 
[2026-04-28 16:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:08:55] [INFO] Checking activity reminders 
[2026-04-28 16:08:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:08:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:09:22] [INFO] Checking activity reminders 
[2026-04-28 16:09:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:09:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:09:24] [INFO] Checking activity reminders 
[2026-04-28 16:09:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:09:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:09:54] [INFO] Checking activity reminders 
[2026-04-28 16:09:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:09:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:10:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:24] [INFO] Checking activity reminders 
[2026-04-28 16:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:10:39] [INFO] Activity save request {"post_data":{"contact_id":"local_69b6a793c4c6f7.03520358","deal_id":"local_69b6a793c8066","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید خودور ","activity_duration":"2","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:10:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b6a793c4c6f7.03520358","note_was_empty":true}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:39] [INFO] Updating virtual stage {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered","force":false}
[2026-04-28 16:10:39] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered"}
[2026-04-28 16:10:39] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-28 16:10:39] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6a793c8066","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-28 16:10:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0aac72ead49.12147056","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0aac72ead49.12147056"}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:39] [INFO] Updating virtual stage {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered","force":false}
[2026-04-28 16:10:39] [INFO] Virtual stage successfully saved {"contact_id":"local_69b6a793c4c6f7.03520358","stage_name":"deal_registered"}
[2026-04-28 16:10:39] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b6a793c4c6f7.03520358"}
[2026-04-28 16:10:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b6a793c4c6f7.03520358","person_id":"21866"}
[2026-04-28 16:10:54] [INFO] Checking activity reminders 
[2026-04-28 16:10:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:10:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:10:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Activity save request {"post_data":{"contact_id":"11111","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nارجاع به استاد ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:11:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11111","note_was_empty":true}
[2026-04-28 16:11:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"11111","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:11:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0aaf4c3b668.61582054","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0aaf4c3b668.61582054"}
[2026-04-28 16:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Updating virtual stage {"contact_id":"11111","stage_name":"with_purchase","force":false}
[2026-04-28 16:11:24] [INFO] Virtual stage successfully saved {"contact_id":"11111","stage_name":"with_purchase"}
[2026-04-28 16:11:24] [INFO] Virtual stage updated after activity save {"contact_id":"11111"}
[2026-04-28 16:11:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11111","person_id":"13814"}
[2026-04-28 16:11:24] [INFO] Checking activity reminders 
[2026-04-28 16:11:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:11:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:11:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:11:55] [INFO] Checking activity reminders 
[2026-04-28 16:11:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:11:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:12:25] [INFO] Checking activity reminders 
[2026-04-28 16:12:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:12:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:12:32] [INFO] Activity save request {"post_data":{"contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"پشتیبانی کانال \r\nنوسانات صندوق عیار ","activity_duration":"1","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:12:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12744","note_was_empty":true}
[2026-04-28 16:12:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"12744","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:32] [INFO] Updating virtual stage {"contact_id":"12744","stage_name":"deal_registered","force":false}
[2026-04-28 16:12:32] [INFO] Virtual stage successfully saved {"contact_id":"12744","stage_name":"deal_registered"}
[2026-04-28 16:12:32] [INFO] Virtual stage updated after activity save {"contact_id":"12744"}
[2026-04-28 16:12:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69c7fa564ab056.29171629","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-28 16:12:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ab3811b1b5.37946863","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ab3811b1b5.37946863"}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:32] [INFO] Updating virtual stage {"contact_id":"12744","stage_name":"deal_registered","force":false}
[2026-04-28 16:12:32] [INFO] Virtual stage successfully saved {"contact_id":"12744","stage_name":"deal_registered"}
[2026-04-28 16:12:32] [INFO] Virtual stage updated after activity save {"contact_id":"12744"}
[2026-04-28 16:12:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-28 16:12:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:12:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:12:55] [INFO] Checking activity reminders 
[2026-04-28 16:12:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:12:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:13:25] [INFO] Checking activity reminders 
[2026-04-28 16:13:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:13:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:13:28] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_96","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\n1.400 نقد اومده دستش برای خرید طلا یا نقره \r\nاصلا روی صندوق ها نوسان گیری و معامله نمیکنه ","activity_duration":"3","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:13:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:13:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:13:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_96","note_was_empty":true}
[2026-04-28 16:13:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ab702bc700.96808759","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:13:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ab702bc700.96808759"}
[2026-04-28 16:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:13:28] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_96","stage_name":"contact_followup","force":false}
[2026-04-28 16:13:28] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_96","stage_name":"contact_followup"}
[2026-04-28 16:13:28] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_96"}
[2026-04-28 16:13:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_96","person_id":"21173"}
[2026-04-28 16:13:55] [INFO] Checking activity reminders 
[2026-04-28 16:13:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:13:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:13:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:14:26] [INFO] Checking activity reminders 
[2026-04-28 16:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:14:56] [INFO] Checking activity reminders 
[2026-04-28 16:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:15:26] [INFO] Checking activity reminders 
[2026-04-28 16:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:15:56] [INFO] Checking activity reminders 
[2026-04-28 16:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:16:26] [INFO] Checking activity reminders 
[2026-04-28 16:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:16:56] [INFO] Checking activity reminders 
[2026-04-28 16:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:17:23] [INFO] Activity save request {"post_data":{"contact_id":"local_1403_09_26_99","deal_id":"local_69b72ca4f0a651.90282634","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تمدید کانال پرزنت شد \r\n","activity_duration":"1","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:17:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_1403_09_26_99","note_was_empty":true}
[2026-04-28 16:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:23] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered","force":false}
[2026-04-28 16:17:23] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered"}
[2026-04-28 16:17:23] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_99"}
[2026-04-28 16:17:23] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72ca4f0a651.90282634","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 16:17:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ac5be67356.66276380","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ac5be67356.66276380"}
[2026-04-28 16:17:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:23] [INFO] Updating virtual stage {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered","force":false}
[2026-04-28 16:17:23] [INFO] Virtual stage successfully saved {"contact_id":"local_1403_09_26_99","stage_name":"deal_registered"}
[2026-04-28 16:17:23] [INFO] Virtual stage updated after activity save {"contact_id":"local_1403_09_26_99"}
[2026-04-28 16:17:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_99","person_id":"21176"}
[2026-04-28 16:17:26] [INFO] Checking activity reminders 
[2026-04-28 16:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:17:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:17:56] [INFO] Checking activity reminders 
[2026-04-28 16:17:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:17:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:18:07] [INFO] Lead update received {"contact_id":"11595","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:18:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11595"}
[2026-04-28 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:18:26] [INFO] Checking activity reminders 
[2026-04-28 16:18:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:18:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:18:56] [INFO] Checking activity reminders 
[2026-04-28 16:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:19:27] [INFO] Checking activity reminders 
[2026-04-28 16:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:19:57] [INFO] Checking activity reminders 
[2026-04-28 16:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:20:18] [INFO] Activity save request {"post_data":{"contact_id":"11595","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nدر مورد وراد کردن ورقه های فولادی و مجوز ورود \r\nارجاع به استاد ","activity_duration":"8","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:20:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:20:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:20:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11595","note_was_empty":true}
[2026-04-28 16:20:18] [INFO] Didar write disabled; saving activity locally {"contact_id":"11595","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:20:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ad0a9ef3a1.85172560","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:20:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ad0a9ef3a1.85172560"}
[2026-04-28 16:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:20:18] [INFO] Updating virtual stage {"contact_id":"11595","stage_name":"with_purchase","force":false}
[2026-04-28 16:20:18] [INFO] Virtual stage successfully saved {"contact_id":"11595","stage_name":"with_purchase"}
[2026-04-28 16:20:18] [INFO] Virtual stage updated after activity save {"contact_id":"11595"}
[2026-04-28 16:20:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11595","person_id":"12299"}
[2026-04-28 16:20:27] [INFO] Checking activity reminders 
[2026-04-28 16:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:20:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:20:57] [INFO] Checking activity reminders 
[2026-04-28 16:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:21:05] [INFO] Activity save request {"post_data":{"contact_id":"628","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"خرید و فروش خودرو \r\nارجاع به پارسا ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:21:05] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:21:05] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:21:05] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"628","note_was_empty":true}
[2026-04-28 16:21:05] [INFO] Didar write disabled; saving activity locally {"contact_id":"628","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:21:05] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ad39aec5b3.39892084","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:21:05] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ad39aec5b3.39892084"}
[2026-04-28 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:21:05] [INFO] Updating virtual stage {"contact_id":"628","stage_name":"with_purchase","force":false}
[2026-04-28 16:21:05] [INFO] Virtual stage successfully saved {"contact_id":"628","stage_name":"with_purchase"}
[2026-04-28 16:21:05] [INFO] Virtual stage updated after activity save {"contact_id":"628"}
[2026-04-28 16:21:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"628","person_id":"16029"}
[2026-04-28 16:21:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:27] [INFO] Checking activity reminders 
[2026-04-28 16:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:21:51] [INFO] Activity save request {"post_data":{"contact_id":"795","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید و فروش صندوق \r\n","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:21:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"795","note_was_empty":true}
[2026-04-28 16:21:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"795","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:21:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0ad6723bba3.21473859","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0ad6723bba3.21473859"}
[2026-04-28 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:51] [INFO] Updating virtual stage {"contact_id":"795","stage_name":"with_purchase","force":false}
[2026-04-28 16:21:51] [INFO] Virtual stage successfully saved {"contact_id":"795","stage_name":"with_purchase"}
[2026-04-28 16:21:51] [INFO] Virtual stage updated after activity save {"contact_id":"795"}
[2026-04-28 16:21:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-28 16:21:57] [INFO] Checking activity reminders 
[2026-04-28 16:21:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:21:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:22:08] [INFO] Checking activity reminders 
[2026-04-28 16:22:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:22:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:22:37] [INFO] Checking activity reminders 
[2026-04-28 16:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:22:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:23:07] [INFO] Checking activity reminders 
[2026-04-28 16:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:23:37] [INFO] Checking activity reminders 
[2026-04-28 16:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:24:07] [INFO] Checking activity reminders 
[2026-04-28 16:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:24:37] [INFO] Checking activity reminders 
[2026-04-28 16:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:25:07] [INFO] Checking activity reminders 
[2026-04-28 16:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:25:37] [INFO] Checking activity reminders 
[2026-04-28 16:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:26:07] [INFO] Checking activity reminders 
[2026-04-28 16:26:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:26:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:26:38] [INFO] Checking activity reminders 
[2026-04-28 16:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:27:08] [INFO] Checking activity reminders 
[2026-04-28 16:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:27:38] [INFO] Checking activity reminders 
[2026-04-28 16:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:28:08] [INFO] Checking activity reminders 
[2026-04-28 16:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:28:38] [INFO] Checking activity reminders 
[2026-04-28 16:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:29:08] [INFO] Checking activity reminders 
[2026-04-28 16:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:29:23] [INFO] Activity save request {"post_data":{"contact_id":"408","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"فروش خودرو \r\nارجاع به پارسا ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 16:29:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:29:23] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 16:29:23] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 16:29:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:29:23] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"408","note_was_empty":true}
[2026-04-28 16:29:23] [INFO] Didar write disabled; saving activity locally {"contact_id":"408","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 16:29:23] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0af2be8eef4.72343759","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 16:29:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:29:23] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0af2be8eef4.72343759"}
[2026-04-28 16:29:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:29:23] [INFO] Updating virtual stage {"contact_id":"408","stage_name":"deal_registered","force":false}
[2026-04-28 16:29:23] [INFO] Virtual stage successfully saved {"contact_id":"408","stage_name":"deal_registered"}
[2026-04-28 16:29:23] [INFO] Virtual stage updated after activity save {"contact_id":"408"}
[2026-04-28 16:29:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"408","person_id":"10490"}
[2026-04-28 16:29:38] [INFO] Checking activity reminders 
[2026-04-28 16:29:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:29:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:30:08] [INFO] Checking activity reminders 
[2026-04-28 16:30:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:30:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:30:38] [INFO] Checking activity reminders 
[2026-04-28 16:30:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:30:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:31:08] [INFO] Checking activity reminders 
[2026-04-28 16:31:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:31:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:31:38] [INFO] Checking activity reminders 
[2026-04-28 16:31:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:31:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:32:09] [INFO] Checking activity reminders 
[2026-04-28 16:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:32:39] [INFO] Checking activity reminders 
[2026-04-28 16:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:33:09] [INFO] Checking activity reminders 
[2026-04-28 16:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:54:06] [WARNING] Auth check failed - not authenticated {"session_id":"i9dfrd76tfta3a9tqs19c81phl","session_keys":[],"action":"log_client_event"}
[2026-04-28 16:54:06] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-28 16:54:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:54:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:54:24] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:54:26] [INFO] Checking activity reminders 
[2026-04-28 16:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:54:40] [INFO] Checking activity reminders 
[2026-04-28 16:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:54:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 16:54:52] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-28 16:54:52] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-28 16:54:52] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-28 16:54:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 16:54:53] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-28 16:54:53] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-28 16:54:53] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-28 16:55:10] [INFO] Checking activity reminders 
[2026-04-28 16:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:55:41] [INFO] Checking activity reminders 
[2026-04-28 16:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:56:11] [INFO] Checking activity reminders 
[2026-04-28 16:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:56:41] [INFO] Checking activity reminders 
[2026-04-28 16:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:57:11] [INFO] Checking activity reminders 
[2026-04-28 16:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:57:41] [INFO] Checking activity reminders 
[2026-04-28 16:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:58:11] [INFO] Checking activity reminders 
[2026-04-28 16:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:58:41] [INFO] Checking activity reminders 
[2026-04-28 16:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:59:11] [INFO] Checking activity reminders 
[2026-04-28 16:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 16:59:41] [INFO] Checking activity reminders 
[2026-04-28 16:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 16:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:00:11] [INFO] Checking activity reminders 
[2026-04-28 17:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:14:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 17:14:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:08] [INFO] Lead update received {"contact_id":"20565","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-28 17:15:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:08] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"20565"}
[2026-04-28 17:15:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:16] [INFO] Checking activity reminders 
[2026-04-28 17:15:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:15:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:15:20] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 17:15:20","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 17:15:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:20] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20565","is_new_deal":false}
[2026-04-28 17:15:20] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:15:20] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:15:20] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:15:20] [INFO] getContactPrimaryPhone called {"contact_id":"20565"}
[2026-04-28 17:15:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:20] [INFO] getContactPrimaryPhone result {"contact_id":"20565","person_found":true,"primary_phone":"9358107416"}
[2026-04-28 17:15:20] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9358107416"}
[2026-04-28 17:15:20] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9358107416","contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 17:15:20"}
[2026-04-28 17:15:20] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","existing_deal_found":true,"existing_contact_id":"20565","existing_title":"معامله دوم 9358107416 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 17:15:20"}
[2026-04-28 17:15:20] [INFO] DealController.save validated payments {"deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-28 17:15:20] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20565","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 17:15:20] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f08f20ab4935.60480283","contact_didar_id":"20565","title":"معامله دوم 9358107416 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9358107416","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مقصود موسوی","existing_deal":"YES","existing_deal_id":"local_69f08f20ab4935.60480283","existing_deal_status":"Pending","server_time":"2026-04-28 17:15:20","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 17:15:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:20] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9358107416 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-28 17:15:20","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 17:15:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:15:46] [INFO] Checking activity reminders 
[2026-04-28 17:15:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:15:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:16:16] [INFO] Checking activity reminders 
[2026-04-28 17:16:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:16:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:16:46] [INFO] Checking activity reminders 
[2026-04-28 17:16:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:16:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:17:16] [INFO] Checking activity reminders 
[2026-04-28 17:17:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:17:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:17:46] [INFO] Checking activity reminders 
[2026-04-28 17:17:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:17:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:18:16] [INFO] Checking activity reminders 
[2026-04-28 17:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:18:47] [INFO] Checking activity reminders 
[2026-04-28 17:18:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:18:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:19:17] [INFO] Checking activity reminders 
[2026-04-28 17:19:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:19:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:19:47] [INFO] Checking activity reminders 
[2026-04-28 17:19:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:19:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:20:00] [INFO] Activity save request {"post_data":{"contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سوپر مارکت در مرزداران \/ معامله خودرو \r\nدر طلا و بورس و خودرو سرمایه گذاری \r\n3 میلیارد نقد \r\nپرزنت 6 ماهه بدون پشتیبانی \/ میگه من در کانال 1 سال بودم نیازی به سوال کردن ندارم و اطلاعات شفافه \r\nارسال شماره کارت و شبا در پیامک \r\n","activity_duration":"7","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 17:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 17:20:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 17:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20565","note_was_empty":true}
[2026-04-28 17:20:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"20565","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 17:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:00] [INFO] Updating virtual stage {"contact_id":"20565","stage_name":"deal_registered","force":false}
[2026-04-28 17:20:00] [INFO] Virtual stage successfully saved {"contact_id":"20565","stage_name":"deal_registered"}
[2026-04-28 17:20:00] [INFO] Virtual stage updated after activity save {"contact_id":"20565"}
[2026-04-28 17:20:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f08f20ab4935.60480283","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-28 17:20:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0bb08bc8b69.75512075","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 17:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0bb08bc8b69.75512075"}
[2026-04-28 17:20:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:00] [INFO] Updating virtual stage {"contact_id":"20565","stage_name":"deal_registered","force":false}
[2026-04-28 17:20:00] [INFO] Virtual stage successfully saved {"contact_id":"20565","stage_name":"deal_registered"}
[2026-04-28 17:20:00] [INFO] Virtual stage updated after activity save {"contact_id":"20565"}
[2026-04-28 17:20:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:20:06] [INFO] Checking activity reminders 
[2026-04-28 17:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:20:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 17:20:37] [INFO] Checking activity reminders 
[2026-04-28 17:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:21:07] [INFO] Checking activity reminders 
[2026-04-28 17:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:21:37] [INFO] Checking activity reminders 
[2026-04-28 17:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:22:07] [INFO] Checking activity reminders 
[2026-04-28 17:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:22:37] [INFO] Checking activity reminders 
[2026-04-28 17:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:23:07] [INFO] Checking activity reminders 
[2026-04-28 17:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:23:38] [INFO] Checking activity reminders 
[2026-04-28 17:23:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:23:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:24:08] [INFO] Checking activity reminders 
[2026-04-28 17:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:24:38] [INFO] Checking activity reminders 
[2026-04-28 17:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:25:08] [INFO] Checking activity reminders 
[2026-04-28 17:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:25:38] [INFO] Checking activity reminders 
[2026-04-28 17:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:26:08] [INFO] Checking activity reminders 
[2026-04-28 17:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:43:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 17:43:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:43:56] [INFO] Checking activity reminders 
[2026-04-28 17:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:44:26] [INFO] Checking activity reminders 
[2026-04-28 17:44:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:44:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:44:57] [INFO] Checking activity reminders 
[2026-04-28 17:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:45:07] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 17:45:07","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:07] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"20565","is_new_deal":false}
[2026-04-28 17:45:07] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:45:07] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:45:07] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-28 17:45:07] [INFO] getContactPrimaryPhone called {"contact_id":"20565"}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:07] [INFO] getContactPrimaryPhone result {"contact_id":"20565","person_found":true,"primary_phone":"9358107416"}
[2026-04-28 17:45:07] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9358107416"}
[2026-04-28 17:45:07] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9358107416","contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 17:45:07"}
[2026-04-28 17:45:07] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","existing_deal_found":true,"existing_contact_id":"20565","existing_title":"معامله دوم 9358107416 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 17:45:07"}
[2026-04-28 17:45:07] [INFO] DealController.save validated payments {"deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-28 17:45:07] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"20565","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 17:45:07] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f08f20ab4935.60480283","contact_didar_id":"20565","title":"معامله دوم 9358107416 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله دوم 9358107416","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مقصود موسوی","existing_deal":"YES","existing_deal_id":"local_69f08f20ab4935.60480283","existing_deal_status":"Pending","server_time":"2026-04-28 17:45:07","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:07] [INFO] Deal success processed {"contact_id":"20565","person_name":"مقصود موسوی","products_count":1}
[2026-04-28 17:45:07] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f08f20ab4935.60480283","contact_id":"20565","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9358107416 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-28 17:45:07","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:07] [INFO] Updating virtual stage {"contact_id":"20565","stage_name":"with_purchase","force":true}
[2026-04-28 17:45:07] [INFO] Virtual stage successfully saved {"contact_id":"20565","stage_name":"with_purchase"}
[2026-04-28 17:45:07] [INFO] Moved contact out of kariz after successful deal {"contact_id":"20565","deal_id":"local_69f08f20ab4935.60480283","target_stage":"with_purchase"}
[2026-04-28 17:45:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:45:27] [INFO] Checking activity reminders 
[2026-04-28 17:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 17:45:57] [INFO] Checking activity reminders 
[2026-04-28 17:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:46:27] [INFO] Checking activity reminders 
[2026-04-28 17:46:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:46:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:46:57] [INFO] Checking activity reminders 
[2026-04-28 17:46:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:46:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:47:27] [INFO] Checking activity reminders 
[2026-04-28 17:47:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:47:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:47:57] [INFO] Checking activity reminders 
[2026-04-28 17:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:48:27] [INFO] Checking activity reminders 
[2026-04-28 17:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:48:57] [INFO] Checking activity reminders 
[2026-04-28 17:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:49:28] [INFO] Checking activity reminders 
[2026-04-28 17:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:49:58] [INFO] Checking activity reminders 
[2026-04-28 17:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:55:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 17:55:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-28 17:55:39] [INFO] Checking activity reminders 
[2026-04-28 17:55:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:55:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:56:09] [INFO] Checking activity reminders 
[2026-04-28 17:56:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:56:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:56:39] [INFO] Checking activity reminders 
[2026-04-28 17:56:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:56:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:57:09] [INFO] Checking activity reminders 
[2026-04-28 17:57:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:57:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:57:39] [INFO] Checking activity reminders 
[2026-04-28 17:57:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:57:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:58:10] [INFO] Checking activity reminders 
[2026-04-28 17:58:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:58:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:58:40] [INFO] Checking activity reminders 
[2026-04-28 17:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:59:10] [INFO] Checking activity reminders 
[2026-04-28 17:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 17:59:40] [INFO] Checking activity reminders 
[2026-04-28 17:59:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 17:59:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:00:10] [INFO] Checking activity reminders 
[2026-04-28 18:00:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:00:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:08:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 18:08:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Activity save request {"post_data":{"contact_id":"7867","deal_id":"local_69f08f3fe90fd3.87401294","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مان \/ تازه ازدواج کرده \r\nقسط و بدهی \r\nدر معدن کار میکنه \r\nپرزنت 6 ماهه با پشتیبانی استاد \r\nدر کانال عمومی دنبال \r\nحسرت میخوره برای 2 ساله پیش که چرا نیومدم\r\nطلب داره که طرف چند ماهه امروز و فردا میکنه از بازار جا مونده \r\nارسال پیامک و پیام در بله \r\nخودش اطلاع میده \r\nخیلی دوست داره که سریع تر عضو بش","activity_duration":"20","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 18:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 18:09:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 18:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7867","note_was_empty":true}
[2026-04-28 18:09:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"7867","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 18:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Updating virtual stage {"contact_id":"7867","stage_name":"deal_registered","force":false}
[2026-04-28 18:09:14] [INFO] Virtual stage successfully saved {"contact_id":"7867","stage_name":"deal_registered"}
[2026-04-28 18:09:14] [INFO] Virtual stage updated after activity save {"contact_id":"7867"}
[2026-04-28 18:09:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f08f3fe90fd3.87401294","stage":"تماس پیگیری","status_change":null}
[2026-04-28 18:09:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0c692c1eaf3.13928373","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 18:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0c692c1eaf3.13928373"}
[2026-04-28 18:09:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:14] [INFO] Updating virtual stage {"contact_id":"7867","stage_name":"deal_registered","force":false}
[2026-04-28 18:09:14] [INFO] Virtual stage successfully saved {"contact_id":"7867","stage_name":"deal_registered"}
[2026-04-28 18:09:14] [INFO] Virtual stage updated after activity save {"contact_id":"7867"}
[2026-04-28 18:09:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:09:21] [INFO] Checking activity reminders 
[2026-04-28 18:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:09:23] [INFO] Checking activity reminders 
[2026-04-28 18:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:09:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 18:09:30] [INFO] Checking activity reminders 
[2026-04-28 18:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:09:37] [INFO] Checking activity reminders 
[2026-04-28 18:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:09:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7867","person_id":"15959"}
[2026-04-28 18:10:07] [INFO] Checking activity reminders 
[2026-04-28 18:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:10:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:10:37] [INFO] Checking activity reminders 
[2026-04-28 18:10:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:10:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:11:01] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 18:11:01","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 18:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:01] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","is_new_deal":false}
[2026-04-28 18:11:01] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:01] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:01] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:01] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 18:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:01] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f07fd5a950c8.03863822","person_found":true,"primary_phone":"9134605003"}
[2026-04-28 18:11:01] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134605003"}
[2026-04-28 18:11:01] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134605003","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:11:01"}
[2026-04-28 18:11:01] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","existing_deal_found":true,"existing_contact_id":"local_69f07fd5a950c8.03863822","existing_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:11:01"}
[2026-04-28 18:11:01] [INFO] DealController.save validated payments {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 18:11:01] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69f07fd5a950c8.03863822","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 18:11:01] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f07fd5abfaf","contact_didar_id":"local_69f07fd5a950c8.03863822","title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9134605003","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":3000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد عابدی","existing_deal":"YES","existing_deal_id":"local_69f07fd5abfaf","existing_deal_status":"Pending","server_time":"2026-04-28 18:11:01","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 18:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:01] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":3000000,"server_time":"2026-04-28 18:11:01","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 18:11:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:07] [INFO] Checking activity reminders 
[2026-04-28 18:11:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:11:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:11:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 18:11:09","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 18:11:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","is_new_deal":false}
[2026-04-28 18:11:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-28 18:11:09] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-28 18:11:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:09] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f07fd5a950c8.03863822","person_found":true,"primary_phone":"9134605003"}
[2026-04-28 18:11:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134605003"}
[2026-04-28 18:11:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134605003","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:11:09"}
[2026-04-28 18:11:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","existing_deal_found":true,"existing_contact_id":"local_69f07fd5a950c8.03863822","existing_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:11:09"}
[2026-04-28 18:11:09] [INFO] DealController.save validated payments {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-28 18:11:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69f07fd5a950c8.03863822","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 18:11:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f07fd5abfaf","contact_didar_id":"local_69f07fd5a950c8.03863822","title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9134605003","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":3000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد عابدی","existing_deal":"YES","existing_deal_id":"local_69f07fd5abfaf","existing_deal_status":"Pending","server_time":"2026-04-28 18:11:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 18:11:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":3000000,"server_time":"2026-04-28 18:11:09","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 18:11:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-28 18:11:38] [INFO] Checking activity reminders 
[2026-04-28 18:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:12:08] [INFO] Checking activity reminders 
[2026-04-28 18:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:12:38] [INFO] Checking activity reminders 
[2026-04-28 18:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:13:08] [INFO] Checking activity reminders 
[2026-04-28 18:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:13:35] [INFO] Checking activity reminders 
[2026-04-28 18:13:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:13:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:14:06] [INFO] Checking activity reminders 
[2026-04-28 18:14:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:14:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:14:36] [INFO] Checking activity reminders 
[2026-04-28 18:14:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:14:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:15:06] [INFO] Checking activity reminders 
[2026-04-28 18:15:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:15:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:15:36] [INFO] Checking activity reminders 
[2026-04-28 18:15:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:15:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:16:06] [INFO] Checking activity reminders 
[2026-04-28 18:16:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:16:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:16:36] [INFO] Checking activity reminders 
[2026-04-28 18:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:17:06] [INFO] Checking activity reminders 
[2026-04-28 18:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:17:36] [INFO] Checking activity reminders 
[2026-04-28 18:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:18:06] [INFO] Checking activity reminders 
[2026-04-28 18:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:18:36] [INFO] Checking activity reminders 
[2026-04-28 18:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:19:06] [INFO] Checking activity reminders 
[2026-04-28 18:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:19:36] [INFO] Checking activity reminders 
[2026-04-28 18:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:20:06] [INFO] Checking activity reminders 
[2026-04-28 18:20:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:20:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:20:37] [INFO] Checking activity reminders 
[2026-04-28 18:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:21:07] [INFO] Checking activity reminders 
[2026-04-28 18:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:21:37] [INFO] Checking activity reminders 
[2026-04-28 18:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:22:07] [INFO] Checking activity reminders 
[2026-04-28 18:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:22:37] [INFO] Checking activity reminders 
[2026-04-28 18:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:23:07] [INFO] Checking activity reminders 
[2026-04-28 18:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:23:35] [INFO] Activity save request {"post_data":{"contact_id":"1213","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تبدیل طلا به خودرو \r\nارسال سوال در بله  ارجاع به استاد \r\nپشتیبانی کانال \r\nمیگه استاد چرا وبینار نمیذاره \/ اقای وفایی و مطلبی همش رایگان وبینار میذارن ","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 18:23:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:23:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 18:23:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 18:23:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:23:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1213","note_was_empty":true}
[2026-04-28 18:23:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"1213","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 18:23:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0c9efe819a1.67725672","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 18:23:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:23:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0c9efe819a1.67725672"}
[2026-04-28 18:23:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:23:35] [INFO] Updating virtual stage {"contact_id":"1213","stage_name":"with_purchase","force":false}
[2026-04-28 18:23:35] [INFO] Virtual stage successfully saved {"contact_id":"1213","stage_name":"with_purchase"}
[2026-04-28 18:23:35] [INFO] Virtual stage updated after activity save {"contact_id":"1213"}
[2026-04-28 18:23:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1213","person_id":"18846"}
[2026-04-28 18:23:37] [INFO] Checking activity reminders 
[2026-04-28 18:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:24:07] [INFO] Checking activity reminders 
[2026-04-28 18:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:24:37] [INFO] Checking activity reminders 
[2026-04-28 18:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:25:07] [INFO] Checking activity reminders 
[2026-04-28 18:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:25:38] [INFO] Checking activity reminders 
[2026-04-28 18:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:26:08] [INFO] Checking activity reminders 
[2026-04-28 18:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:26:38] [INFO] Checking activity reminders 
[2026-04-28 18:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:27:08] [INFO] Checking activity reminders 
[2026-04-28 18:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:27:38] [INFO] Checking activity reminders 
[2026-04-28 18:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:28:08] [INFO] Checking activity reminders 
[2026-04-28 18:28:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:28:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:28:38] [INFO] Checking activity reminders 
[2026-04-28 18:28:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:28:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:29:08] [INFO] Checking activity reminders 
[2026-04-28 18:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:29:39] [INFO] Checking activity reminders 
[2026-04-28 18:29:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:29:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:30:09] [INFO] Checking activity reminders 
[2026-04-28 18:30:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:30:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:30:39] [INFO] Checking activity reminders 
[2026-04-28 18:30:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:30:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:31:09] [INFO] Checking activity reminders 
[2026-04-28 18:31:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:31:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:31:39] [INFO] Checking activity reminders 
[2026-04-28 18:31:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:31:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:32:09] [INFO] Checking activity reminders 
[2026-04-28 18:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:32:39] [INFO] Checking activity reminders 
[2026-04-28 18:32:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:32:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:33:09] [INFO] Checking activity reminders 
[2026-04-28 18:33:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:33:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:33:39] [INFO] Checking activity reminders 
[2026-04-28 18:33:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:33:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:34:09] [INFO] Checking activity reminders 
[2026-04-28 18:34:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:34:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:34:39] [INFO] Checking activity reminders 
[2026-04-28 18:34:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:34:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:35:09] [INFO] Checking activity reminders 
[2026-04-28 18:35:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:35:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:35:40] [INFO] Checking activity reminders 
[2026-04-28 18:35:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:35:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:36:10] [INFO] Checking activity reminders 
[2026-04-28 18:36:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:36:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:36:40] [INFO] Checking activity reminders 
[2026-04-28 18:36:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:36:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:37:10] [INFO] Checking activity reminders 
[2026-04-28 18:37:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:37:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:37:40] [INFO] Checking activity reminders 
[2026-04-28 18:37:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:37:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:38:10] [INFO] Checking activity reminders 
[2026-04-28 18:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:38:40] [INFO] Checking activity reminders 
[2026-04-28 18:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:39:10] [INFO] Checking activity reminders 
[2026-04-28 18:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:39:40] [INFO] Checking activity reminders 
[2026-04-28 18:39:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:39:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:40:10] [INFO] Checking activity reminders 
[2026-04-28 18:40:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:40:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:40:40] [INFO] Checking activity reminders 
[2026-04-28 18:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:41:10] [INFO] Checking activity reminders 
[2026-04-28 18:41:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:41:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:41:40] [INFO] Checking activity reminders 
[2026-04-28 18:41:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:41:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:11] [INFO] Checking activity reminders 
[2026-04-28 18:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:31] [INFO] Checking activity reminders 
[2026-04-28 18:42:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:42:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:33] [INFO] Checking activity reminders 
[2026-04-28 18:42:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:42:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:40] [INFO] Checking activity reminders 
[2026-04-28 18:42:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:42:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:44] [INFO] Checking activity reminders 
[2026-04-28 18:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:42:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:43:14] [INFO] Checking activity reminders 
[2026-04-28 18:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:43:44] [INFO] Checking activity reminders 
[2026-04-28 18:43:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:43:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:44:14] [INFO] Checking activity reminders 
[2026-04-28 18:44:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:44:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:44:44] [INFO] Checking activity reminders 
[2026-04-28 18:44:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:44:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:45:14] [INFO] Checking activity reminders 
[2026-04-28 18:45:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:45:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:45:44] [INFO] Checking activity reminders 
[2026-04-28 18:45:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:45:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:46:14] [INFO] Checking activity reminders 
[2026-04-28 18:46:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:46:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:46:45] [INFO] Checking activity reminders 
[2026-04-28 18:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:47:15] [INFO] Checking activity reminders 
[2026-04-28 18:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:47:45] [INFO] Checking activity reminders 
[2026-04-28 18:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:48:15] [INFO] Checking activity reminders 
[2026-04-28 18:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:48:45] [INFO] Checking activity reminders 
[2026-04-28 18:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:49:15] [INFO] Checking activity reminders 
[2026-04-28 18:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:49:45] [INFO] Checking activity reminders 
[2026-04-28 18:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:50:03] [INFO] Activity save request {"post_data":{"contact_id":"local_69ef7f9b09e647.38958294","deal_id":"local_69ef7f9b0b3be","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"شرایط صحبت نداره \r\nپیامک داد برای حق کمیسیون از واسطه گری و معاملات خودرویی چقدر باید بگیرم\r\nپیام دادم بسته به مهارت و نوع خودروی شما داره \r\n\r\n","activity_duration":"2","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 18:50:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:03] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 18:50:03] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 18:50:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:03] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69ef7f9b09e647.38958294","note_was_empty":true}
[2026-04-28 18:50:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:04] [INFO] Updating virtual stage {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered","force":false}
[2026-04-28 18:50:04] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered"}
[2026-04-28 18:50:04] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-28 18:50:04] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ef7f9b0b3be","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 18:50:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0d023f19ed8.71236766","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 18:50:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0d023f19ed8.71236766"}
[2026-04-28 18:50:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:04] [INFO] Updating virtual stage {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered","force":false}
[2026-04-28 18:50:04] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered"}
[2026-04-28 18:50:04] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-28 18:50:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:50:15] [INFO] Checking activity reminders 
[2026-04-28 18:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:50:45] [INFO] Checking activity reminders 
[2026-04-28 18:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:51:15] [INFO] Checking activity reminders 
[2026-04-28 18:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:51:16] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"local_69ef7f9b09e647.38958294","deal_id":"local_69ef7f9b0b3be","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 18:51:16","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 18:51:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:51:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"local_69ef7f9b09e647.38958294","is_new_deal":false}
[2026-04-28 18:51:16] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-28 18:51:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-28 18:51:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-28 18:51:16] [INFO] getContactPrimaryPhone called {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-28 18:51:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:51:16] [INFO] getContactPrimaryPhone result {"contact_id":"local_69ef7f9b09e647.38958294","person_found":true,"primary_phone":"9398218133"}
[2026-04-28 18:51:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9398218133"}
[2026-04-28 18:51:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9398218133","contact_id":"local_69ef7f9b09e647.38958294","deal_id":"local_69ef7f9b0b3be","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:51:16"}
[2026-04-28 18:51:16] [INFO] DealController.save existing deal lookup {"deal_id":"local_69ef7f9b0b3be","contact_id":"local_69ef7f9b09e647.38958294","existing_deal_found":true,"existing_contact_id":"local_69ef7f9b09e647.38958294","existing_title":"معامله اول 9398218133","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 18:51:16"}
[2026-04-28 18:51:16] [INFO] DealController.save validated payments {"deal_id":"local_69ef7f9b0b3be","contact_id":"local_69ef7f9b09e647.38958294","payments_count":0,"status":"lost","pipeline_stage":"تماس عدم پاسخ"}
[2026-04-28 18:51:16] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69ef7f9b09e647.38958294","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 18:51:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69ef7f9b0b3be","contact_didar_id":"local_69ef7f9b09e647.38958294","title":"معامله اول 9398218133 | هوش خودرو","base_title_used":"معامله اول 9398218133","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"تماس عدم پاسخ","status":"lost","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"لید جدید","existing_deal":"YES","existing_deal_id":"local_69ef7f9b0b3be","existing_deal_status":"Pending","server_time":"2026-04-28 18:51:16","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 18:51:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:51:16] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69ef7f9b0b3be","contact_id":"local_69ef7f9b09e647.38958294","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9398218133 | هوش خودرو","deal_status":"lost","pipeline_stage":"تماس عدم پاسخ","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-28 18:51:16","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 18:51:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-28 18:51:46] [INFO] Checking activity reminders 
[2026-04-28 18:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:52:16] [INFO] Checking activity reminders 
[2026-04-28 18:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:52:46] [INFO] Checking activity reminders 
[2026-04-28 18:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:53:16] [INFO] Checking activity reminders 
[2026-04-28 18:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:53:46] [INFO] Checking activity reminders 
[2026-04-28 18:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:54:16] [INFO] Checking activity reminders 
[2026-04-28 18:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:54:46] [INFO] Checking activity reminders 
[2026-04-28 18:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:55:16] [INFO] Checking activity reminders 
[2026-04-28 18:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:55:46] [INFO] Checking activity reminders 
[2026-04-28 18:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:56:16] [INFO] Checking activity reminders 
[2026-04-28 18:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:56:46] [INFO] Checking activity reminders 
[2026-04-28 18:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:57:17] [INFO] Checking activity reminders 
[2026-04-28 18:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:57:47] [INFO] Checking activity reminders 
[2026-04-28 18:57:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:57:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:58:17] [INFO] Checking activity reminders 
[2026-04-28 18:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:58:34] [INFO] Checking activity reminders 
[2026-04-28 18:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:58:59] [INFO] Checking activity reminders 
[2026-04-28 18:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:59:03] [INFO] Checking activity reminders 
[2026-04-28 18:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 18:59:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6130","person_id":"2464"}
[2026-04-28 18:59:33] [INFO] Checking activity reminders 
[2026-04-28 18:59:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 18:59:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:00:03] [INFO] Checking activity reminders 
[2026-04-28 19:00:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:00:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:01:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-28 19:01:31] [INFO] Checking activity reminders 
[2026-04-28 19:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:01:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:02:01] [INFO] Checking activity reminders 
[2026-04-28 19:02:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:02:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:02:31] [INFO] Checking activity reminders 
[2026-04-28 19:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:03:01] [INFO] Checking activity reminders 
[2026-04-28 19:03:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:03:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:03:31] [INFO] Checking activity reminders 
[2026-04-28 19:03:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:03:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:04:01] [INFO] Checking activity reminders 
[2026-04-28 19:04:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:04:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:04:31] [INFO] Checking activity reminders 
[2026-04-28 19:04:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:04:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:05:01] [INFO] Checking activity reminders 
[2026-04-28 19:05:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:05:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:05:31] [INFO] Checking activity reminders 
[2026-04-28 19:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:06:01] [INFO] Checking activity reminders 
[2026-04-28 19:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:06:31] [INFO] Checking activity reminders 
[2026-04-28 19:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:07:01] [INFO] Checking activity reminders 
[2026-04-28 19:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:07:31] [INFO] Checking activity reminders 
[2026-04-28 19:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:08:02] [INFO] Checking activity reminders 
[2026-04-28 19:08:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:08:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:08:32] [INFO] Checking activity reminders 
[2026-04-28 19:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:09:02] [INFO] Checking activity reminders 
[2026-04-28 19:09:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:09:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:09:32] [INFO] Checking activity reminders 
[2026-04-28 19:09:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:09:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:10:02] [INFO] Checking activity reminders 
[2026-04-28 19:10:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:10:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:10:32] [INFO] Checking activity reminders 
[2026-04-28 19:10:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:10:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:11:02] [INFO] Checking activity reminders 
[2026-04-28 19:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:11:32] [INFO] Checking activity reminders 
[2026-04-28 19:11:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:11:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:12:02] [INFO] Checking activity reminders 
[2026-04-28 19:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:12:32] [INFO] Checking activity reminders 
[2026-04-28 19:12:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:12:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:13:02] [INFO] Checking activity reminders 
[2026-04-28 19:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:13:32] [INFO] Checking activity reminders 
[2026-04-28 19:13:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:13:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:14:03] [INFO] Checking activity reminders 
[2026-04-28 19:14:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:14:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:14:33] [INFO] Checking activity reminders 
[2026-04-28 19:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:15:03] [INFO] Checking activity reminders 
[2026-04-28 19:15:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:15:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:15:33] [INFO] Checking activity reminders 
[2026-04-28 19:15:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:15:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:16:03] [INFO] Checking activity reminders 
[2026-04-28 19:16:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:16:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:16:33] [INFO] Checking activity reminders 
[2026-04-28 19:16:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:16:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:17:03] [INFO] Checking activity reminders 
[2026-04-28 19:17:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:17:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:17:33] [INFO] Checking activity reminders 
[2026-04-28 19:17:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:17:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:18:03] [INFO] Checking activity reminders 
[2026-04-28 19:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:18:33] [INFO] Checking activity reminders 
[2026-04-28 19:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:19:03] [INFO] Checking activity reminders 
[2026-04-28 19:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:19:34] [INFO] Checking activity reminders 
[2026-04-28 19:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:20:04] [INFO] Checking activity reminders 
[2026-04-28 19:20:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:20:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:20:34] [INFO] Checking activity reminders 
[2026-04-28 19:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:21:04] [INFO] Checking activity reminders 
[2026-04-28 19:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:21:34] [INFO] Checking activity reminders 
[2026-04-28 19:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:22:04] [INFO] Checking activity reminders 
[2026-04-28 19:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:22:34] [INFO] Checking activity reminders 
[2026-04-28 19:22:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:22:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:23:05] [INFO] Checking activity reminders 
[2026-04-28 19:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:23:35] [INFO] Checking activity reminders 
[2026-04-28 19:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:24:05] [INFO] Checking activity reminders 
[2026-04-28 19:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:24:14] [INFO] Activity save request {"post_data":{"contact_id":"4597","deal_id":"local_69d621ffec9776.51324760","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"میگه سیگنال های استاد با تاخیر در کانال گذاشته میشد \r\nفقط میگفتن اعضای cip \r\nخودم بهتر کار میکردم \r\nاصلا برام سود ساز نبود \r\nالان شرایط کار خودم بهتره \r\nهر چی میخرم بالا میره مواد خوراکی خودم بهتر سود میده ","activity_duration":"7","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-28 19:24:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4597","note_was_empty":true}
[2026-04-28 19:24:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"4597","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:14] [INFO] Updating virtual stage {"contact_id":"4597","stage_name":"deal_registered","force":false}
[2026-04-28 19:24:14] [INFO] Virtual stage successfully saved {"contact_id":"4597","stage_name":"deal_registered"}
[2026-04-28 19:24:14] [INFO] Virtual stage updated after activity save {"contact_id":"4597"}
[2026-04-28 19:24:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d621ffec9776.51324760","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-28 19:24:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f0d826842511.41096948","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f0d826842511.41096948"}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:14] [INFO] Updating virtual stage {"contact_id":"4597","stage_name":"deal_registered","force":false}
[2026-04-28 19:24:14] [INFO] Virtual stage successfully saved {"contact_id":"4597","stage_name":"deal_registered"}
[2026-04-28 19:24:14] [INFO] Virtual stage updated after activity save {"contact_id":"4597"}
[2026-04-28 19:24:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:35] [INFO] Checking activity reminders 
[2026-04-28 19:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:24:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"4597","deal_id":"local_69d621ffec9776.51324760","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-28 19:24:59","session_id":"i9dfrd76tfta3a9tqs19c81phl"}
[2026-04-28 19:24:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"4597","is_new_deal":false}
[2026-04-28 19:24:59] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-28 19:24:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 19:24:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-28 19:24:59] [INFO] getContactPrimaryPhone called {"contact_id":"4597"}
[2026-04-28 19:24:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:59] [INFO] getContactPrimaryPhone result {"contact_id":"4597","person_found":true,"primary_phone":"9189119365"}
[2026-04-28 19:24:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9189119365"}
[2026-04-28 19:24:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9189119365","contact_id":"4597","deal_id":"local_69d621ffec9776.51324760","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 19:24:59"}
[2026-04-28 19:24:59] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d621ffec9776.51324760","contact_id":"4597","existing_deal_found":true,"existing_contact_id":"4597","existing_title":"معامله دوم 9189119365 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-28 19:24:59"}
[2026-04-28 19:24:59] [INFO] DealController.save validated payments {"deal_id":"local_69d621ffec9776.51324760","contact_id":"4597","payments_count":0,"status":"lost","pipeline_stage":"تماس پیگیری"}
[2026-04-28 19:24:59] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"4597","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-28 19:24:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d621ffec9776.51324760","contact_didar_id":"4597","title":"معامله دوم 9189119365 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9189119365","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"lost","payable_amount":79000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سماواتی","existing_deal":"YES","existing_deal_id":"local_69d621ffec9776.51324760","existing_deal_status":"Pending","server_time":"2026-04-28 19:24:59","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-28 19:24:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:24:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d621ffec9776.51324760","contact_id":"4597","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9189119365 | کانال VIP با پشتیبانی","deal_status":"lost","pipeline_stage":"تماس پیگیری","payable_amount":79000000,"payment_amount":0,"server_time":"2026-04-28 19:24:59","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-28 19:24:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4597","person_id":"4514"}
[2026-04-28 19:25:05] [INFO] Checking activity reminders 
[2026-04-28 19:25:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:25:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:25:13] [INFO] Checking activity reminders 
[2026-04-28 19:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:25:15] [INFO] Checking activity reminders 
[2026-04-28 19:25:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:25:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:25:45] [INFO] Checking activity reminders 
[2026-04-28 19:25:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:25:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:26:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4167","person_id":"16911"}
[2026-04-28 19:26:16] [INFO] Checking activity reminders 
[2026-04-28 19:26:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:26:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:26:46] [INFO] Checking activity reminders 
[2026-04-28 19:26:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:26:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:27:16] [INFO] Checking activity reminders 
[2026-04-28 19:27:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:27:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:27:46] [INFO] Checking activity reminders 
[2026-04-28 19:27:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:27:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:28:16] [INFO] Checking activity reminders 
[2026-04-28 19:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:28:46] [INFO] Checking activity reminders 
[2026-04-28 19:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:29:16] [INFO] Checking activity reminders 
[2026-04-28 19:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:29:46] [INFO] Checking activity reminders 
[2026-04-28 19:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:30:16] [INFO] Checking activity reminders 
[2026-04-28 19:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:30:46] [INFO] Checking activity reminders 
[2026-04-28 19:30:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:30:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:31:16] [INFO] Checking activity reminders 
[2026-04-28 19:31:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:31:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:31:47] [INFO] Checking activity reminders 
[2026-04-28 19:31:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:31:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:32:17] [INFO] Checking activity reminders 
[2026-04-28 19:32:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:32:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:32:47] [INFO] Checking activity reminders 
[2026-04-28 19:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:33:17] [INFO] Checking activity reminders 
[2026-04-28 19:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:33:47] [INFO] Checking activity reminders 
[2026-04-28 19:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:34:17] [INFO] Checking activity reminders 
[2026-04-28 19:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:34:48] [INFO] Checking activity reminders 
[2026-04-28 19:34:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:34:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:35:18] [INFO] Checking activity reminders 
[2026-04-28 19:35:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:35:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:35:48] [INFO] Checking activity reminders 
[2026-04-28 19:35:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:35:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:36:18] [INFO] Checking activity reminders 
[2026-04-28 19:36:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:36:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:36:48] [INFO] Checking activity reminders 
[2026-04-28 19:36:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:36:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:37:18] [INFO] Checking activity reminders 
[2026-04-28 19:37:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:37:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-28 19:37:48] [INFO] Checking activity reminders 
[2026-04-28 19:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-28 19:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:25:07] [WARNING] Auth check failed - not authenticated {"session_id":"rpi4dckcrlr3ol51klh6j9s718","session_keys":[],"action":"log_client_event"}
[2026-04-29 09:25:07] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-29 09:25:08] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:25:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:25:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:25:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:25:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:25:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:25:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:25:40] [INFO] Checking activity reminders 
[2026-04-29 09:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:25:40] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:25:40] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:25:40] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:25:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 09:25:57] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:26:07] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:26:07] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:26:07] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:26:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:26:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:26:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:26:37] [INFO] Checking activity reminders 
[2026-04-29 09:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:27:19] [INFO] Checking activity reminders 
[2026-04-29 09:27:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:27:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:42:37] [WARNING] Auth check failed - not authenticated {"session_id":"nmcgibc1lu2dhfjcuvmdkrr2bq","session_keys":[],"action":"log_client_event"}
[2026-04-29 09:42:37] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-29 09:42:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:42:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:42:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:42:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:46:59] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 09:46:59] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-29 09:46:59] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-29 09:46:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:46:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:46:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:46:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:47:29] [INFO] Checking activity reminders 
[2026-04-29 09:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:47:35] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:47:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:47:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:47:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:47:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"987","person_id":"2940"}
[2026-04-29 09:48:00] [INFO] Checking activity reminders 
[2026-04-29 09:48:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:08] [INFO] Checking activity reminders 
[2026-04-29 09:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:11] [INFO] Checking activity reminders 
[2026-04-29 09:48:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:16] [INFO] Checking activity reminders 
[2026-04-29 09:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:21] [INFO] Checking activity reminders 
[2026-04-29 09:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:30] [INFO] Checking activity reminders 
[2026-04-29 09:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:41] [INFO] Checking activity reminders 
[2026-04-29 09:48:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:48:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-29 09:48:54] [INFO] Checking activity reminders 
[2026-04-29 09:48:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:48:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:49:00] [INFO] Checking activity reminders 
[2026-04-29 09:49:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:49:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:49:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-29 09:49:12] [INFO] Checking activity reminders 
[2026-04-29 09:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:49:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 09:49:42] [INFO] Checking activity reminders 
[2026-04-29 09:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:52:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:52:10] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:52:10] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:52:10] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 09:52:25] [INFO] Checking activity reminders 
[2026-04-29 09:52:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:52:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:52:44] [INFO] Checking activity reminders 
[2026-04-29 09:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:52:58] [INFO] Checking activity reminders 
[2026-04-29 09:52:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:52:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:53:11] [INFO] Checking activity reminders 
[2026-04-29 09:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:57:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:57:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:57:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:57:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:57:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 09:57:38] [INFO] Checking activity reminders 
[2026-04-29 09:57:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:57:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:57:50] [INFO] Checking activity reminders 
[2026-04-29 09:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:58:43] [INFO] Checking activity reminders 
[2026-04-29 09:58:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:58:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:58:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 09:58:50] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 09:58:50] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 09:58:50] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 09:58:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:07] [INFO] Checking activity reminders 
[2026-04-29 09:59:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:59:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:59:18] [INFO] Checking activity reminders 
[2026-04-29 09:59:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 09:59:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 09:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:19] [INFO] generateDealTitle result {"contact_id":"14342","person_name":"ساغر","mobile":"9134338635","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9134338635"}
[2026-04-29 09:59:36] [INFO] DealController.save start {"is_new":true,"incoming_title":"CIP","contact_id":"14342","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 09:59:36","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-29 09:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"14342","is_new_deal":true}
[2026-04-29 09:59:36] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-29 09:59:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-29 09:59:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-29 09:59:36] [INFO] getContactPrimaryPhone called {"contact_id":"14342"}
[2026-04-29 09:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:36] [INFO] getContactPrimaryPhone result {"contact_id":"14342","person_found":true,"primary_phone":"9134338635"}
[2026-04-29 09:59:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134338635"}
[2026-04-29 09:59:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134338635","contact_id":"14342","deal_id":"","is_new_deal":true,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-29 09:59:36"}
[2026-04-29 09:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:36] [INFO] generateDealTitle result {"contact_id":"14342","person_name":"ساغر","mobile":"9134338635","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9134338635"}
[2026-04-29 09:59:36] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"14342","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-29 09:59:36] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"14342","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-29 09:59:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"14342","title":"معامله دوم 9134338635 | CIP","base_title_used":"معامله دوم 9134338635","services_text":"CIP","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":200000000,"payment_amount":0,"payments_present":false,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ساغر","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 09:59:36","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-29 09:59:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 09:59:36] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 09:59:36] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"14342","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9134338635 | CIP","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":200000000,"payment_amount":0,"server_time":"2026-04-29 09:59:36","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 09:59:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 10:01:25] [WARNING] Auth check failed - not authenticated {"session_id":"if75vobu32k778pgi18ejeqvcf","session_keys":[],"action":"log_client_event"}
[2026-04-29 10:01:25] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-29 10:01:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:02:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:02:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 10:02:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 10:02:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 10:02:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:02:18] [INFO] Checking activity reminders 
[2026-04-29 10:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:02:26] [INFO] Checking activity reminders 
[2026-04-29 10:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:02:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:02:56] [INFO] Checking activity reminders 
[2026-04-29 10:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:00] [INFO] generateDealTitle result {"contact_id":"637","person_name":"احمدپور احمدپور","mobile":"9137481245","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9137481245"}
[2026-04-29 10:03:15] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"637","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 10:03:15","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:15] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"637","is_new_deal":true}
[2026-04-29 10:03:15] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:03:15] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:03:15] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:03:15] [INFO] getContactPrimaryPhone called {"contact_id":"637"}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:15] [INFO] getContactPrimaryPhone result {"contact_id":"637","person_found":true,"primary_phone":"9137481245"}
[2026-04-29 10:03:15] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9137481245"}
[2026-04-29 10:03:15] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9137481245","contact_id":"637","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-29 10:03:15"}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:15] [INFO] generateDealTitle result {"contact_id":"637","person_name":"احمدپور احمدپور","mobile":"9137481245","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9137481245"}
[2026-04-29 10:03:15] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"637","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-29 10:03:15] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"637","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-29 10:03:15] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"637","title":"معامله سوم 9137481245 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9137481245","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"احمدپور احمدپور","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 10:03:15","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:15] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 10:03:15] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"637","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله سوم 9137481245 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-29 10:03:15","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 10:03:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 10:03:26] [INFO] Checking activity reminders 
[2026-04-29 10:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:03:47] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9124488530","09124488530"]}
[2026-04-29 10:03:47] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9124488530","09124488530"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-29 10:03:47] [INFO] Didar write disabled; creating local lead only {"owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","mobile":"9124488530","full_name":"لید جدید"}
[2026-04-29 10:03:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 10:03:47] [INFO] Notification created {"notification_id":"682","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","type":"lead_assigned","show_popup":true}
[2026-04-29 10:03:56] [INFO] Checking activity reminders 
[2026-04-29 10:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:03:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:12:31] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:12:31] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 10:12:31] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 10:12:31] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 10:12:38] [INFO] Checking activity reminders 
[2026-04-29 10:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:12:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:12:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:12:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:12:46] [INFO] generateDealTitle result {"contact_id":"3215","person_name":"مرتض علیزاده","mobile":"9145716604","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9145716604"}
[2026-04-29 10:12:52] [INFO] Checking activity reminders 
[2026-04-29 10:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:13:05] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3215","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 10:13:05","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"3215","is_new_deal":true}
[2026-04-29 10:13:05] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:13:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:13:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:13:05] [INFO] getContactPrimaryPhone called {"contact_id":"3215"}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:05] [INFO] getContactPrimaryPhone result {"contact_id":"3215","person_found":true,"primary_phone":"9145716604"}
[2026-04-29 10:13:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9145716604"}
[2026-04-29 10:13:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9145716604","contact_id":"3215","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-29 10:13:05"}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:05] [INFO] generateDealTitle result {"contact_id":"3215","person_name":"مرتض علیزاده","mobile":"9145716604","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9145716604"}
[2026-04-29 10:13:05] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"3215","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-29 10:13:05] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"3215","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-29 10:13:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"3215","title":"معامله دوم 9145716604 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9145716604","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مرتض علیزاده","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 10:13:05","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:05] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 10:13:05] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"3215","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9145716604 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-29 10:13:05","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 10:13:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 10:13:43] [INFO] Checking activity reminders 
[2026-04-29 10:13:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:13:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:13:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:13:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:13:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:13:53] [INFO] generateDealTitle result {"contact_id":"21051","person_name":"خانم اسدی","mobile":"9127782618","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9127782618"}
[2026-04-29 10:13:55] [INFO] Checking activity reminders 
[2026-04-29 10:13:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:13:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:14:10] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21051","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 10:14:10","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:10] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21051","is_new_deal":true}
[2026-04-29 10:14:10] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:14:10] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:14:10] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 10:14:10] [INFO] getContactPrimaryPhone called {"contact_id":"21051"}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:10] [INFO] getContactPrimaryPhone result {"contact_id":"21051","person_found":true,"primary_phone":"9127782618"}
[2026-04-29 10:14:10] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9127782618"}
[2026-04-29 10:14:10] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9127782618","contact_id":"21051","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-29 10:14:10"}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:10] [INFO] generateDealTitle result {"contact_id":"21051","person_name":"خانم اسدی","mobile":"9127782618","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9127782618"}
[2026-04-29 10:14:10] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21051","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-29 10:14:10] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"21051","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-29 10:14:10] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21051","title":"معامله دوم 9127782618 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9127782618","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":39000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"خانم اسدی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 10:14:10","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:10] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 10:14:10] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21051","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9127782618 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":39000000,"payment_amount":0,"server_time":"2026-04-29 10:14:10","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 10:14:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 10:14:37] [INFO] Checking activity reminders 
[2026-04-29 10:14:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:14:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:14:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 10:15:05] [INFO] Checking activity reminders 
[2026-04-29 10:15:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:15:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:15:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:35] [INFO] Checking activity reminders 
[2026-04-29 10:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:15:47] [INFO] Lead update received {"contact_id":"13407","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 10:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:47] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13407"}
[2026-04-29 10:15:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:15:55] [INFO] generateDealTitle result {"contact_id":"13407","person_name":"طهرانی طهرانی","mobile":"9128983912","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128983912"}
[2026-04-29 10:16:05] [INFO] Checking activity reminders 
[2026-04-29 10:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:16:14] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"13407","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 10:16:14","session_id":"olufe90sdilb6502kt9d9kbobg"}
[2026-04-29 10:16:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:16:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"13407","is_new_deal":true}
[2026-04-29 10:16:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-29 10:16:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-29 10:16:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-29 10:16:14] [INFO] getContactPrimaryPhone called {"contact_id":"13407"}
[2026-04-29 10:16:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:16:14] [INFO] getContactPrimaryPhone result {"contact_id":"13407","person_found":true,"primary_phone":"9128983912"}
[2026-04-29 10:16:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128983912"}
[2026-04-29 10:16:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128983912","contact_id":"13407","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-29 10:16:14"}
[2026-04-29 10:16:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:16:14] [INFO] generateDealTitle result {"contact_id":"13407","person_name":"طهرانی طهرانی","mobile":"9128983912","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9128983912"}
[2026-04-29 10:16:14] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"13407","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-29 10:16:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13407","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-29 10:16:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"13407","title":"معامله دوم 9128983912 | کارشناسی حضوری","base_title_used":"معامله دوم 9128983912","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"طهرانی طهرانی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 10:16:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-29 10:16:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:16:14] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 10:16:14] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"13407","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9128983912 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-29 10:16:14","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 10:16:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 10:16:36] [INFO] Checking activity reminders 
[2026-04-29 10:16:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:16:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:17:06] [INFO] Checking activity reminders 
[2026-04-29 10:17:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:17:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:17:36] [INFO] Checking activity reminders 
[2026-04-29 10:17:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:17:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:18:06] [INFO] Checking activity reminders 
[2026-04-29 10:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:18:36] [INFO] Checking activity reminders 
[2026-04-29 10:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:19:06] [INFO] Checking activity reminders 
[2026-04-29 10:19:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:19:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:19:36] [INFO] Checking activity reminders 
[2026-04-29 10:19:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:19:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:20:07] [INFO] Checking activity reminders 
[2026-04-29 10:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:20:37] [INFO] Checking activity reminders 
[2026-04-29 10:20:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:20:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:21:07] [INFO] Checking activity reminders 
[2026-04-29 10:21:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:21:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:21:37] [INFO] Checking activity reminders 
[2026-04-29 10:21:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:21:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:22:07] [INFO] Checking activity reminders 
[2026-04-29 10:22:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:22:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:22:37] [INFO] Checking activity reminders 
[2026-04-29 10:22:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:22:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:23:07] [INFO] Checking activity reminders 
[2026-04-29 10:23:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:23:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:31:22] [WARNING] Auth check failed - not authenticated {"session_id":"levkhv6g08p3089aqj4rbmuh85","session_keys":[],"action":"log_client_event"}
[2026-04-29 10:31:22] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-29 10:31:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:31:25] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:31:26] [INFO] Checking activity reminders 
[2026-04-29 10:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:31:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 10:32:00] [INFO] Checking activity reminders 
[2026-04-29 10:32:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:32:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:32:30] [INFO] Checking activity reminders 
[2026-04-29 10:32:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:32:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:33:00] [INFO] Checking activity reminders 
[2026-04-29 10:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:33:30] [INFO] Checking activity reminders 
[2026-04-29 10:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:34:00] [INFO] Checking activity reminders 
[2026-04-29 10:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:34:30] [INFO] Checking activity reminders 
[2026-04-29 10:34:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:34:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:35:00] [INFO] Checking activity reminders 
[2026-04-29 10:35:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:35:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:35:30] [INFO] Checking activity reminders 
[2026-04-29 10:35:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:35:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:36:00] [INFO] Checking activity reminders 
[2026-04-29 10:36:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:36:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:36:30] [INFO] Checking activity reminders 
[2026-04-29 10:36:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:36:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:37:00] [INFO] Checking activity reminders 
[2026-04-29 10:37:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:37:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:37:31] [INFO] Checking activity reminders 
[2026-04-29 10:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:38:01] [INFO] Checking activity reminders 
[2026-04-29 10:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:38:31] [INFO] Checking activity reminders 
[2026-04-29 10:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:39:01] [INFO] Checking activity reminders 
[2026-04-29 10:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:39:31] [INFO] Checking activity reminders 
[2026-04-29 10:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:40:01] [INFO] Checking activity reminders 
[2026-04-29 10:40:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:40:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:40:31] [INFO] Checking activity reminders 
[2026-04-29 10:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:41:01] [INFO] Checking activity reminders 
[2026-04-29 10:41:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:41:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:41:46] [INFO] Checking activity reminders 
[2026-04-29 10:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:42:16] [INFO] Checking activity reminders 
[2026-04-29 10:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:42:46] [INFO] Checking activity reminders 
[2026-04-29 10:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:43:16] [INFO] Checking activity reminders 
[2026-04-29 10:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:43:46] [INFO] Checking activity reminders 
[2026-04-29 10:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:44:16] [INFO] Checking activity reminders 
[2026-04-29 10:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:44:46] [INFO] Checking activity reminders 
[2026-04-29 10:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:45:16] [INFO] Checking activity reminders 
[2026-04-29 10:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:45:46] [INFO] Checking activity reminders 
[2026-04-29 10:45:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:45:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:46:16] [INFO] Checking activity reminders 
[2026-04-29 10:46:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:46:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:46:46] [INFO] Checking activity reminders 
[2026-04-29 10:46:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:46:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:47:17] [INFO] Checking activity reminders 
[2026-04-29 10:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:47:47] [INFO] Checking activity reminders 
[2026-04-29 10:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:48:17] [INFO] Checking activity reminders 
[2026-04-29 10:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:48:47] [INFO] Checking activity reminders 
[2026-04-29 10:48:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:48:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:49:17] [INFO] Checking activity reminders 
[2026-04-29 10:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:49:47] [INFO] Checking activity reminders 
[2026-04-29 10:49:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:49:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:50:17] [INFO] Checking activity reminders 
[2026-04-29 10:50:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:50:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:50:47] [INFO] Checking activity reminders 
[2026-04-29 10:50:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:50:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:51:17] [INFO] Checking activity reminders 
[2026-04-29 10:51:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:51:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:51:47] [INFO] Checking activity reminders 
[2026-04-29 10:51:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:51:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:51:56] [INFO] Checking activity reminders 
[2026-04-29 10:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:52:26] [INFO] Checking activity reminders 
[2026-04-29 10:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:52:56] [INFO] Checking activity reminders 
[2026-04-29 10:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:53:26] [INFO] Checking activity reminders 
[2026-04-29 10:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:53:56] [INFO] Checking activity reminders 
[2026-04-29 10:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:54:26] [INFO] Checking activity reminders 
[2026-04-29 10:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:54:56] [INFO] Checking activity reminders 
[2026-04-29 10:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:55:26] [INFO] Checking activity reminders 
[2026-04-29 10:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:55:56] [INFO] Checking activity reminders 
[2026-04-29 10:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:56:26] [INFO] Checking activity reminders 
[2026-04-29 10:56:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:56:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:56:56] [INFO] Checking activity reminders 
[2026-04-29 10:56:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:56:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:57:27] [INFO] Checking activity reminders 
[2026-04-29 10:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:57:57] [INFO] Checking activity reminders 
[2026-04-29 10:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:58:27] [INFO] Checking activity reminders 
[2026-04-29 10:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:58:57] [INFO] Checking activity reminders 
[2026-04-29 10:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:59:27] [INFO] Checking activity reminders 
[2026-04-29 10:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 10:59:57] [INFO] Checking activity reminders 
[2026-04-29 10:59:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 10:59:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:00:27] [INFO] Checking activity reminders 
[2026-04-29 11:00:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:00:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:00:57] [INFO] Checking activity reminders 
[2026-04-29 11:00:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:00:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:01:27] [INFO] Checking activity reminders 
[2026-04-29 11:01:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:01:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:01:57] [INFO] Checking activity reminders 
[2026-04-29 11:01:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:01:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:02:27] [INFO] Checking activity reminders 
[2026-04-29 11:02:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:02:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:02:57] [INFO] Checking activity reminders 
[2026-04-29 11:02:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:02:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:03:27] [INFO] Checking activity reminders 
[2026-04-29 11:03:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:03:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:03:57] [INFO] Checking activity reminders 
[2026-04-29 11:03:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:03:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:04:27] [INFO] Checking activity reminders 
[2026-04-29 11:04:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:04:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:04:58] [INFO] Checking activity reminders 
[2026-04-29 11:04:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:04:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:05:28] [INFO] Checking activity reminders 
[2026-04-29 11:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:05:58] [INFO] Checking activity reminders 
[2026-04-29 11:05:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:05:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:06:28] [INFO] Checking activity reminders 
[2026-04-29 11:06:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:06:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:06:58] [INFO] Checking activity reminders 
[2026-04-29 11:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:07:28] [INFO] Checking activity reminders 
[2026-04-29 11:07:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:07:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:07:58] [INFO] Checking activity reminders 
[2026-04-29 11:07:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:07:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:08:28] [INFO] Checking activity reminders 
[2026-04-29 11:08:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:08:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:08:58] [INFO] Checking activity reminders 
[2026-04-29 11:08:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:08:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:09:00] [INFO] Checking activity reminders 
[2026-04-29 11:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:09:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 11:09:30] [INFO] Checking activity reminders 
[2026-04-29 11:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:10:00] [INFO] Checking activity reminders 
[2026-04-29 11:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:10:30] [INFO] Checking activity reminders 
[2026-04-29 11:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:10:56] [INFO] Checking activity reminders 
[2026-04-29 11:10:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:10:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:11:26] [INFO] Checking activity reminders 
[2026-04-29 11:11:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:11:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:11:56] [INFO] Checking activity reminders 
[2026-04-29 11:11:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:11:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:12:26] [INFO] Checking activity reminders 
[2026-04-29 11:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:12:56] [INFO] Checking activity reminders 
[2026-04-29 11:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:13:27] [INFO] Checking activity reminders 
[2026-04-29 11:13:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:13:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:13:57] [INFO] Checking activity reminders 
[2026-04-29 11:13:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:13:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:14:27] [INFO] Checking activity reminders 
[2026-04-29 11:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:14:57] [INFO] Checking activity reminders 
[2026-04-29 11:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:15:17] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 11:15:17","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 11:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 11:15:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"local_69f07fd5a950c8.03863822","is_new_deal":false}
[2026-04-29 11:15:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 11:15:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 11:15:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 11:15:17] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-29 11:15:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 11:15:17] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f07fd5a950c8.03863822","person_found":true,"primary_phone":"9134605003"}
[2026-04-29 11:15:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9134605003"}
[2026-04-29 11:15:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9134605003","contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 11:15:17"}
[2026-04-29 11:15:18] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","existing_deal_found":true,"existing_contact_id":"local_69f07fd5a950c8.03863822","existing_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 11:15:18"}
[2026-04-29 11:15:18] [INFO] DealController.save validated payments {"deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-29 11:15:18] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"local_69f07fd5a950c8.03863822","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 11:15:18] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f07fd5abfaf","contact_didar_id":"local_69f07fd5a950c8.03863822","title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله اول 9134605003","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":15000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد عابدی","existing_deal":"YES","existing_deal_id":"local_69f07fd5abfaf","existing_deal_status":"Pending","server_time":"2026-04-29 11:15:18","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 11:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 11:15:18] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f07fd5abfaf","contact_id":"local_69f07fd5a950c8.03863822","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9134605003 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":15000000,"server_time":"2026-04-29 11:15:18","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 11:15:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 11:15:27] [INFO] Checking activity reminders 
[2026-04-29 11:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:15:57] [INFO] Checking activity reminders 
[2026-04-29 11:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:16:27] [INFO] Checking activity reminders 
[2026-04-29 11:16:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:16:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:16:57] [INFO] Checking activity reminders 
[2026-04-29 11:16:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:16:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:17:27] [INFO] Checking activity reminders 
[2026-04-29 11:17:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:17:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:17:57] [INFO] Checking activity reminders 
[2026-04-29 11:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:18:27] [INFO] Checking activity reminders 
[2026-04-29 11:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:18:57] [INFO] Checking activity reminders 
[2026-04-29 11:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:18:59] [WARNING] Auth check failed - not authenticated {"session_id":"q7khg8csjnvlq70lf1a2hq32tu","session_keys":[],"action":"log_client_event"}
[2026-04-29 11:19:00] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-29 11:19:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 11:19:28] [INFO] Checking activity reminders 
[2026-04-29 11:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:19:30] [INFO] Checking activity reminders 
[2026-04-29 11:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:19:58] [INFO] Checking activity reminders 
[2026-04-29 11:19:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:19:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:20:00] [INFO] Checking activity reminders 
[2026-04-29 11:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:20:28] [INFO] Checking activity reminders 
[2026-04-29 11:20:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:20:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:20:30] [INFO] Checking activity reminders 
[2026-04-29 11:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:20:58] [INFO] Checking activity reminders 
[2026-04-29 11:20:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:20:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:21:00] [INFO] Checking activity reminders 
[2026-04-29 11:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:21:28] [INFO] Checking activity reminders 
[2026-04-29 11:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:21:30] [INFO] Checking activity reminders 
[2026-04-29 11:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:21:58] [INFO] Checking activity reminders 
[2026-04-29 11:21:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:21:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:22:01] [INFO] Checking activity reminders 
[2026-04-29 11:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:22:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:28] [INFO] Checking activity reminders 
[2026-04-29 11:22:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:22:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:22:31] [INFO] Checking activity reminders 
[2026-04-29 11:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:22:36] [INFO] Lead update received {"contact_id":"12676","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 11:22:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:36] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12676"}
[2026-04-29 11:22:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Activity save request {"post_data":{"contact_id":"12676","deal_id":"local_69b72416ecc7d1.09562998","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 11:22:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12676","note_was_empty":true}
[2026-04-29 11:22:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"12676","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Updating virtual stage {"contact_id":"12676","stage_name":"deal_registered","force":false}
[2026-04-29 11:22:55] [INFO] Virtual stage successfully saved {"contact_id":"12676","stage_name":"deal_registered"}
[2026-04-29 11:22:55] [INFO] Virtual stage updated after activity save {"contact_id":"12676"}
[2026-04-29 11:22:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72416ecc7d1.09562998","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 11:22:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1b8d75ddb80.29141579","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1b8d75ddb80.29141579"}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:55] [INFO] Updating virtual stage {"contact_id":"12676","stage_name":"deal_registered","force":false}
[2026-04-29 11:22:55] [INFO] Virtual stage successfully saved {"contact_id":"12676","stage_name":"deal_registered"}
[2026-04-29 11:22:55] [INFO] Virtual stage updated after activity save {"contact_id":"12676"}
[2026-04-29 11:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12676","person_id":"11719"}
[2026-04-29 11:22:59] [INFO] Checking activity reminders 
[2026-04-29 11:22:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:22:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:23:01] [INFO] Checking activity reminders 
[2026-04-29 11:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:23:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:23:29] [INFO] Checking activity reminders 
[2026-04-29 11:23:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:23:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:23:31] [INFO] Checking activity reminders 
[2026-04-29 11:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:23:59] [INFO] Checking activity reminders 
[2026-04-29 11:23:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:23:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:24:01] [INFO] Checking activity reminders 
[2026-04-29 11:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:24:31] [INFO] Checking activity reminders 
[2026-04-29 11:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:25:01] [INFO] Checking activity reminders 
[2026-04-29 11:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:25:31] [INFO] Checking activity reminders 
[2026-04-29 11:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:26:01] [INFO] Checking activity reminders 
[2026-04-29 11:26:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:26:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:26:32] [INFO] Checking activity reminders 
[2026-04-29 11:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:27:02] [INFO] Checking activity reminders 
[2026-04-29 11:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:27:32] [INFO] Checking activity reminders 
[2026-04-29 11:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:28:02] [INFO] Checking activity reminders 
[2026-04-29 11:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:28:32] [INFO] Checking activity reminders 
[2026-04-29 11:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:28:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 11:29:01] [INFO] Checking activity reminders 
[2026-04-29 11:29:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:29:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:29:02] [INFO] Checking activity reminders 
[2026-04-29 11:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:29:05] [INFO] Checking activity reminders 
[2026-04-29 11:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:29:35] [INFO] Checking activity reminders 
[2026-04-29 11:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:29:36] [INFO] Checking activity reminders 
[2026-04-29 11:29:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:29:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:30:05] [INFO] Checking activity reminders 
[2026-04-29 11:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:30:06] [INFO] Checking activity reminders 
[2026-04-29 11:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:30:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:30:35] [INFO] Checking activity reminders 
[2026-04-29 11:30:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:30:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:30:36] [INFO] Checking activity reminders 
[2026-04-29 11:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:31:06] [INFO] Checking activity reminders 
[2026-04-29 11:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:31:06] [INFO] Checking activity reminders 
[2026-04-29 11:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:31:36] [INFO] Checking activity reminders 
[2026-04-29 11:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:31:36] [INFO] Checking activity reminders 
[2026-04-29 11:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:31:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 11:32:06] [INFO] Checking activity reminders 
[2026-04-29 11:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:32:06] [INFO] Checking activity reminders 
[2026-04-29 11:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:32:32] [INFO] Activity save request {"post_data":{"contact_id":"21415","deal_id":"local_69d22400afcc19.74863539","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی ارسال سوال استاد","activity_duration":"15","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 11:32:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21415","note_was_empty":true}
[2026-04-29 11:32:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"21415","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Updating virtual stage {"contact_id":"21415","stage_name":"with_purchase","force":false}
[2026-04-29 11:32:32] [INFO] Virtual stage successfully saved {"contact_id":"21415","stage_name":"with_purchase"}
[2026-04-29 11:32:32] [INFO] Virtual stage updated after activity save {"contact_id":"21415"}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d22400afcc19.74863539","stage":"اتمام","status_change":"Won"}
[2026-04-29 11:32:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1bb185455c8.71062378","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1bb185455c8.71062378"}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:32] [INFO] Updating virtual stage {"contact_id":"21415","stage_name":"with_purchase","force":false}
[2026-04-29 11:32:32] [INFO] Virtual stage successfully saved {"contact_id":"21415","stage_name":"with_purchase"}
[2026-04-29 11:32:32] [INFO] Virtual stage updated after activity save {"contact_id":"21415"}
[2026-04-29 11:32:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21415","person_id":"2823"}
[2026-04-29 11:32:36] [INFO] Checking activity reminders 
[2026-04-29 11:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:32:36] [INFO] Checking activity reminders 
[2026-04-29 11:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:33:00] [INFO] Checking activity reminders 
[2026-04-29 11:33:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:33:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:33:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 11:33:06] [INFO] Checking activity reminders 
[2026-04-29 11:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:33:30] [INFO] Checking activity reminders 
[2026-04-29 11:33:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:33:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:33:36] [INFO] Checking activity reminders 
[2026-04-29 11:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:34:00] [INFO] Checking activity reminders 
[2026-04-29 11:34:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:34:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:34:06] [INFO] Checking activity reminders 
[2026-04-29 11:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:34:30] [INFO] Checking activity reminders 
[2026-04-29 11:34:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:34:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:34:37] [INFO] Checking activity reminders 
[2026-04-29 11:34:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:34:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:35:01] [INFO] Checking activity reminders 
[2026-04-29 11:35:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:35:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:35:07] [INFO] Checking activity reminders 
[2026-04-29 11:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:35:31] [INFO] Checking activity reminders 
[2026-04-29 11:35:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:35:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:35:37] [INFO] Checking activity reminders 
[2026-04-29 11:35:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:35:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:36:01] [INFO] Checking activity reminders 
[2026-04-29 11:36:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:36:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:36:07] [INFO] Checking activity reminders 
[2026-04-29 11:36:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:36:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:36:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:36:31] [INFO] Checking activity reminders 
[2026-04-29 11:36:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:36:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:36:37] [INFO] Checking activity reminders 
[2026-04-29 11:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:37:01] [INFO] Checking activity reminders 
[2026-04-29 11:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:37:07] [INFO] Checking activity reminders 
[2026-04-29 11:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:37:31] [INFO] Checking activity reminders 
[2026-04-29 11:37:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:37:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:37:37] [INFO] Checking activity reminders 
[2026-04-29 11:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:38:01] [INFO] Checking activity reminders 
[2026-04-29 11:38:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:38:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:38:07] [INFO] Checking activity reminders 
[2026-04-29 11:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:38:31] [INFO] Checking activity reminders 
[2026-04-29 11:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:38:37] [INFO] Checking activity reminders 
[2026-04-29 11:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:39:01] [INFO] Checking activity reminders 
[2026-04-29 11:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:39:07] [INFO] Checking activity reminders 
[2026-04-29 11:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:39:31] [INFO] Checking activity reminders 
[2026-04-29 11:39:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:39:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:39:37] [INFO] Checking activity reminders 
[2026-04-29 11:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:40:01] [INFO] Checking activity reminders 
[2026-04-29 11:40:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:40:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:40:08] [INFO] Checking activity reminders 
[2026-04-29 11:40:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:40:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:40:31] [INFO] Checking activity reminders 
[2026-04-29 11:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:40:38] [INFO] Checking activity reminders 
[2026-04-29 11:40:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:40:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:41:02] [INFO] Checking activity reminders 
[2026-04-29 11:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:41:08] [INFO] Checking activity reminders 
[2026-04-29 11:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:41:32] [INFO] Checking activity reminders 
[2026-04-29 11:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:41:38] [INFO] Checking activity reminders 
[2026-04-29 11:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:42:02] [INFO] Checking activity reminders 
[2026-04-29 11:42:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:42:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:42:08] [INFO] Checking activity reminders 
[2026-04-29 11:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:42:11] [INFO] Activity save request {"post_data":{"contact_id":"3215","deal_id":"local_69f1a879a8a9a5.47879087","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال چرا گذاشتین \/ ایشون هوش مناسبه براش خودشم درخواست هوش داشت \r\nارسال ش کارت تا 12:30 میزنه","activity_duration":"25","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:11] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 11:42:11] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:11] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"3215","note_was_empty":true}
[2026-04-29 11:42:11] [INFO] Didar write disabled; saving activity locally {"contact_id":"3215","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:11] [INFO] Updating virtual stage {"contact_id":"3215","stage_name":"deal_registered","force":false}
[2026-04-29 11:42:11] [INFO] Virtual stage successfully saved {"contact_id":"3215","stage_name":"deal_registered"}
[2026-04-29 11:42:11] [INFO] Virtual stage updated after activity save {"contact_id":"3215"}
[2026-04-29 11:42:11] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a879a8a9a5.47879087","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-29 11:42:11] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1bd5b0ceeb5.02205988","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:11] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1bd5b0ceeb5.02205988"}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:11] [INFO] Updating virtual stage {"contact_id":"3215","stage_name":"deal_registered","force":false}
[2026-04-29 11:42:11] [INFO] Virtual stage successfully saved {"contact_id":"3215","stage_name":"deal_registered"}
[2026-04-29 11:42:11] [INFO] Virtual stage updated after activity save {"contact_id":"3215"}
[2026-04-29 11:42:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3215","person_id":"18029"}
[2026-04-29 11:42:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:42:32] [INFO] Checking activity reminders 
[2026-04-29 11:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:42:38] [INFO] Checking activity reminders 
[2026-04-29 11:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:43:02] [INFO] Checking activity reminders 
[2026-04-29 11:43:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:43:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:43:08] [INFO] Checking activity reminders 
[2026-04-29 11:43:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:43:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:43:32] [INFO] Checking activity reminders 
[2026-04-29 11:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:43:38] [INFO] Checking activity reminders 
[2026-04-29 11:43:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:43:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:44:02] [INFO] Checking activity reminders 
[2026-04-29 11:44:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:44:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:44:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:44:08] [INFO] Checking activity reminders 
[2026-04-29 11:44:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:44:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:44:32] [INFO] Checking activity reminders 
[2026-04-29 11:44:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:44:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:44:39] [INFO] Checking activity reminders 
[2026-04-29 11:44:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:44:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:45:02] [INFO] Checking activity reminders 
[2026-04-29 11:45:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:45:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:45:09] [INFO] Checking activity reminders 
[2026-04-29 11:45:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:45:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:45:32] [INFO] Checking activity reminders 
[2026-04-29 11:45:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:45:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:45:39] [INFO] Checking activity reminders 
[2026-04-29 11:45:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:45:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:46:02] [INFO] Checking activity reminders 
[2026-04-29 11:46:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:46:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:46:09] [INFO] Checking activity reminders 
[2026-04-29 11:46:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:46:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:46:32] [INFO] Checking activity reminders 
[2026-04-29 11:46:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:46:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:46:39] [INFO] Checking activity reminders 
[2026-04-29 11:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:47:03] [INFO] Checking activity reminders 
[2026-04-29 11:47:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:47:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:47:09] [INFO] Checking activity reminders 
[2026-04-29 11:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:47:20] [INFO] Activity save request {"post_data":{"contact_id":"4312","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"سیگنال طلا میخواست برای رفیقش \/ گفت اخر ماه چک پاس میشه میاد کانال گفتم الان پول بزن سیگنال ببین از دوستت بگیر چند دقیقه دیگه اطلاع","activity_duration":"10","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:47:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 11:47:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:47:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"4312","note_was_empty":true}
[2026-04-29 11:47:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"4312","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 11:47:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1be908425a0.40098421","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:47:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1be908425a0.40098421"}
[2026-04-29 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:47:20] [INFO] Updating virtual stage {"contact_id":"4312","stage_name":"deal_registered","force":false}
[2026-04-29 11:47:20] [INFO] Virtual stage successfully saved {"contact_id":"4312","stage_name":"deal_registered"}
[2026-04-29 11:47:20] [INFO] Virtual stage updated after activity save {"contact_id":"4312"}
[2026-04-29 11:47:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4312","person_id":"5223"}
[2026-04-29 11:47:33] [INFO] Checking activity reminders 
[2026-04-29 11:47:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:47:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:47:39] [INFO] Checking activity reminders 
[2026-04-29 11:47:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:47:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:48:03] [INFO] Checking activity reminders 
[2026-04-29 11:48:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:48:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:48:09] [INFO] Checking activity reminders 
[2026-04-29 11:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:48:33] [INFO] Checking activity reminders 
[2026-04-29 11:48:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:48:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:48:39] [INFO] Checking activity reminders 
[2026-04-29 11:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:49:03] [INFO] Checking activity reminders 
[2026-04-29 11:49:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:49:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:49:09] [INFO] Checking activity reminders 
[2026-04-29 11:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:49:33] [INFO] Checking activity reminders 
[2026-04-29 11:49:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:49:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:49:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:49:40] [INFO] Checking activity reminders 
[2026-04-29 11:49:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:49:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:50:03] [INFO] Checking activity reminders 
[2026-04-29 11:50:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:50:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:50:10] [INFO] Checking activity reminders 
[2026-04-29 11:50:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:50:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:50:13] [INFO] Activity save request {"post_data":{"contact_id":"637","deal_id":"local_69f1a62b0d3c04.63247258","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"واسه تمدید جواب نداده بود الان مجدد ش گذاشته تماس عدم پاسه ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 11:50:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"637","note_was_empty":true}
[2026-04-29 11:50:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"637","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:13] [INFO] Updating virtual stage {"contact_id":"637","stage_name":"deal_registered","force":false}
[2026-04-29 11:50:13] [INFO] Virtual stage successfully saved {"contact_id":"637","stage_name":"deal_registered"}
[2026-04-29 11:50:13] [INFO] Virtual stage updated after activity save {"contact_id":"637"}
[2026-04-29 11:50:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a62b0d3c04.63247258","stage":"تماس پیگیری","status_change":null}
[2026-04-29 11:50:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1bf3d0a52e3.67962393","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1bf3d0a52e3.67962393"}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:13] [INFO] Updating virtual stage {"contact_id":"637","stage_name":"deal_registered","force":false}
[2026-04-29 11:50:13] [INFO] Virtual stage successfully saved {"contact_id":"637","stage_name":"deal_registered"}
[2026-04-29 11:50:13] [INFO] Virtual stage updated after activity save {"contact_id":"637"}
[2026-04-29 11:50:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 11:50:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 11:50:33] [INFO] Checking activity reminders 
[2026-04-29 11:50:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:50:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:50:40] [INFO] Checking activity reminders 
[2026-04-29 11:50:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:50:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:51:03] [INFO] Checking activity reminders 
[2026-04-29 11:51:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:51:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:51:10] [INFO] Checking activity reminders 
[2026-04-29 11:51:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:51:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:51:33] [INFO] Checking activity reminders 
[2026-04-29 11:51:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:51:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:51:40] [INFO] Checking activity reminders 
[2026-04-29 11:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:52:03] [INFO] Checking activity reminders 
[2026-04-29 11:52:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:52:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:52:10] [INFO] Checking activity reminders 
[2026-04-29 11:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:52:33] [INFO] Checking activity reminders 
[2026-04-29 11:52:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:52:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:52:40] [INFO] Checking activity reminders 
[2026-04-29 11:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:53:03] [INFO] Checking activity reminders 
[2026-04-29 11:53:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:53:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:53:11] [INFO] Checking activity reminders 
[2026-04-29 11:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:53:34] [INFO] Checking activity reminders 
[2026-04-29 11:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:53:41] [INFO] Checking activity reminders 
[2026-04-29 11:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:54:11] [INFO] Checking activity reminders 
[2026-04-29 11:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:54:30] [INFO] Checking activity reminders 
[2026-04-29 11:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:54:41] [INFO] Checking activity reminders 
[2026-04-29 11:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:55:00] [INFO] Checking activity reminders 
[2026-04-29 11:55:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:55:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:55:11] [INFO] Checking activity reminders 
[2026-04-29 11:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:55:30] [INFO] Checking activity reminders 
[2026-04-29 11:55:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:55:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:55:41] [INFO] Checking activity reminders 
[2026-04-29 11:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:56:01] [INFO] Checking activity reminders 
[2026-04-29 11:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:56:11] [INFO] Checking activity reminders 
[2026-04-29 11:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:56:31] [INFO] Checking activity reminders 
[2026-04-29 11:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:56:42] [INFO] Checking activity reminders 
[2026-04-29 11:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:57:01] [INFO] Checking activity reminders 
[2026-04-29 11:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:57:12] [INFO] Checking activity reminders 
[2026-04-29 11:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:57:31] [INFO] Checking activity reminders 
[2026-04-29 11:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:57:42] [INFO] Checking activity reminders 
[2026-04-29 11:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:58:01] [INFO] Checking activity reminders 
[2026-04-29 11:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:58:12] [INFO] Checking activity reminders 
[2026-04-29 11:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:58:31] [INFO] Checking activity reminders 
[2026-04-29 11:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:58:42] [INFO] Checking activity reminders 
[2026-04-29 11:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:59:01] [INFO] Checking activity reminders 
[2026-04-29 11:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:59:12] [INFO] Checking activity reminders 
[2026-04-29 11:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:59:31] [INFO] Checking activity reminders 
[2026-04-29 11:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 11:59:42] [INFO] Checking activity reminders 
[2026-04-29 11:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 11:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:00:01] [INFO] Checking activity reminders 
[2026-04-29 12:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:00:12] [INFO] Checking activity reminders 
[2026-04-29 12:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:00:31] [INFO] Checking activity reminders 
[2026-04-29 12:00:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:00:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:00:42] [INFO] Checking activity reminders 
[2026-04-29 12:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:01:01] [INFO] Checking activity reminders 
[2026-04-29 12:01:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:01:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:01:13] [INFO] Checking activity reminders 
[2026-04-29 12:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:01:31] [INFO] Checking activity reminders 
[2026-04-29 12:01:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:01:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:01:43] [INFO] Checking activity reminders 
[2026-04-29 12:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:02:02] [INFO] Checking activity reminders 
[2026-04-29 12:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:02:13] [INFO] Checking activity reminders 
[2026-04-29 12:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:02:32] [INFO] Checking activity reminders 
[2026-04-29 12:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:02:43] [INFO] Checking activity reminders 
[2026-04-29 12:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:03:02] [INFO] Checking activity reminders 
[2026-04-29 12:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:03:13] [INFO] Checking activity reminders 
[2026-04-29 12:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:03:32] [INFO] Checking activity reminders 
[2026-04-29 12:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:03:43] [INFO] Checking activity reminders 
[2026-04-29 12:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:04:02] [INFO] Checking activity reminders 
[2026-04-29 12:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:04:13] [INFO] Checking activity reminders 
[2026-04-29 12:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:04:32] [INFO] Checking activity reminders 
[2026-04-29 12:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:04:43] [INFO] Checking activity reminders 
[2026-04-29 12:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:05:02] [INFO] Checking activity reminders 
[2026-04-29 12:05:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:05:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:05:14] [INFO] Checking activity reminders 
[2026-04-29 12:05:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:05:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:05:14] [INFO] Activity save request {"post_data":{"contact_id":"14342","deal_id":"local_69f1a550de0351.48636960","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"cip براش مناسب نبود \/ کانال پرزنت شد مجدد تا ساعت 5 اطلاع با مشاوره میخواد یا بدون مشاوره \r\n100 گرم طلا\/ نقره 3کیلو \/ 500 ت نقد \/ ","activity_duration":"30","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 12:05:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14342","note_was_empty":true}
[2026-04-29 12:05:14] [INFO] Didar write disabled; saving activity locally {"contact_id":"14342","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:14] [INFO] Updating virtual stage {"contact_id":"14342","stage_name":"deal_registered","force":false}
[2026-04-29 12:05:14] [INFO] Virtual stage successfully saved {"contact_id":"14342","stage_name":"deal_registered"}
[2026-04-29 12:05:14] [INFO] Virtual stage updated after activity save {"contact_id":"14342"}
[2026-04-29 12:05:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a550de0351.48636960","stage":"تماس پیگیری","status_change":null}
[2026-04-29 12:05:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1c2c26bf869.47492929","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1c2c26bf869.47492929"}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:14] [INFO] Updating virtual stage {"contact_id":"14342","stage_name":"deal_registered","force":false}
[2026-04-29 12:05:14] [INFO] Virtual stage successfully saved {"contact_id":"14342","stage_name":"deal_registered"}
[2026-04-29 12:05:14] [INFO] Virtual stage updated after activity save {"contact_id":"14342"}
[2026-04-29 12:05:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-29 12:05:32] [INFO] Checking activity reminders 
[2026-04-29 12:05:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:05:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:05:44] [INFO] Checking activity reminders 
[2026-04-29 12:05:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:05:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:05:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:06:02] [INFO] Checking activity reminders 
[2026-04-29 12:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:06:14] [INFO] Checking activity reminders 
[2026-04-29 12:06:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:06:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:06:32] [INFO] Checking activity reminders 
[2026-04-29 12:06:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:06:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:06:44] [INFO] Checking activity reminders 
[2026-04-29 12:06:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:06:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:07:02] [INFO] Checking activity reminders 
[2026-04-29 12:07:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:07:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:07:14] [INFO] Checking activity reminders 
[2026-04-29 12:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:07:32] [INFO] Checking activity reminders 
[2026-04-29 12:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:07:44] [INFO] Checking activity reminders 
[2026-04-29 12:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:03] [INFO] Checking activity reminders 
[2026-04-29 12:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:15] [INFO] Checking activity reminders 
[2026-04-29 12:08:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:33] [INFO] Checking activity reminders 
[2026-04-29 12:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:44] [INFO] Checking activity reminders 
[2026-04-29 12:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:45] [INFO] Checking activity reminders 
[2026-04-29 12:08:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:46] [INFO] Checking activity reminders 
[2026-04-29 12:08:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:08:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:08:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 12:09:15] [INFO] Checking activity reminders 
[2026-04-29 12:09:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:09:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:09:19] [INFO] Checking activity reminders 
[2026-04-29 12:09:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:09:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:09:31] [INFO] Checking activity reminders 
[2026-04-29 12:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:09:46] [INFO] Checking activity reminders 
[2026-04-29 12:09:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:09:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:10:01] [INFO] Checking activity reminders 
[2026-04-29 12:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:10:16] [INFO] Checking activity reminders 
[2026-04-29 12:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:10:31] [INFO] Checking activity reminders 
[2026-04-29 12:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:10:46] [INFO] Checking activity reminders 
[2026-04-29 12:10:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:10:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:11:01] [INFO] Checking activity reminders 
[2026-04-29 12:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:11:16] [INFO] Checking activity reminders 
[2026-04-29 12:11:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:11:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:11:31] [INFO] Checking activity reminders 
[2026-04-29 12:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:12:01] [INFO] Checking activity reminders 
[2026-04-29 12:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:12:31] [INFO] Checking activity reminders 
[2026-04-29 12:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:13:02] [INFO] Checking activity reminders 
[2026-04-29 12:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:13:32] [INFO] Checking activity reminders 
[2026-04-29 12:13:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:13:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:14:02] [INFO] Checking activity reminders 
[2026-04-29 12:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:14:32] [INFO] Checking activity reminders 
[2026-04-29 12:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:15:02] [INFO] Checking activity reminders 
[2026-04-29 12:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:15:32] [INFO] Checking activity reminders 
[2026-04-29 12:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:16:02] [INFO] Checking activity reminders 
[2026-04-29 12:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:16:32] [INFO] Checking activity reminders 
[2026-04-29 12:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:17:02] [INFO] Checking activity reminders 
[2026-04-29 12:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:17:32] [INFO] Checking activity reminders 
[2026-04-29 12:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:18:02] [INFO] Checking activity reminders 
[2026-04-29 12:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:18:33] [INFO] Checking activity reminders 
[2026-04-29 12:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:19:03] [INFO] Checking activity reminders 
[2026-04-29 12:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:19:33] [INFO] Checking activity reminders 
[2026-04-29 12:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:19:51] [INFO] Activity save request {"post_data":{"contact_id":"21051","deal_id":"local_69f1a8ba425075.21037505","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"200 نقد \r\nطلا روی 11 م خریده \r\nملک سرمایه گذاری داره که اجاره داده قسط وام پرداخت میکنه \r\nدخترش ارزدیجیتال \/ کد بورسی داره \r\nپرزنت 405 \r\nنوسان گیری در صندوق های طلا و نقره \r\nماهی 25 قسط میده \r\nبازنشسته \r\nهمش میگه من تجربه ی تلخ از کانال دیگه دارم \/ مشورت با دخترش \r\nبهش گفتم فرصت به شما اجازه ی فکر کردن نمیده \r\nاخرین باری هست زمان براتون میذارم ","activity_duration":"20","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:19:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 12:19:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:19:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21051","note_was_empty":true}
[2026-04-29 12:19:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"21051","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:19:51] [INFO] Updating virtual stage {"contact_id":"21051","stage_name":"deal_registered","force":false}
[2026-04-29 12:19:51] [INFO] Virtual stage successfully saved {"contact_id":"21051","stage_name":"deal_registered"}
[2026-04-29 12:19:51] [INFO] Virtual stage updated after activity save {"contact_id":"21051"}
[2026-04-29 12:19:51] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a8ba425075.21037505","stage":"تماس پیگیری","status_change":null}
[2026-04-29 12:19:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1c62f5ace47.34722585","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:19:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1c62f5ace47.34722585"}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:19:51] [INFO] Updating virtual stage {"contact_id":"21051","stage_name":"deal_registered","force":false}
[2026-04-29 12:19:51] [INFO] Virtual stage successfully saved {"contact_id":"21051","stage_name":"deal_registered"}
[2026-04-29 12:19:51] [INFO] Virtual stage updated after activity save {"contact_id":"21051"}
[2026-04-29 12:19:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21051","person_id":"20948"}
[2026-04-29 12:20:03] [INFO] Checking activity reminders 
[2026-04-29 12:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:20:52] [INFO] Checking activity reminders 
[2026-04-29 12:20:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:20:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 12:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 12:21:22] [INFO] Checking activity reminders 
[2026-04-29 12:21:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:21:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:21:52] [INFO] Checking activity reminders 
[2026-04-29 12:21:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:21:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:22:22] [INFO] Checking activity reminders 
[2026-04-29 12:22:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:22:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:23:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 12:23:38] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 12:23:54] [INFO] Checking activity reminders 
[2026-04-29 12:23:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:23:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:23:57] [INFO] Checking activity reminders 
[2026-04-29 12:23:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:23:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:24:08] [INFO] Checking activity reminders 
[2026-04-29 12:24:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:24:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:24:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:24:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:24:38] [INFO] Checking activity reminders 
[2026-04-29 12:24:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:24:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:25:08] [INFO] Checking activity reminders 
[2026-04-29 12:25:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:25:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:25:38] [INFO] Checking activity reminders 
[2026-04-29 12:25:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:25:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:25:44] [INFO] Checking activity reminders 
[2026-04-29 12:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:26:08] [INFO] Checking activity reminders 
[2026-04-29 12:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:26:14] [INFO] Checking activity reminders 
[2026-04-29 12:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:26:28] [INFO] Activity save request {"post_data":{"contact_id":"98","deal_id":"16092","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"با برادرم صحبت کردم وام جور نشده \r\nخودش هم تمام نقدینگی پارسال تبدیل کرده فیزیکی \r\nبرای 17-18 مجدد شاگرد داره برای شروع نوسان گیری \r\nبهش 27 تومانی بدون پشتیبانی گفتم \r\nاطلاع میده ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 12:26:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"98","note_was_empty":true}
[2026-04-29 12:26:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"98","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:28] [INFO] Updating virtual stage {"contact_id":"98","stage_name":"deal_registered","force":false}
[2026-04-29 12:26:28] [INFO] Virtual stage successfully saved {"contact_id":"98","stage_name":"deal_registered"}
[2026-04-29 12:26:28] [INFO] Virtual stage updated after activity save {"contact_id":"98"}
[2026-04-29 12:26:28] [INFO] Pipeline stage updated after activity save {"deal_id":"16092","stage":"تماس پیگیری","status_change":null}
[2026-04-29 12:26:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1c7bc121209.32135977","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1c7bc121209.32135977"}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:28] [INFO] Updating virtual stage {"contact_id":"98","stage_name":"deal_registered","force":false}
[2026-04-29 12:26:28] [INFO] Virtual stage successfully saved {"contact_id":"98","stage_name":"deal_registered"}
[2026-04-29 12:26:28] [INFO] Virtual stage updated after activity save {"contact_id":"98"}
[2026-04-29 12:26:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"98","person_id":"11049"}
[2026-04-29 12:26:38] [INFO] Checking activity reminders 
[2026-04-29 12:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:26:45] [INFO] Checking activity reminders 
[2026-04-29 12:26:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:26:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:26:52] [INFO] Activity save request {"post_data":{"contact_id":"15299","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"کانال هست تا اخر سال با مشاوره \/ پشتیبانی خرید نقره و طلا از سیگنال استاد\r\n","activity_duration":"30","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 12:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:26:52] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 12:26:52] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 12:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:26:52] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15299","note_was_empty":true}
[2026-04-29 12:26:52] [INFO] Didar write disabled; saving activity locally {"contact_id":"15299","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 12:26:52] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1c7d4052054.10794185","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 12:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:26:52] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1c7d4052054.10794185"}
[2026-04-29 12:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:26:52] [INFO] Updating virtual stage {"contact_id":"15299","stage_name":"deal_registered","force":false}
[2026-04-29 12:26:52] [INFO] Virtual stage successfully saved {"contact_id":"15299","stage_name":"deal_registered"}
[2026-04-29 12:26:52] [INFO] Virtual stage updated after activity save {"contact_id":"15299"}
[2026-04-29 12:26:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15299","person_id":"15748"}
[2026-04-29 12:27:08] [INFO] Checking activity reminders 
[2026-04-29 12:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:27:14] [INFO] Checking activity reminders 
[2026-04-29 12:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:27:15] [INFO] Checking activity reminders 
[2026-04-29 12:27:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:27:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:27:45] [INFO] Checking activity reminders 
[2026-04-29 12:27:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:27:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:27:48] [INFO] Checking activity reminders 
[2026-04-29 12:27:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:27:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:28:15] [INFO] Checking activity reminders 
[2026-04-29 12:28:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:28:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:28:18] [INFO] Checking activity reminders 
[2026-04-29 12:28:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:28:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:28:21] [INFO] Checking activity reminders 
[2026-04-29 12:28:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:28:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:28:49] [INFO] Checking activity reminders 
[2026-04-29 12:28:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:28:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:28:51] [INFO] Checking activity reminders 
[2026-04-29 12:28:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:28:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:29:19] [INFO] Checking activity reminders 
[2026-04-29 12:29:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:29:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:29:21] [INFO] Checking activity reminders 
[2026-04-29 12:29:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:29:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:29:49] [INFO] Checking activity reminders 
[2026-04-29 12:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:29:51] [INFO] Checking activity reminders 
[2026-04-29 12:29:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:29:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:30:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:30:19] [INFO] Checking activity reminders 
[2026-04-29 12:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:30:21] [INFO] Checking activity reminders 
[2026-04-29 12:30:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:30:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:30:49] [INFO] Checking activity reminders 
[2026-04-29 12:30:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:30:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:30:51] [INFO] Checking activity reminders 
[2026-04-29 12:30:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:30:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:31:19] [INFO] Checking activity reminders 
[2026-04-29 12:31:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:31:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:31:22] [INFO] Checking activity reminders 
[2026-04-29 12:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:31:49] [INFO] Checking activity reminders 
[2026-04-29 12:31:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:31:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:31:52] [INFO] Checking activity reminders 
[2026-04-29 12:31:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:31:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:32:19] [INFO] Checking activity reminders 
[2026-04-29 12:32:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:32:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:32:22] [INFO] Checking activity reminders 
[2026-04-29 12:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:32:52] [INFO] Checking activity reminders 
[2026-04-29 12:32:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:32:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:33:22] [INFO] Checking activity reminders 
[2026-04-29 12:33:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:33:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:33:52] [INFO] Checking activity reminders 
[2026-04-29 12:33:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:33:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:34:04] [INFO] Checking activity reminders 
[2026-04-29 12:34:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:34:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:34:22] [INFO] Checking activity reminders 
[2026-04-29 12:34:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:34:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:34:34] [INFO] Checking activity reminders 
[2026-04-29 12:34:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:34:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:34:52] [INFO] Checking activity reminders 
[2026-04-29 12:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:35:04] [INFO] Checking activity reminders 
[2026-04-29 12:35:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:35:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:35:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 12:35:22] [INFO] Checking activity reminders 
[2026-04-29 12:35:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:35:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:35:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:35:49] [INFO] Checking activity reminders 
[2026-04-29 12:35:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:35:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:35:52] [INFO] Checking activity reminders 
[2026-04-29 12:35:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:35:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:36:19] [INFO] Checking activity reminders 
[2026-04-29 12:36:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:36:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:36:23] [INFO] Checking activity reminders 
[2026-04-29 12:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:36:49] [INFO] Checking activity reminders 
[2026-04-29 12:36:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:36:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:36:53] [INFO] Checking activity reminders 
[2026-04-29 12:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:36:53] [INFO] Activity save request {"post_data":{"contact_id":"15563","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"سی ای پی میخواست گفتم مناسبت نیست کانال هستی اوکیه ","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 12:36:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:36:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 12:36:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 12:36:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:36:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"15563","note_was_empty":true}
[2026-04-29 12:36:53] [INFO] Didar write disabled; saving activity locally {"contact_id":"15563","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 12:36:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1ca2dab8143.66493552","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 12:36:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:36:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1ca2dab8143.66493552"}
[2026-04-29 12:36:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:36:53] [INFO] Updating virtual stage {"contact_id":"15563","stage_name":"deal_registered","force":false}
[2026-04-29 12:36:53] [INFO] Virtual stage successfully saved {"contact_id":"15563","stage_name":"deal_registered"}
[2026-04-29 12:36:53] [INFO] Virtual stage updated after activity save {"contact_id":"15563"}
[2026-04-29 12:36:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"15563","person_id":"10637"}
[2026-04-29 12:37:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:37:19] [INFO] Checking activity reminders 
[2026-04-29 12:37:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:37:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:37:23] [INFO] Checking activity reminders 
[2026-04-29 12:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:37:49] [INFO] Checking activity reminders 
[2026-04-29 12:37:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:37:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:37:53] [INFO] Checking activity reminders 
[2026-04-29 12:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:38:19] [INFO] Checking activity reminders 
[2026-04-29 12:38:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:38:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:38:49] [INFO] Checking activity reminders 
[2026-04-29 12:38:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:38:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:39:19] [INFO] Checking activity reminders 
[2026-04-29 12:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:39:34] [INFO] Checking activity reminders 
[2026-04-29 12:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:39:49] [INFO] Checking activity reminders 
[2026-04-29 12:39:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:39:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:40:05] [INFO] Checking activity reminders 
[2026-04-29 12:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:40:19] [INFO] Checking activity reminders 
[2026-04-29 12:40:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:40:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:40:35] [INFO] Checking activity reminders 
[2026-04-29 12:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:40:44] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"6188","deal_id":"local_6947e606039832.68898504","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 12:40:44","session_id":"q7khg8csjnvlq70lf1a2hq32tu"}
[2026-04-29 12:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:40:44] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"6188","is_new_deal":false}
[2026-04-29 12:40:44] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-29 12:40:44] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-29 12:40:44] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-29 12:40:44] [INFO] getContactPrimaryPhone called {"contact_id":"6188"}
[2026-04-29 12:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:40:44] [INFO] getContactPrimaryPhone result {"contact_id":"6188","person_found":true,"primary_phone":"9220726974"}
[2026-04-29 12:40:44] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9220726974"}
[2026-04-29 12:40:44] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9220726974","contact_id":"6188","deal_id":"local_6947e606039832.68898504","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-29 12:40:44"}
[2026-04-29 12:40:44] [INFO] DealController.save existing deal lookup {"deal_id":"local_6947e606039832.68898504","contact_id":"6188","existing_deal_found":true,"existing_contact_id":"6188","existing_title":"معامله اول 9220726974 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-29 12:40:44"}
[2026-04-29 12:40:44] [INFO] DealController.save validated payments {"deal_id":"local_6947e606039832.68898504","contact_id":"6188","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-29 12:40:44] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"6188","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 12:40:44] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6947e606039832.68898504","contact_didar_id":"6188","title":"معامله اول 9220726974 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9220726974","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"ماهان خدادادی","existing_deal":"YES","existing_deal_id":"local_6947e606039832.68898504","existing_deal_status":"Pending","server_time":"2026-04-29 12:40:44","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-29 12:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:40:44] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6947e606039832.68898504","contact_id":"6188","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9220726974 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-29 12:40:44","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 12:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6188","person_id":"2287"}
[2026-04-29 12:40:49] [INFO] Checking activity reminders 
[2026-04-29 12:40:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:40:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:41:05] [INFO] Checking activity reminders 
[2026-04-29 12:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:41:19] [INFO] Checking activity reminders 
[2026-04-29 12:41:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:41:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:41:35] [INFO] Checking activity reminders 
[2026-04-29 12:41:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:41:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:41:50] [INFO] Checking activity reminders 
[2026-04-29 12:41:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:41:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:42:05] [INFO] Checking activity reminders 
[2026-04-29 12:42:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:42:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:42:20] [INFO] Checking activity reminders 
[2026-04-29 12:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:42:35] [INFO] Checking activity reminders 
[2026-04-29 12:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:42:50] [INFO] Checking activity reminders 
[2026-04-29 12:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:43:05] [INFO] Checking activity reminders 
[2026-04-29 12:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:43:20] [INFO] Checking activity reminders 
[2026-04-29 12:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:43:35] [INFO] Checking activity reminders 
[2026-04-29 12:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:43:50] [INFO] Checking activity reminders 
[2026-04-29 12:43:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:43:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:44:05] [INFO] Checking activity reminders 
[2026-04-29 12:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:44:20] [INFO] Checking activity reminders 
[2026-04-29 12:44:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:44:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:44:35] [INFO] Checking activity reminders 
[2026-04-29 12:44:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:44:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:44:50] [INFO] Checking activity reminders 
[2026-04-29 12:44:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:44:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:45:05] [INFO] Checking activity reminders 
[2026-04-29 12:45:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:45:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:45:20] [INFO] Checking activity reminders 
[2026-04-29 12:45:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:45:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:45:36] [INFO] Checking activity reminders 
[2026-04-29 12:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:45:50] [INFO] Checking activity reminders 
[2026-04-29 12:45:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:45:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:46:06] [INFO] Checking activity reminders 
[2026-04-29 12:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:46:21] [INFO] Checking activity reminders 
[2026-04-29 12:46:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:46:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:46:36] [INFO] Checking activity reminders 
[2026-04-29 12:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:46:51] [INFO] Checking activity reminders 
[2026-04-29 12:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:47:06] [INFO] Checking activity reminders 
[2026-04-29 12:47:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:47:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:47:21] [INFO] Checking activity reminders 
[2026-04-29 12:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:47:36] [INFO] Checking activity reminders 
[2026-04-29 12:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:47:51] [INFO] Checking activity reminders 
[2026-04-29 12:47:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:47:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:48:06] [INFO] Checking activity reminders 
[2026-04-29 12:48:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:48:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:48:21] [INFO] Checking activity reminders 
[2026-04-29 12:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:48:23] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 12:48:23] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-29 12:48:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 12:48:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 12:48:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 12:48:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 12:48:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 12:48:36] [INFO] Checking activity reminders 
[2026-04-29 12:48:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:48:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:48:48] [INFO] Checking activity reminders 
[2026-04-29 12:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:48:51] [INFO] Checking activity reminders 
[2026-04-29 12:48:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:48:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:06] [INFO] Checking activity reminders 
[2026-04-29 12:49:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:18] [INFO] Checking activity reminders 
[2026-04-29 12:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:21] [INFO] Checking activity reminders 
[2026-04-29 12:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:37] [INFO] Checking activity reminders 
[2026-04-29 12:49:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:48] [INFO] Checking activity reminders 
[2026-04-29 12:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:49:51] [INFO] Checking activity reminders 
[2026-04-29 12:49:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:49:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:11] [INFO] Checking activity reminders 
[2026-04-29 12:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:21] [INFO] Checking activity reminders 
[2026-04-29 12:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:22] [INFO] Checking activity reminders 
[2026-04-29 12:50:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:41] [INFO] Checking activity reminders 
[2026-04-29 12:50:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:51] [INFO] Checking activity reminders 
[2026-04-29 12:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:50:52] [INFO] Checking activity reminders 
[2026-04-29 12:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:51:11] [INFO] Checking activity reminders 
[2026-04-29 12:51:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:51:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:51:40] [INFO] Checking activity reminders 
[2026-04-29 12:51:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:51:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:51:41] [INFO] Checking activity reminders 
[2026-04-29 12:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:51:50] [INFO] Checking activity reminders 
[2026-04-29 12:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:10] [INFO] Checking activity reminders 
[2026-04-29 12:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:11] [INFO] Checking activity reminders 
[2026-04-29 12:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:22] [INFO] Checking activity reminders 
[2026-04-29 12:52:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:40] [INFO] Checking activity reminders 
[2026-04-29 12:52:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:41] [INFO] Checking activity reminders 
[2026-04-29 12:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:52:52] [INFO] Checking activity reminders 
[2026-04-29 12:52:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:52:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:10] [INFO] Checking activity reminders 
[2026-04-29 12:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:12] [INFO] Checking activity reminders 
[2026-04-29 12:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:22] [INFO] Checking activity reminders 
[2026-04-29 12:53:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:40] [INFO] Checking activity reminders 
[2026-04-29 12:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:42] [INFO] Checking activity reminders 
[2026-04-29 12:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:53:52] [INFO] Checking activity reminders 
[2026-04-29 12:53:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:53:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:54:10] [INFO] Checking activity reminders 
[2026-04-29 12:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:54:12] [INFO] Checking activity reminders 
[2026-04-29 12:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:54:41] [INFO] Checking activity reminders 
[2026-04-29 12:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:54:42] [INFO] Checking activity reminders 
[2026-04-29 12:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:11] [INFO] Checking activity reminders 
[2026-04-29 12:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:12] [INFO] Checking activity reminders 
[2026-04-29 12:55:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:19] [INFO] Checking activity reminders 
[2026-04-29 12:55:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 12:55:32] [INFO] Checking activity reminders 
[2026-04-29 12:55:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3609","person_id":"14039"}
[2026-04-29 12:55:41] [INFO] Checking activity reminders 
[2026-04-29 12:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:55:42] [INFO] Checking activity reminders 
[2026-04-29 12:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:56:11] [INFO] Checking activity reminders 
[2026-04-29 12:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:56:12] [INFO] Checking activity reminders 
[2026-04-29 12:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:56:41] [INFO] Checking activity reminders 
[2026-04-29 12:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:56:42] [INFO] Checking activity reminders 
[2026-04-29 12:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:57:11] [INFO] Checking activity reminders 
[2026-04-29 12:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:57:12] [INFO] Checking activity reminders 
[2026-04-29 12:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:57:41] [INFO] Checking activity reminders 
[2026-04-29 12:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:57:42] [INFO] Checking activity reminders 
[2026-04-29 12:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:11] [INFO] Checking activity reminders 
[2026-04-29 12:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:12] [INFO] Checking activity reminders 
[2026-04-29 12:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:20] [INFO] Checking activity reminders 
[2026-04-29 12:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:41] [INFO] Checking activity reminders 
[2026-04-29 12:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:42] [INFO] Checking activity reminders 
[2026-04-29 12:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:50] [INFO] Checking activity reminders 
[2026-04-29 12:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21608","person_id":"17587"}
[2026-04-29 12:59:11] [INFO] Checking activity reminders 
[2026-04-29 12:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:59:12] [INFO] Checking activity reminders 
[2026-04-29 12:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:59:38] [INFO] Checking activity reminders 
[2026-04-29 12:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:59:41] [INFO] Checking activity reminders 
[2026-04-29 12:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 12:59:42] [INFO] Checking activity reminders 
[2026-04-29 12:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 12:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:00:11] [INFO] Checking activity reminders 
[2026-04-29 13:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:00:12] [INFO] Checking activity reminders 
[2026-04-29 13:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:00:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:00:34] [INFO] Checking activity reminders 
[2026-04-29 13:00:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:00:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:00:42] [INFO] Checking activity reminders 
[2026-04-29 13:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:00:43] [INFO] Checking activity reminders 
[2026-04-29 13:00:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:00:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:01:12] [INFO] Checking activity reminders 
[2026-04-29 13:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:01:13] [INFO] Checking activity reminders 
[2026-04-29 13:01:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:01:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:01:42] [INFO] Checking activity reminders 
[2026-04-29 13:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:01:43] [INFO] Checking activity reminders 
[2026-04-29 13:01:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:01:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:12] [INFO] Checking activity reminders 
[2026-04-29 13:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:13] [INFO] Checking activity reminders 
[2026-04-29 13:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:19] [INFO] Checking activity reminders 
[2026-04-29 13:02:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:40] [INFO] Checking activity reminders 
[2026-04-29 13:02:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:42] [INFO] Checking activity reminders 
[2026-04-29 13:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:43] [INFO] Checking activity reminders 
[2026-04-29 13:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:02:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20565","person_id":"7834"}
[2026-04-29 13:03:12] [INFO] Checking activity reminders 
[2026-04-29 13:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:03:13] [INFO] Checking activity reminders 
[2026-04-29 13:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:03:42] [INFO] Checking activity reminders 
[2026-04-29 13:03:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:03:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:03:43] [INFO] Checking activity reminders 
[2026-04-29 13:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:12] [INFO] Checking activity reminders 
[2026-04-29 13:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:13] [INFO] Checking activity reminders 
[2026-04-29 13:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:36] [INFO] Checking activity reminders 
[2026-04-29 13:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:42] [INFO] Checking activity reminders 
[2026-04-29 13:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:43] [INFO] Checking activity reminders 
[2026-04-29 13:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:04:45] [INFO] Checking activity reminders 
[2026-04-29 13:04:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:04:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:12] [INFO] Checking activity reminders 
[2026-04-29 13:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:13] [INFO] Checking activity reminders 
[2026-04-29 13:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:15] [INFO] Checking activity reminders 
[2026-04-29 13:05:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:28] [INFO] Checking activity reminders 
[2026-04-29 13:05:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:42] [INFO] Checking activity reminders 
[2026-04-29 13:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:05:43] [INFO] Checking activity reminders 
[2026-04-29 13:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:12] [INFO] Checking activity reminders 
[2026-04-29 13:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:13] [INFO] Checking activity reminders 
[2026-04-29 13:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:17] [INFO] Checking activity reminders 
[2026-04-29 13:06:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:33] [INFO] Checking activity reminders 
[2026-04-29 13:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:42] [INFO] Checking activity reminders 
[2026-04-29 13:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:43] [INFO] Checking activity reminders 
[2026-04-29 13:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:49] [INFO] Checking activity reminders 
[2026-04-29 13:06:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:06:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:06:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 13:07:12] [INFO] Checking activity reminders 
[2026-04-29 13:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:07:14] [INFO] Checking activity reminders 
[2026-04-29 13:07:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:07:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:07:43] [INFO] Checking activity reminders 
[2026-04-29 13:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:07:44] [INFO] Checking activity reminders 
[2026-04-29 13:07:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:07:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:08:13] [INFO] Checking activity reminders 
[2026-04-29 13:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:08:14] [INFO] Checking activity reminders 
[2026-04-29 13:08:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:08:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:08:43] [INFO] Checking activity reminders 
[2026-04-29 13:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:08:44] [INFO] Checking activity reminders 
[2026-04-29 13:08:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:08:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:09:13] [INFO] Checking activity reminders 
[2026-04-29 13:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:09:14] [INFO] Checking activity reminders 
[2026-04-29 13:09:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:09:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:09:43] [INFO] Checking activity reminders 
[2026-04-29 13:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:09:44] [INFO] Checking activity reminders 
[2026-04-29 13:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:10:13] [INFO] Checking activity reminders 
[2026-04-29 13:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:10:14] [INFO] Checking activity reminders 
[2026-04-29 13:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:10:24] [INFO] Checking activity reminders 
[2026-04-29 13:10:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:10:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:10:43] [INFO] Checking activity reminders 
[2026-04-29 13:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:10:44] [INFO] Checking activity reminders 
[2026-04-29 13:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:11:02] [INFO] Checking activity reminders 
[2026-04-29 13:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:11:13] [INFO] Checking activity reminders 
[2026-04-29 13:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:11:14] [INFO] Checking activity reminders 
[2026-04-29 13:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:11:43] [INFO] Checking activity reminders 
[2026-04-29 13:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:11:44] [INFO] Checking activity reminders 
[2026-04-29 13:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:12:14] [INFO] Checking activity reminders 
[2026-04-29 13:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:12:14] [INFO] Checking activity reminders 
[2026-04-29 13:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:12:44] [INFO] Checking activity reminders 
[2026-04-29 13:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:12:44] [INFO] Checking activity reminders 
[2026-04-29 13:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:12] [INFO] Checking activity reminders 
[2026-04-29 13:13:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:14] [INFO] Checking activity reminders 
[2026-04-29 13:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:14] [INFO] Checking activity reminders 
[2026-04-29 13:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14836","person_id":"3117"}
[2026-04-29 13:13:44] [INFO] Checking activity reminders 
[2026-04-29 13:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:45] [INFO] Checking activity reminders 
[2026-04-29 13:13:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:13:54] [INFO] Checking activity reminders 
[2026-04-29 13:13:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:13:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:14] [INFO] Checking activity reminders 
[2026-04-29 13:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:15] [INFO] Checking activity reminders 
[2026-04-29 13:14:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:14:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:44] [INFO] Checking activity reminders 
[2026-04-29 13:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:44] [INFO] Checking activity reminders 
[2026-04-29 13:14:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:14:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:45] [INFO] Checking activity reminders 
[2026-04-29 13:14:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:14:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:14:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-29 13:15:14] [INFO] Checking activity reminders 
[2026-04-29 13:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:14] [INFO] Checking activity reminders 
[2026-04-29 13:15:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:15] [INFO] Checking activity reminders 
[2026-04-29 13:15:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:19] [INFO] Checking activity reminders 
[2026-04-29 13:15:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:44] [INFO] Checking activity reminders 
[2026-04-29 13:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:44] [INFO] Checking activity reminders 
[2026-04-29 13:15:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:15:45] [INFO] Checking activity reminders 
[2026-04-29 13:15:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:15:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:16:15] [INFO] Checking activity reminders 
[2026-04-29 13:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:16:15] [INFO] Checking activity reminders 
[2026-04-29 13:16:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:16:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:16:37] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:37] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 13:16:37] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:37] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:40] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:41] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:41] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"get_leads"}
[2026-04-29 13:16:41] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:41] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:45] [INFO] Checking activity reminders 
[2026-04-29 13:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:16:45] [INFO] Checking activity reminders 
[2026-04-29 13:16:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:16:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:16:47] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:47] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 13:16:47] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:48] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:48] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:16:51] [INFO] Checking activity reminders 
[2026-04-29 13:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:17:09] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:09] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:09] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"create_lead"}
[2026-04-29 13:17:09] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:11] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:14] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:15] [INFO] Checking activity reminders 
[2026-04-29 13:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:17:15] [INFO] Checking activity reminders 
[2026-04-29 13:17:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:17:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:17:16] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:16] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:27] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 13:17:27] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-29 13:17:27] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-29 13:17:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 13:17:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 13:17:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 13:17:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 13:17:45] [INFO] Checking activity reminders 
[2026-04-29 13:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:17:45] [INFO] Checking activity reminders 
[2026-04-29 13:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:17:57] [INFO] Checking activity reminders 
[2026-04-29 13:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:15] [INFO] Checking activity reminders 
[2026-04-29 13:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:15] [INFO] Checking activity reminders 
[2026-04-29 13:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:27] [INFO] Checking activity reminders 
[2026-04-29 13:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:45] [INFO] Checking activity reminders 
[2026-04-29 13:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:45] [INFO] Checking activity reminders 
[2026-04-29 13:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:18:57] [INFO] Checking activity reminders 
[2026-04-29 13:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:19:15] [INFO] Checking activity reminders 
[2026-04-29 13:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:19:15] [INFO] Checking activity reminders 
[2026-04-29 13:19:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:19:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:19:23] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9156695477","09156695477"]}
[2026-04-29 13:19:23] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9156695477","09156695477"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-29 13:19:23] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9156695477","full_name":"لید جدید"}
[2026-04-29 13:19:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-29 13:19:23] [INFO] Notification created {"notification_id":"683","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-29 13:19:28] [INFO] Checking activity reminders 
[2026-04-29 13:19:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:19:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:19:45] [INFO] Checking activity reminders 
[2026-04-29 13:19:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:19:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:19:46] [INFO] Checking activity reminders 
[2026-04-29 13:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:03] [INFO] Checking activity reminders 
[2026-04-29 13:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:15] [INFO] Checking activity reminders 
[2026-04-29 13:20:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:16] [INFO] Checking activity reminders 
[2026-04-29 13:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:16] [INFO] Activity save request {"post_data":{"contact_id":"local_69f07fa5444715.46092725","deal_id":"local_69f07fa549afc","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شغل : راننده ماشین سنگین \/ طلا 200 گرم \/ صندوق نقره داشته 1میلیارد فروخت امروز \r\n1200 قدرت خرید \r\n1هفته اشنا \/ \r\nارسال ش کارت\r\nسیگنال میخواست ندادم \/ گفتم اشتباه کردی همه نقره رو فروختی \/ گفت تا شنبه میزنم \r\nگفتم من جات باشم الان میزنم بیام تا صندوق ها بسته نشده","activity_duration":"30","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:16] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 13:20:16] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:16] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f07fa5444715.46092725","note_was_empty":true}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:16] [INFO] Updating virtual stage {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered","force":false}
[2026-04-29 13:20:16] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered"}
[2026-04-29 13:20:16] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fa5444715.46092725"}
[2026-04-29 13:20:16] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f07fa549afc","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-29 13:20:16] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1d458a7c448.99340928","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:16] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1d458a7c448.99340928"}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:16] [INFO] Updating virtual stage {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered","force":false}
[2026-04-29 13:20:16] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fa5444715.46092725","stage_name":"deal_registered"}
[2026-04-29 13:20:16] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fa5444715.46092725"}
[2026-04-29 13:20:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fa5444715.46092725","person_id":"22426"}
[2026-04-29 13:20:33] [INFO] Checking activity reminders 
[2026-04-29 13:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:37] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9229603241","09229603241"]}
[2026-04-29 13:20:37] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9229603241","09229603241"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-29 13:20:37] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9229603241","full_name":"لید جدید"}
[2026-04-29 13:20:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-29 13:20:37] [INFO] Notification created {"notification_id":"684","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-29 13:20:45] [INFO] Checking activity reminders 
[2026-04-29 13:20:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:20:46] [INFO] Checking activity reminders 
[2026-04-29 13:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:21:15] [INFO] Checking activity reminders 
[2026-04-29 13:21:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:21:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:21:16] [INFO] Checking activity reminders 
[2026-04-29 13:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:21:45] [INFO] Checking activity reminders 
[2026-04-29 13:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:21:46] [INFO] Checking activity reminders 
[2026-04-29 13:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:21:55] [INFO] Checking activity reminders 
[2026-04-29 13:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:22:01] [INFO] Checking activity reminders 
[2026-04-29 13:22:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:22:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:22:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 13:22:03] [INFO] Checking activity reminders 
[2026-04-29 13:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:22:15] [INFO] Checking activity reminders 
[2026-04-29 13:22:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:22:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:22:31] [INFO] Checking activity reminders 
[2026-04-29 13:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:22:45] [INFO] Checking activity reminders 
[2026-04-29 13:22:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:22:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:23:01] [INFO] Checking activity reminders 
[2026-04-29 13:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:23:16] [INFO] Checking activity reminders 
[2026-04-29 13:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:23:31] [INFO] Checking activity reminders 
[2026-04-29 13:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:23:46] [INFO] Checking activity reminders 
[2026-04-29 13:23:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:23:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:24:02] [INFO] Checking activity reminders 
[2026-04-29 13:24:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:24:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:24:16] [INFO] Checking activity reminders 
[2026-04-29 13:24:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:24:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:24:32] [INFO] Checking activity reminders 
[2026-04-29 13:24:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:24:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:24:46] [INFO] Checking activity reminders 
[2026-04-29 13:24:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:24:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:25:02] [INFO] Checking activity reminders 
[2026-04-29 13:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:25:16] [INFO] Checking activity reminders 
[2026-04-29 13:25:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:25:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:25:32] [INFO] Checking activity reminders 
[2026-04-29 13:25:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:25:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:25:46] [INFO] Checking activity reminders 
[2026-04-29 13:25:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:25:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:26:02] [INFO] Checking activity reminders 
[2026-04-29 13:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:26:16] [INFO] Checking activity reminders 
[2026-04-29 13:26:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:26:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:26:32] [INFO] Checking activity reminders 
[2026-04-29 13:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:26:46] [INFO] Checking activity reminders 
[2026-04-29 13:26:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:26:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:27:02] [INFO] Checking activity reminders 
[2026-04-29 13:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:27:16] [INFO] Checking activity reminders 
[2026-04-29 13:27:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:27:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:27:32] [INFO] Checking activity reminders 
[2026-04-29 13:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:27:46] [INFO] Checking activity reminders 
[2026-04-29 13:27:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:27:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:28:02] [INFO] Checking activity reminders 
[2026-04-29 13:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:28:16] [INFO] Checking activity reminders 
[2026-04-29 13:28:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:28:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:28:32] [INFO] Checking activity reminders 
[2026-04-29 13:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:28:46] [INFO] Checking activity reminders 
[2026-04-29 13:28:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:28:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:29:02] [INFO] Checking activity reminders 
[2026-04-29 13:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:29:16] [INFO] Checking activity reminders 
[2026-04-29 13:29:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:29:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:29:32] [INFO] Checking activity reminders 
[2026-04-29 13:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:29:46] [INFO] Checking activity reminders 
[2026-04-29 13:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:30:03] [INFO] Checking activity reminders 
[2026-04-29 13:30:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:30:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:30:16] [INFO] Checking activity reminders 
[2026-04-29 13:30:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:30:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:30:33] [INFO] Checking activity reminders 
[2026-04-29 13:30:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:30:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:30:47] [INFO] Checking activity reminders 
[2026-04-29 13:30:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:30:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:31:03] [INFO] Checking activity reminders 
[2026-04-29 13:31:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:31:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:31:17] [INFO] Checking activity reminders 
[2026-04-29 13:31:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:31:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:31:33] [INFO] Checking activity reminders 
[2026-04-29 13:31:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:31:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:31:47] [INFO] Checking activity reminders 
[2026-04-29 13:31:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:31:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:32:03] [INFO] Checking activity reminders 
[2026-04-29 13:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:32:06] [INFO] Checking activity reminders 
[2026-04-29 13:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:32:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 13:32:17] [INFO] Checking activity reminders 
[2026-04-29 13:32:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:32:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:32:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:32:40] [INFO] Checking activity reminders 
[2026-04-29 13:32:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:32:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:32:47] [INFO] Checking activity reminders 
[2026-04-29 13:32:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:32:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:33:10] [INFO] Checking activity reminders 
[2026-04-29 13:33:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:33:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:33:17] [INFO] Checking activity reminders 
[2026-04-29 13:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:33:40] [INFO] Checking activity reminders 
[2026-04-29 13:33:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:33:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:33:47] [INFO] Checking activity reminders 
[2026-04-29 13:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:34:11] [INFO] Checking activity reminders 
[2026-04-29 13:34:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:34:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:34:17] [INFO] Checking activity reminders 
[2026-04-29 13:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:34:41] [INFO] Checking activity reminders 
[2026-04-29 13:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:34:47] [INFO] Checking activity reminders 
[2026-04-29 13:34:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:34:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:35:11] [INFO] Checking activity reminders 
[2026-04-29 13:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:35:17] [INFO] Checking activity reminders 
[2026-04-29 13:35:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:35:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:35:41] [INFO] Checking activity reminders 
[2026-04-29 13:35:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:35:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:35:48] [INFO] Checking activity reminders 
[2026-04-29 13:35:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:35:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:36:11] [INFO] Checking activity reminders 
[2026-04-29 13:36:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:36:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:36:18] [INFO] Checking activity reminders 
[2026-04-29 13:36:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:36:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:36:41] [INFO] Checking activity reminders 
[2026-04-29 13:36:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:36:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:36:48] [INFO] Checking activity reminders 
[2026-04-29 13:36:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:36:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:37:11] [INFO] Checking activity reminders 
[2026-04-29 13:37:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:37:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:37:18] [INFO] Checking activity reminders 
[2026-04-29 13:37:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:37:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:37:41] [INFO] Checking activity reminders 
[2026-04-29 13:37:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:37:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:37:48] [INFO] Checking activity reminders 
[2026-04-29 13:37:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:37:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:38:11] [INFO] Checking activity reminders 
[2026-04-29 13:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:38:18] [INFO] Checking activity reminders 
[2026-04-29 13:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:38:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:38:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:38:27] [INFO] generateDealTitle result {"contact_id":"9282","person_name":"امیررضا ناظری","mobile":"9123645496","existing_deals":4,"ordinal":"پنجم","title":"معامله پنجم 9123645496"}
[2026-04-29 13:38:41] [INFO] Checking activity reminders 
[2026-04-29 13:38:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:38:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:38:48] [INFO] Checking activity reminders 
[2026-04-29 13:38:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:38:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:11] [INFO] Checking activity reminders 
[2026-04-29 13:39:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:39:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 13:39:18] [INFO] Checking activity reminders 
[2026-04-29 13:39:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:39:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:19] [INFO] Checking activity reminders 
[2026-04-29 13:39:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:39:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:48] [INFO] Checking activity reminders 
[2026-04-29 13:39:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:39:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:49] [INFO] Checking activity reminders 
[2026-04-29 13:39:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:39:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:39:54] [INFO] DealController.save start {"is_new":true,"incoming_title":"CIP","contact_id":"9282","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 13:39:54","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"9282","is_new_deal":true}
[2026-04-29 13:39:54] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-29 13:39:54] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-29 13:39:54] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-29 13:39:54] [INFO] getContactPrimaryPhone called {"contact_id":"9282"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [INFO] getContactPrimaryPhone result {"contact_id":"9282","person_found":true,"primary_phone":"9123645496"}
[2026-04-29 13:39:54] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9123645496"}
[2026-04-29 13:39:54] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9123645496","contact_id":"9282","deal_id":"","is_new_deal":true,"incoming_title":"CIP","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 13:39:54"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [INFO] generateDealTitle result {"contact_id":"9282","person_name":"امیررضا ناظری","mobile":"9123645496","existing_deals":4,"ordinal":"پنجم","title":"معامله پنجم 9123645496"}
[2026-04-29 13:39:54] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"9282","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-29 13:39:54] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"9282","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 13:39:54] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"9282","title":"معامله پنجم 9123645496 | CIP","base_title_used":"معامله پنجم 9123645496","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امیررضا ناظری","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 13:39:54","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [INFO] Deal success processed {"contact_id":"9282","person_name":"امیررضا ناظری","products_count":1}
[2026-04-29 13:39:54] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 13:39:54] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"9282","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9123645496 | CIP","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-29 13:39:54","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:39:54] [INFO] Updating virtual stage {"contact_id":"9282","stage_name":"with_purchase","force":true}
[2026-04-29 13:39:54] [INFO] Virtual stage successfully saved {"contact_id":"9282","stage_name":"with_purchase"}
[2026-04-29 13:39:54] [INFO] Moved contact out of kariz after successful deal {"contact_id":"9282","deal_id":"","target_stage":"with_purchase"}
[2026-04-29 13:39:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:40:18] [INFO] Checking activity reminders 
[2026-04-29 13:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:40:19] [INFO] Checking activity reminders 
[2026-04-29 13:40:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:40:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:40:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:40:48] [INFO] Checking activity reminders 
[2026-04-29 13:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:40:49] [INFO] Checking activity reminders 
[2026-04-29 13:40:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:40:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:40:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:40:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:40:50] [INFO] generateDealTitle result {"contact_id":"986","person_name":"سینا حسینی","mobile":"9357585859","existing_deals":4,"ordinal":"پنجم","title":"معامله پنجم 9357585859"}
[2026-04-29 13:41:18] [INFO] Checking activity reminders 
[2026-04-29 13:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:41:19] [INFO] Checking activity reminders 
[2026-04-29 13:41:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:41:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:41:48] [INFO] Checking activity reminders 
[2026-04-29 13:41:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:41:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:41:49] [INFO] Checking activity reminders 
[2026-04-29 13:41:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:41:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:42:18] [INFO] Checking activity reminders 
[2026-04-29 13:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:42:20] [INFO] Checking activity reminders 
[2026-04-29 13:42:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:42:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:42:26] [INFO] DealController.save start {"is_new":true,"incoming_title":"CIP","contact_id":"986","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 13:42:26","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"986","is_new_deal":true}
[2026-04-29 13:42:26] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-29 13:42:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-29 13:42:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-29 13:42:26] [INFO] getContactPrimaryPhone called {"contact_id":"986"}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:26] [INFO] getContactPrimaryPhone result {"contact_id":"986","person_found":true,"primary_phone":"9357585859"}
[2026-04-29 13:42:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9357585859"}
[2026-04-29 13:42:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9357585859","contact_id":"986","deal_id":"","is_new_deal":true,"incoming_title":"CIP","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 13:42:26"}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:26] [INFO] generateDealTitle result {"contact_id":"986","person_name":"سینا حسینی","mobile":"9357585859","existing_deals":4,"ordinal":"پنجم","title":"معامله پنجم 9357585859"}
[2026-04-29 13:42:26] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"986","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-29 13:42:26] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"986","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 13:42:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"986","title":"معامله پنجم 9357585859 | CIP","base_title_used":"معامله پنجم 9357585859","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":200000000,"payment_amount":20000000,"payments_present":true,"requested_services":["CIP"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سینا حسینی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-29 13:42:26","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:26] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-29 13:42:26] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"986","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9357585859 | CIP","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":200000000,"payment_amount":20000000,"server_time":"2026-04-29 13:42:26","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 13:42:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 13:42:48] [INFO] Checking activity reminders 
[2026-04-29 13:42:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:42:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:42:50] [INFO] Checking activity reminders 
[2026-04-29 13:42:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:42:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:43:18] [INFO] Checking activity reminders 
[2026-04-29 13:43:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:43:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:43:20] [INFO] Checking activity reminders 
[2026-04-29 13:43:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:43:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:43:30] [INFO] Checking activity reminders 
[2026-04-29 13:43:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:43:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:43:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 13:43:49] [INFO] Checking activity reminders 
[2026-04-29 13:43:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:43:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:00] [INFO] Checking activity reminders 
[2026-04-29 13:44:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:11] [INFO] Checking activity reminders 
[2026-04-29 13:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:19] [INFO] Checking activity reminders 
[2026-04-29 13:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:22] [INFO] Checking activity reminders 
[2026-04-29 13:44:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:24] [INFO] Checking activity reminders 
[2026-04-29 13:44:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:44:49] [INFO] Checking activity reminders 
[2026-04-29 13:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:45:03] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 13:45:19] [INFO] Checking activity reminders 
[2026-04-29 13:45:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:45:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:45:33] [INFO] Checking activity reminders 
[2026-04-29 13:45:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:45:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:45:49] [INFO] Checking activity reminders 
[2026-04-29 13:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:46:03] [INFO] Checking activity reminders 
[2026-04-29 13:46:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:46:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:46:19] [INFO] Checking activity reminders 
[2026-04-29 13:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:46:33] [INFO] Checking activity reminders 
[2026-04-29 13:46:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:46:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:46:49] [INFO] Checking activity reminders 
[2026-04-29 13:46:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:46:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:04] [INFO] Checking activity reminders 
[2026-04-29 13:47:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:19] [INFO] Checking activity reminders 
[2026-04-29 13:47:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:34] [INFO] Checking activity reminders 
[2026-04-29 13:47:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:36] [INFO] Checking activity reminders 
[2026-04-29 13:47:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:40] [INFO] Checking activity reminders 
[2026-04-29 13:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:42] [INFO] Checking activity reminders 
[2026-04-29 13:47:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:44] [INFO] Checking activity reminders 
[2026-04-29 13:47:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:47:49] [INFO] Checking activity reminders 
[2026-04-29 13:47:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:47:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:48:14] [INFO] Checking activity reminders 
[2026-04-29 13:48:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:48:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:48:19] [INFO] Checking activity reminders 
[2026-04-29 13:48:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:48:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:48:44] [INFO] Checking activity reminders 
[2026-04-29 13:48:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:48:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:48:49] [INFO] Checking activity reminders 
[2026-04-29 13:48:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:48:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:49:14] [INFO] Checking activity reminders 
[2026-04-29 13:49:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:49:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:49:20] [INFO] Checking activity reminders 
[2026-04-29 13:49:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:49:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:49:44] [INFO] Checking activity reminders 
[2026-04-29 13:49:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:49:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:49:50] [INFO] Checking activity reminders 
[2026-04-29 13:49:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:49:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:50:14] [INFO] Checking activity reminders 
[2026-04-29 13:50:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:50:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:50:20] [INFO] Checking activity reminders 
[2026-04-29 13:50:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:50:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:50:45] [INFO] Checking activity reminders 
[2026-04-29 13:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:50:50] [INFO] Checking activity reminders 
[2026-04-29 13:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:51:15] [INFO] Checking activity reminders 
[2026-04-29 13:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:51:20] [INFO] Checking activity reminders 
[2026-04-29 13:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:51:25] [INFO] Checking activity reminders 
[2026-04-29 13:51:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:51:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:51:45] [INFO] Checking activity reminders 
[2026-04-29 13:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:51:51] [INFO] Checking activity reminders 
[2026-04-29 13:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:15] [INFO] Checking activity reminders 
[2026-04-29 13:52:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:21] [INFO] Checking activity reminders 
[2026-04-29 13:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:28] [INFO] Checking activity reminders 
[2026-04-29 13:52:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:29] [INFO] Checking activity reminders 
[2026-04-29 13:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:31] [INFO] Checking activity reminders 
[2026-04-29 13:52:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:33] [INFO] Checking activity reminders 
[2026-04-29 13:52:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:52:51] [INFO] Checking activity reminders 
[2026-04-29 13:52:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:52:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:53:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 13:53:03] [INFO] Checking activity reminders 
[2026-04-29 13:53:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:53:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:53:16] [INFO] Checking activity reminders 
[2026-04-29 13:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:53:21] [INFO] Checking activity reminders 
[2026-04-29 13:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:53:34] [INFO] Checking activity reminders 
[2026-04-29 13:53:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:53:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:53:51] [INFO] Checking activity reminders 
[2026-04-29 13:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:54:04] [INFO] Checking activity reminders 
[2026-04-29 13:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:54:21] [INFO] Checking activity reminders 
[2026-04-29 13:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:54:34] [INFO] Checking activity reminders 
[2026-04-29 13:54:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:54:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:54:51] [INFO] Checking activity reminders 
[2026-04-29 13:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:55:04] [INFO] Checking activity reminders 
[2026-04-29 13:55:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:55:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:55:21] [INFO] Checking activity reminders 
[2026-04-29 13:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:55:34] [INFO] Checking activity reminders 
[2026-04-29 13:55:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:55:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:55:52] [INFO] Checking activity reminders 
[2026-04-29 13:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:56:04] [INFO] Checking activity reminders 
[2026-04-29 13:56:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:56:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:56:22] [INFO] Checking activity reminders 
[2026-04-29 13:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:56:34] [INFO] Checking activity reminders 
[2026-04-29 13:56:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:56:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:57:04] [INFO] Checking activity reminders 
[2026-04-29 13:57:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:57:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:57:34] [INFO] Checking activity reminders 
[2026-04-29 13:57:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:57:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:58:05] [INFO] Checking activity reminders 
[2026-04-29 13:58:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:58:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:58:35] [INFO] Checking activity reminders 
[2026-04-29 13:58:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:58:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:59:05] [INFO] Checking activity reminders 
[2026-04-29 13:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:59:06] [INFO] Checking activity reminders 
[2026-04-29 13:59:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:59:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 13:59:35] [INFO] Checking activity reminders 
[2026-04-29 13:59:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 13:59:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:00:05] [INFO] Checking activity reminders 
[2026-04-29 14:00:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:00:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:00:35] [INFO] Checking activity reminders 
[2026-04-29 14:00:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:00:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:01:05] [INFO] Checking activity reminders 
[2026-04-29 14:01:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:01:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:01:35] [INFO] Checking activity reminders 
[2026-04-29 14:01:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:01:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:02:05] [INFO] Checking activity reminders 
[2026-04-29 14:02:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:02:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:02:36] [INFO] Checking activity reminders 
[2026-04-29 14:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:03:06] [INFO] Checking activity reminders 
[2026-04-29 14:03:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:03:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:03:36] [INFO] Checking activity reminders 
[2026-04-29 14:03:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:03:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:04:06] [INFO] Checking activity reminders 
[2026-04-29 14:04:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:04:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:04:36] [INFO] Checking activity reminders 
[2026-04-29 14:04:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:04:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:05:06] [INFO] Checking activity reminders 
[2026-04-29 14:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:05:36] [INFO] Checking activity reminders 
[2026-04-29 14:05:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:05:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:06:06] [INFO] Checking activity reminders 
[2026-04-29 14:06:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:06:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:06:29] [INFO] Checking activity reminders 
[2026-04-29 14:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:06:36] [INFO] Checking activity reminders 
[2026-04-29 14:06:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:06:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:06:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:06:59] [INFO] Checking activity reminders 
[2026-04-29 14:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:07:06] [INFO] Checking activity reminders 
[2026-04-29 14:07:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:07:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:07:29] [INFO] Checking activity reminders 
[2026-04-29 14:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:07:36] [INFO] Checking activity reminders 
[2026-04-29 14:07:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:07:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:07:59] [INFO] Checking activity reminders 
[2026-04-29 14:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:08:06] [INFO] Checking activity reminders 
[2026-04-29 14:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:08:29] [INFO] Checking activity reminders 
[2026-04-29 14:08:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:08:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:08:34] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21663","deal_id":"local_69bbeaae569565.94495590","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:08:34","session_id":"q7khg8csjnvlq70lf1a2hq32tu"}
[2026-04-29 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:34] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"21663","is_new_deal":false}
[2026-04-29 14:08:34] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:08:34] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:08:34] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:08:34] [INFO] getContactPrimaryPhone called {"contact_id":"21663"}
[2026-04-29 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:34] [INFO] getContactPrimaryPhone result {"contact_id":"21663","person_found":true,"primary_phone":"9388070661"}
[2026-04-29 14:08:34] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9388070661"}
[2026-04-29 14:08:34] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9388070661","contact_id":"21663","deal_id":"local_69bbeaae569565.94495590","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-29 14:08:34"}
[2026-04-29 14:08:34] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bbeaae569565.94495590","contact_id":"21663","existing_deal_found":true,"existing_contact_id":"21663","existing_title":"معامله دوم 9388070661 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-29 14:08:34"}
[2026-04-29 14:08:34] [INFO] DealController.save validated payments {"deal_id":"local_69bbeaae569565.94495590","contact_id":"21663","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-29 14:08:34] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21663","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 14:08:34] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bbeaae569565.94495590","contact_didar_id":"21663","title":"معامله دوم 9388070661 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9388070661","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"نصرتی","existing_deal":"YES","existing_deal_id":"local_69bbeaae569565.94495590","existing_deal_status":"Pending","server_time":"2026-04-29 14:08:34","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-29 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:34] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bbeaae569565.94495590","contact_id":"21663","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9388070661 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-04-29 14:08:34","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 14:08:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:37] [INFO] Checking activity reminders 
[2026-04-29 14:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:08:52] [INFO] Activity save request {"post_data":{"contact_id":"21663","deal_id":"local_69bbeaae569565.94495590","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"39ت زد تا اخر مهر هست","activity_duration":"15","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 14:08:52] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21663","note_was_empty":true}
[2026-04-29 14:08:52] [INFO] Didar write disabled; saving activity locally {"contact_id":"21663","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Updating virtual stage {"contact_id":"21663","stage_name":"with_purchase","force":false}
[2026-04-29 14:08:52] [INFO] Virtual stage successfully saved {"contact_id":"21663","stage_name":"with_purchase"}
[2026-04-29 14:08:52] [INFO] Virtual stage updated after activity save {"contact_id":"21663"}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbeaae569565.94495590","stage":"اتمام","status_change":"Won"}
[2026-04-29 14:08:52] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1dfbc600bd2.27886492","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1dfbc600bd2.27886492"}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:52] [INFO] Updating virtual stage {"contact_id":"21663","stage_name":"with_purchase","force":false}
[2026-04-29 14:08:52] [INFO] Virtual stage successfully saved {"contact_id":"21663","stage_name":"with_purchase"}
[2026-04-29 14:08:52] [INFO] Virtual stage updated after activity save {"contact_id":"21663"}
[2026-04-29 14:08:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:08:59] [INFO] Checking activity reminders 
[2026-04-29 14:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:09:07] [INFO] Checking activity reminders 
[2026-04-29 14:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:09:29] [INFO] Checking activity reminders 
[2026-04-29 14:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:09:37] [INFO] Checking activity reminders 
[2026-04-29 14:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:10:00] [INFO] Checking activity reminders 
[2026-04-29 14:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:10:07] [INFO] Checking activity reminders 
[2026-04-29 14:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:10:30] [INFO] Checking activity reminders 
[2026-04-29 14:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:10:37] [INFO] Checking activity reminders 
[2026-04-29 14:10:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:10:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:11:00] [INFO] Checking activity reminders 
[2026-04-29 14:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:11:07] [INFO] Checking activity reminders 
[2026-04-29 14:11:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:11:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:11:30] [INFO] Checking activity reminders 
[2026-04-29 14:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:11:37] [INFO] Checking activity reminders 
[2026-04-29 14:11:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:11:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:12:00] [INFO] Checking activity reminders 
[2026-04-29 14:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:12:07] [INFO] Checking activity reminders 
[2026-04-29 14:12:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:12:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:12:30] [INFO] Checking activity reminders 
[2026-04-29 14:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:12:37] [INFO] Checking activity reminders 
[2026-04-29 14:12:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:12:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:13:00] [INFO] Checking activity reminders 
[2026-04-29 14:13:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:13:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:13:08] [INFO] Checking activity reminders 
[2026-04-29 14:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:13:38] [INFO] Checking activity reminders 
[2026-04-29 14:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:14:08] [INFO] Checking activity reminders 
[2026-04-29 14:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:14:38] [INFO] Checking activity reminders 
[2026-04-29 14:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:15:08] [INFO] Checking activity reminders 
[2026-04-29 14:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:15:38] [INFO] Checking activity reminders 
[2026-04-29 14:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:16:08] [INFO] Checking activity reminders 
[2026-04-29 14:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:16:15] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:15] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 14:16:15] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:15] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:16] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:16] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:18] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:18] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:18] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"get_leads"}
[2026-04-29 14:16:18] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:18] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:27] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 14:16:27] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-29 14:16:27] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-29 14:16:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 14:16:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:16:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:16:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:16:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:16:39] [INFO] Checking activity reminders 
[2026-04-29 14:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:16:47] [INFO] Checking activity reminders 
[2026-04-29 14:16:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:16:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:16:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-29 14:17:09] [INFO] Checking activity reminders 
[2026-04-29 14:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:17:39] [INFO] Checking activity reminders 
[2026-04-29 14:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:17:41] [INFO] Checking activity reminders 
[2026-04-29 14:17:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:17:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:17:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 14:18:09] [INFO] Checking activity reminders 
[2026-04-29 14:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:18:12] [INFO] Checking activity reminders 
[2026-04-29 14:18:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:18:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 14:18:37] [INFO] Checking activity reminders 
[2026-04-29 14:18:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:18:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:18:39] [INFO] Checking activity reminders 
[2026-04-29 14:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:19:01] [INFO] Checking activity reminders 
[2026-04-29 14:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:19:09] [INFO] Checking activity reminders 
[2026-04-29 14:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:19:31] [INFO] Checking activity reminders 
[2026-04-29 14:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:19:40] [INFO] Checking activity reminders 
[2026-04-29 14:19:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:19:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:20:10] [INFO] Checking activity reminders 
[2026-04-29 14:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:20:24] [INFO] Checking activity reminders 
[2026-04-29 14:20:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:20:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:20:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 14:20:40] [INFO] Checking activity reminders 
[2026-04-29 14:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:20:54] [INFO] Checking activity reminders 
[2026-04-29 14:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:21:10] [INFO] Checking activity reminders 
[2026-04-29 14:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:21:31] [INFO] Checking activity reminders 
[2026-04-29 14:21:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:21:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:21:40] [INFO] Checking activity reminders 
[2026-04-29 14:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:21:55] [INFO] Checking activity reminders 
[2026-04-29 14:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:21:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:10] [INFO] Checking activity reminders 
[2026-04-29 14:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:22:25] [INFO] Checking activity reminders 
[2026-04-29 14:22:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:22:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:22:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:40] [INFO] Checking activity reminders 
[2026-04-29 14:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:22:41] [INFO] Lead update received {"contact_id":"4723","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:22:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:41] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"4723"}
[2026-04-29 14:22:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:22:55] [INFO] Checking activity reminders 
[2026-04-29 14:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:23:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:23:10] [INFO] Checking activity reminders 
[2026-04-29 14:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:23:25] [INFO] Checking activity reminders 
[2026-04-29 14:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:23:40] [INFO] Checking activity reminders 
[2026-04-29 14:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:24:10] [INFO] Checking activity reminders 
[2026-04-29 14:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:24:40] [INFO] Checking activity reminders 
[2026-04-29 14:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:25:10] [INFO] Checking activity reminders 
[2026-04-29 14:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:25:41] [INFO] Checking activity reminders 
[2026-04-29 14:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:26:11] [INFO] Checking activity reminders 
[2026-04-29 14:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:26:11] [INFO] Checking activity reminders 
[2026-04-29 14:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:26:38] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:26:38] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:26:38] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:26:41] [INFO] Checking activity reminders 
[2026-04-29 14:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:26:43] [INFO] Checking activity reminders 
[2026-04-29 14:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:26:51] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:26:51] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:26:51] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:27:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:27:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:27:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:27:11] [INFO] Checking activity reminders 
[2026-04-29 14:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:27:18] [INFO] Checking activity reminders 
[2026-04-29 14:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:27:41] [INFO] Checking activity reminders 
[2026-04-29 14:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:28:52] [INFO] Checking activity reminders 
[2026-04-29 14:28:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:28:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:28:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:28:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:28:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:29:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 14:29:46] [INFO] Checking activity reminders 
[2026-04-29 14:29:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:29:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:29:50] [INFO] Checking activity reminders 
[2026-04-29 14:29:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:29:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:30:05] [INFO] Checking activity reminders 
[2026-04-29 14:30:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:30:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:30:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 14:30:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:30:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:30:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:33:54] [INFO] Checking activity reminders 
[2026-04-29 14:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:33:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:07] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:34:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-29 14:34:07] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:34:14] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:34:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:14] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-29 14:34:14] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:34:21] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:34:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-29 14:34:21] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:34:24] [INFO] Checking activity reminders 
[2026-04-29 14:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:34:29] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:29] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-29 14:34:29] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:34:41] [INFO] Checking activity reminders 
[2026-04-29 14:34:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:34:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:34:56] [INFO] Lead update received {"contact_id":"local_69e7422670c795.15685097","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:34:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:34:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69e7422670c795.15685097"}
[2026-04-29 14:34:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e7422670c795.15685097","person_id":"22214"}
[2026-04-29 14:35:07] [INFO] Checking activity reminders 
[2026-04-29 14:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:35:11] [INFO] Checking activity reminders 
[2026-04-29 14:35:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:35:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:35:16] [INFO] Checking activity reminders 
[2026-04-29 14:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:35:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:34] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:35:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:34] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:35:34] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:35:42] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:35:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:42] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:35:42] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:35:46] [INFO] Checking activity reminders 
[2026-04-29 14:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:35:53] [INFO] Checking activity reminders 
[2026-04-29 14:35:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:35:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:35:58] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:35:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:35:58] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:35:58] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:36:06] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:36:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:36:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:36:06] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:36:06] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:36:15] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:36:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:36:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:36:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:36:15] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:36:23] [INFO] Checking activity reminders 
[2026-04-29 14:36:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:36:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:36:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:36:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-29 14:36:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-29 14:36:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-29 14:36:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-29 14:36:53] [INFO] Checking activity reminders 
[2026-04-29 14:36:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:36:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:36:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:07] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:37:07] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:37:15] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:37:15] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:37:23] [INFO] Checking activity reminders 
[2026-04-29 14:37:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:37:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:37:24] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:37:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:37:24] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:37:46] [INFO] Checking activity reminders 
[2026-04-29 14:37:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:37:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:37:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 14:37:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:37:53] [INFO] Checking activity reminders 
[2026-04-29 14:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:38:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-29 14:38:16] [INFO] Checking activity reminders 
[2026-04-29 14:38:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:38:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:38:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:38:23] [INFO] Checking activity reminders 
[2026-04-29 14:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:38:31] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:38:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:38:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:38:31] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:38:31] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:38:46] [INFO] Checking activity reminders 
[2026-04-29 14:38:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:38:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:38:53] [INFO] Checking activity reminders 
[2026-04-29 14:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:39:16] [INFO] Checking activity reminders 
[2026-04-29 14:39:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:39:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:39:24] [INFO] Checking activity reminders 
[2026-04-29 14:39:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:39:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:39:46] [INFO] Checking activity reminders 
[2026-04-29 14:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:39:54] [INFO] Checking activity reminders 
[2026-04-29 14:39:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:39:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:40:17] [INFO] Checking activity reminders 
[2026-04-29 14:40:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:40:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:40:24] [INFO] Checking activity reminders 
[2026-04-29 14:40:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:40:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:40:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:31] [INFO] Checking activity reminders 
[2026-04-29 14:40:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:40:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:40:44] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:44] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:40:44] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:40:47] [INFO] Checking activity reminders 
[2026-04-29 14:40:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:40:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:40:50] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:40:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:50] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:40:50] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:40:57] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:40:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:40:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:40:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:41:01] [INFO] Checking activity reminders 
[2026-04-29 14:41:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:41:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:41:09] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:41:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:41:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:41:09] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:41:09] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-29 14:41:17] [INFO] Checking activity reminders 
[2026-04-29 14:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:41:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:41:32] [INFO] Checking activity reminders 
[2026-04-29 14:41:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:41:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:41:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16297","person_id":"19140"}
[2026-04-29 14:41:47] [INFO] Checking activity reminders 
[2026-04-29 14:41:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:41:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:41:49] [INFO] Checking activity reminders 
[2026-04-29 14:41:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:41:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:41:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:42:00] [INFO] Lead update received {"contact_id":"local_69884dbd25c1b9.60273131","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:42:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:42:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:42:00] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69884dbd25c1b9.60273131"}
[2026-04-29 14:42:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69884dbd25c1b9.60273131","person_id":"21609"}
[2026-04-29 14:42:14] [INFO] Checking activity reminders 
[2026-04-29 14:42:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:42:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:42:14] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:42:14] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:42:14] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:42:17] [INFO] Checking activity reminders 
[2026-04-29 14:42:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:42:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:42:44] [INFO] Checking activity reminders 
[2026-04-29 14:42:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:42:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:42:47] [INFO] Checking activity reminders 
[2026-04-29 14:42:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:42:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:42:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:42:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:42:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:43:14] [INFO] Checking activity reminders 
[2026-04-29 14:43:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:43:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:43:17] [INFO] Checking activity reminders 
[2026-04-29 14:43:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:43:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:43:45] [INFO] Checking activity reminders 
[2026-04-29 14:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:43:47] [INFO] Checking activity reminders 
[2026-04-29 14:43:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:43:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:44:17] [INFO] Checking activity reminders 
[2026-04-29 14:44:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:44:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:44:23] [INFO] Checking activity reminders 
[2026-04-29 14:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:44:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-29 14:44:45] [INFO] Lead update received {"contact_id":"1008","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:44:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-29 14:44:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-29 14:44:45] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1008"}
[2026-04-29 14:44:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1008","person_id":"16078"}
[2026-04-29 14:44:47] [INFO] Checking activity reminders 
[2026-04-29 14:44:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:44:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:45:04] [INFO] Checking activity reminders 
[2026-04-29 14:45:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:45:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:45:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-29 14:45:17] [INFO] Checking activity reminders 
[2026-04-29 14:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:45:21] [INFO] Lead update received {"contact_id":"13827","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-29 14:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-29 14:45:21] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13827"}
[2026-04-29 14:45:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-29 14:45:32] [INFO] Activity save request {"post_data":{"contact_id":"4723","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال تا الا 3با پشتیبانی و سی ای پی 30 دیققیع متقاعد کردن بازار ها","activity_duration":"40","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 14:45:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:45:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 14:45:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 14:45:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:45:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"4723","note_was_empty":true}
[2026-04-29 14:45:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"4723","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 14:45:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1e854a8c7c0.78264565","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 14:45:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:45:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1e854a8c7c0.78264565"}
[2026-04-29 14:45:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:45:32] [INFO] Updating virtual stage {"contact_id":"4723","stage_name":"with_purchase","force":false}
[2026-04-29 14:45:32] [INFO] Virtual stage successfully saved {"contact_id":"4723","stage_name":"with_purchase"}
[2026-04-29 14:45:32] [INFO] Virtual stage updated after activity save {"contact_id":"4723"}
[2026-04-29 14:45:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4723","person_id":"3094"}
[2026-04-29 14:45:34] [INFO] Checking activity reminders 
[2026-04-29 14:45:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:45:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:45:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-29 14:45:49] [INFO] Lead update received {"contact_id":"21132","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-29 14:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-29 14:45:49] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21132"}
[2026-04-29 14:45:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-29 14:46:01] [INFO] Checking activity reminders 
[2026-04-29 14:46:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:46:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-29 14:46:15] [INFO] Lead update received {"contact_id":"local_699ac3915763b4.19041363","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:46:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-29 14:46:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-29 14:46:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_699ac3915763b4.19041363"}
[2026-04-29 14:46:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699ac3915763b4.19041363","person_id":"21770"}
[2026-04-29 14:46:31] [INFO] Checking activity reminders 
[2026-04-29 14:46:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:46:39] [INFO] Checking activity reminders 
[2026-04-29 14:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:46:45] [INFO] Checking activity reminders 
[2026-04-29 14:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:46:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 14:46:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 14:46:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 14:46:51] [INFO] Checking activity reminders 
[2026-04-29 14:46:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:46:58] [INFO] Checking activity reminders 
[2026-04-29 14:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:16] [INFO] Checking activity reminders 
[2026-04-29 14:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:28] [INFO] Checking activity reminders 
[2026-04-29 14:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:40] [INFO] Checking activity reminders 
[2026-04-29 14:47:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:43] [INFO] Checking activity reminders 
[2026-04-29 14:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:47] [INFO] Checking activity reminders 
[2026-04-29 14:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:47:49] [INFO] Checking activity reminders 
[2026-04-29 14:47:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:47:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:48:13] [INFO] Checking activity reminders 
[2026-04-29 14:48:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:48:17] [INFO] Checking activity reminders 
[2026-04-29 14:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:19] [INFO] Checking activity reminders 
[2026-04-29 14:48:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:27] [INFO] Checking activity reminders 
[2026-04-29 14:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:48] [INFO] Checking activity reminders 
[2026-04-29 14:48:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:49] [INFO] Checking activity reminders 
[2026-04-29 14:48:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:48:57] [INFO] Checking activity reminders 
[2026-04-29 14:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:18] [INFO] Checking activity reminders 
[2026-04-29 14:49:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:19] [INFO] Checking activity reminders 
[2026-04-29 14:49:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:27] [INFO] Checking activity reminders 
[2026-04-29 14:49:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:49:42","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 14:49:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:49:42] [ERROR] API Error {"action":"save_deal","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20112' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":504,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(504): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/DealController.php(681): App\\Repositories\\PersonRepository->assignCustomerCodeIfMissing()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(744): App\\Controllers\\DealController->save()\n#3 {main}"}}
[2026-04-29 14:49:48] [INFO] Checking activity reminders 
[2026-04-29 14:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:50] [INFO] Checking activity reminders 
[2026-04-29 14:49:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:49:50","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 14:49:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:49:50] [ERROR] API Error {"action":"save_deal","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20113' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":504,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(504): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/DealController.php(681): App\\Repositories\\PersonRepository->assignCustomerCodeIfMissing()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(744): App\\Controllers\\DealController->save()\n#3 {main}"}}
[2026-04-29 14:49:58] [INFO] Checking activity reminders 
[2026-04-29 14:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:49:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 14:50:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:50:18] [INFO] Checking activity reminders 
[2026-04-29 14:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:50:28] [INFO] Checking activity reminders 
[2026-04-29 14:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:50:28] [INFO] Checking activity reminders 
[2026-04-29 14:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:50:47] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:50:47","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 14:50:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:50:47] [ERROR] API Error {"action":"save_deal","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20114' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":504,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(504): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/DealController.php(681): App\\Repositories\\PersonRepository->assignCustomerCodeIfMissing()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(744): App\\Controllers\\DealController->save()\n#3 {main}"}}
[2026-04-29 14:50:48] [INFO] Checking activity reminders 
[2026-04-29 14:50:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:50:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:50:55] [INFO] Activity save request {"post_data":{"contact_id":"local_69b5c22538ee57.18446518","deal_id":"local_69b5c2253b55e","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"سیگنال رایگان میخواد برای طلا","activity_duration":"15","direction":"incoming","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 14:50:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69b5c22538ee57.18446518","note_was_empty":true}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:55] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-29 14:50:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-29 14:50:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-29 14:50:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b5c2253b55e","stage":"تماس پیگیری","status_change":null}
[2026-04-29 14:50:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1e9970fdac7.26257654","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1e9970fdac7.26257654"}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:55] [INFO] Updating virtual stage {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered","force":false}
[2026-04-29 14:50:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69b5c22538ee57.18446518","stage_name":"deal_registered"}
[2026-04-29 14:50:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b5c22538ee57.18446518"}
[2026-04-29 14:50:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b5c22538ee57.18446518","person_id":"21852"}
[2026-04-29 14:50:57] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:50:57","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 14:50:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:50:57] [ERROR] API Error {"action":"save_deal","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20115' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":504,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(504): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/DealController.php(681): App\\Repositories\\PersonRepository->assignCustomerCodeIfMissing()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(744): App\\Controllers\\DealController->save()\n#3 {main}"}}
[2026-04-29 14:50:59] [INFO] Checking activity reminders 
[2026-04-29 14:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:51:18] [INFO] Checking activity reminders 
[2026-04-29 14:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:51:29] [INFO] Checking activity reminders 
[2026-04-29 14:51:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:51:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:51:48] [INFO] Checking activity reminders 
[2026-04-29 14:51:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:51:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:51:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:51:59] [INFO] Checking activity reminders 
[2026-04-29 14:51:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:51:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:52:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:52:18] [INFO] Checking activity reminders 
[2026-04-29 14:52:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:52:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:52:29] [INFO] Checking activity reminders 
[2026-04-29 14:52:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:52:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:52:48] [INFO] Checking activity reminders 
[2026-04-29 14:52:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:52:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:52:59] [INFO] Checking activity reminders 
[2026-04-29 14:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:18] [INFO] Checking activity reminders 
[2026-04-29 14:53:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:26] [INFO] Checking activity reminders 
[2026-04-29 14:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:35] [INFO] Checking activity reminders 
[2026-04-29 14:53:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:40] [INFO] Checking activity reminders 
[2026-04-29 14:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:47] [INFO] Checking activity reminders 
[2026-04-29 14:53:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:48] [INFO] Checking activity reminders 
[2026-04-29 14:53:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:53:51] [INFO] Checking activity reminders 
[2026-04-29 14:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2233","person_id":"5163"}
[2026-04-29 14:54:10] [INFO] Checking activity reminders 
[2026-04-29 14:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:19] [INFO] Checking activity reminders 
[2026-04-29 14:54:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:21] [INFO] Checking activity reminders 
[2026-04-29 14:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13207","person_id":"20616"}
[2026-04-29 14:54:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-29 14:54:40] [INFO] Checking activity reminders 
[2026-04-29 14:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:51] [INFO] Checking activity reminders 
[2026-04-29 14:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:52] [INFO] Checking activity reminders 
[2026-04-29 14:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:54:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:55:10] [INFO] Checking activity reminders 
[2026-04-29 14:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:55:22] [INFO] Checking activity reminders 
[2026-04-29 14:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:55:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"637","person_id":"16208"}
[2026-04-29 14:55:43] [INFO] Checking activity reminders 
[2026-04-29 14:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:56:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 14:56:11] [INFO] Checking activity reminders 
[2026-04-29 14:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:56:29] [INFO] Checking activity reminders 
[2026-04-29 14:56:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:56:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:56:50] [INFO] Checking activity reminders 
[2026-04-29 14:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:56:59] [INFO] Checking activity reminders 
[2026-04-29 14:56:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:56:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:09] [INFO] Lead update received {"contact_id":"11748","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 14:57:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:57:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:57:09] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"11748"}
[2026-04-29 14:57:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:57:17] [INFO] Checking activity reminders 
[2026-04-29 14:57:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:57:20] [INFO] Checking activity reminders 
[2026-04-29 14:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:21] [INFO] Checking activity reminders 
[2026-04-29 14:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:27] [INFO] Checking activity reminders 
[2026-04-29 14:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:28] [INFO] Checking activity reminders 
[2026-04-29 14:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:30] [INFO] Checking activity reminders 
[2026-04-29 14:57:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:57:57] [INFO] Checking activity reminders 
[2026-04-29 14:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:58:00] [INFO] Checking activity reminders 
[2026-04-29 14:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:58:27] [INFO] Checking activity reminders 
[2026-04-29 14:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:58:30] [INFO] Checking activity reminders 
[2026-04-29 14:58:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:58:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:58:57] [INFO] Checking activity reminders 
[2026-04-29 14:58:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:58:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:58:59] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 14:58:59","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 14:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:58:59] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","is_new_deal":false}
[2026-04-29 14:58:59] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:58:59] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:58:59] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-04-29 14:58:59] [INFO] getContactPrimaryPhone called {"contact_id":"11748"}
[2026-04-29 14:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:58:59] [INFO] getContactPrimaryPhone result {"contact_id":"11748","person_found":true,"primary_phone":"9131409757"}
[2026-04-29 14:58:59] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131409757"}
[2026-04-29 14:58:59] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131409757","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 14:58:59"}
[2026-04-29 14:58:59] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","existing_deal_found":true,"existing_contact_id":"11748","existing_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 14:58:59"}
[2026-04-29 14:58:59] [INFO] DealController.save validated payments {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-29 14:58:59] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11748","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 14:58:59] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a6d59b71887.16010531","contact_didar_id":"11748","title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9131409757","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":39000000,"payment_amount":26900000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امین ضیاء","existing_deal":"YES","existing_deal_id":"local_695a6d59b71887.16010531","existing_deal_status":"Pending","server_time":"2026-04-29 14:58:59","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 14:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:58:59] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":39000000,"payment_amount":26900000,"server_time":"2026-04-29 14:58:59","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 14:58:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 14:59:00] [INFO] Checking activity reminders 
[2026-04-29 14:59:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:59:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:59:27] [INFO] Checking activity reminders 
[2026-04-29 14:59:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:59:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:59:30] [INFO] Checking activity reminders 
[2026-04-29 14:59:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:59:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 14:59:57] [INFO] Checking activity reminders 
[2026-04-29 14:59:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 14:59:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:00:00] [INFO] Checking activity reminders 
[2026-04-29 15:00:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:00:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:00:00] [INFO] Activity save request {"post_data":{"contact_id":"11748","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت هوش و کانال 405 \r\n6 ماهه با پشتیبانی استاد \r\nارسال اطلاعات \r\nتسویه تا اخر ماه ","activity_duration":"15","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:00:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:00:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:00:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:00:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:00:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11748","note_was_empty":true}
[2026-04-29 15:00:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"11748","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:00:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1ebb8a7e3d7.68331313","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:00:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:00:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1ebb8a7e3d7.68331313"}
[2026-04-29 15:00:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:00:00] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"deal_registered","force":false}
[2026-04-29 15:00:00] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"deal_registered"}
[2026-04-29 15:00:00] [INFO] Virtual stage updated after activity save {"contact_id":"11748"}
[2026-04-29 15:00:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:00:08] [INFO] Checking activity reminders 
[2026-04-29 15:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:00:16] [WARNING] Auth check failed - not authenticated {"session_id":"if75vobu32k778pgi18ejeqvcf","session_keys":[],"action":"check_reminders"}
[2026-04-29 15:00:16] [WARNING] Auth check failed - not authenticated {"session_id":"if75vobu32k778pgi18ejeqvcf","session_keys":[],"action":"log_client_event"}
[2026-04-29 15:00:16] [WARNING] Auth check failed - not authenticated {"session_id":"if75vobu32k778pgi18ejeqvcf","session_keys":[],"action":"log_client_event"}
[2026-04-29 15:00:30] [INFO] Checking activity reminders 
[2026-04-29 15:00:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:00:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:00:38] [INFO] Checking activity reminders 
[2026-04-29 15:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:00:48] [INFO] Activity save request {"post_data":{"contact_id":"6215","deal_id":"local_69d68ca71be485.71919468","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پیگیری واریزی ","activity_duration":"5","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:00:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6215","note_was_empty":true}
[2026-04-29 15:00:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"6215","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:48] [INFO] Updating virtual stage {"contact_id":"6215","stage_name":"deal_registered","force":false}
[2026-04-29 15:00:48] [INFO] Virtual stage successfully saved {"contact_id":"6215","stage_name":"deal_registered"}
[2026-04-29 15:00:48] [INFO] Virtual stage updated after activity save {"contact_id":"6215"}
[2026-04-29 15:00:48] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d68ca71be485.71919468","stage":"تماس پیگیری","status_change":null}
[2026-04-29 15:00:48] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1ebe89d01b0.13313324","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:48] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1ebe89d01b0.13313324"}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:48] [INFO] Updating virtual stage {"contact_id":"6215","stage_name":"deal_registered","force":false}
[2026-04-29 15:00:48] [INFO] Virtual stage successfully saved {"contact_id":"6215","stage_name":"deal_registered"}
[2026-04-29 15:00:48] [INFO] Virtual stage updated after activity save {"contact_id":"6215"}
[2026-04-29 15:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6215","person_id":"16296"}
[2026-04-29 15:00:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21177","person_id":"3589"}
[2026-04-29 15:01:00] [INFO] Checking activity reminders 
[2026-04-29 15:01:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:01:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:01:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2290","person_id":"3168"}
[2026-04-29 15:01:08] [INFO] Checking activity reminders 
[2026-04-29 15:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:01:38] [INFO] Checking activity reminders 
[2026-04-29 15:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:02:08] [INFO] Checking activity reminders 
[2026-04-29 15:02:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:02:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:02:38] [INFO] Checking activity reminders 
[2026-04-29 15:02:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:02:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:03:08] [INFO] Checking activity reminders 
[2026-04-29 15:03:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:03:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:03:38] [INFO] Checking activity reminders 
[2026-04-29 15:03:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:03:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:04:08] [INFO] Checking activity reminders 
[2026-04-29 15:04:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:04:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:04:38] [INFO] Checking activity reminders 
[2026-04-29 15:04:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:04:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:05:08] [INFO] Checking activity reminders 
[2026-04-29 15:05:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:05:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:05:39] [INFO] Checking activity reminders 
[2026-04-29 15:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:06:02] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","deal_id":"16953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 15:06:02","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 15:06:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 15:06:02] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","is_new_deal":false}
[2026-04-29 15:06:02] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 15:06:02] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 15:06:02] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 15:06:02] [INFO] getContactPrimaryPhone called {"contact_id":"16289"}
[2026-04-29 15:06:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 15:06:02] [INFO] getContactPrimaryPhone result {"contact_id":"16289","person_found":true,"primary_phone":"9193914132"}
[2026-04-29 15:06:02] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193914132"}
[2026-04-29 15:06:02] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193914132","contact_id":"16289","deal_id":"16953","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 15:06:02"}
[2026-04-29 15:06:02] [INFO] DealController.save existing deal lookup {"deal_id":"16953","contact_id":"16289","existing_deal_found":true,"existing_contact_id":"16289","existing_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 15:06:02"}
[2026-04-29 15:06:02] [INFO] DealController.save validated payments {"deal_id":"16953","contact_id":"16289","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-29 15:06:02] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"16289","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 15:06:02] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"16953","contact_didar_id":"16289","title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله مسعود قارزی","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":17500000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مسعود قارزی","existing_deal":"YES","existing_deal_id":"16953","existing_deal_status":"Pending","server_time":"2026-04-29 15:06:02","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 15:06:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 15:06:02] [INFO] ensureDealProductsFromText: no product match {"deal_id":"16953","texts":["کانال VIP بدون پشتیبان شش ماهه"]}
[2026-04-29 15:06:02] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"16953","contact_id":"16289","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":17500000,"server_time":"2026-04-29 15:06:02","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 15:06:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 15:06:09] [INFO] Checking activity reminders 
[2026-04-29 15:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:06:39] [INFO] Checking activity reminders 
[2026-04-29 15:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:06:51] [INFO] Checking activity reminders 
[2026-04-29 15:06:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:06:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:07:10] [INFO] Checking activity reminders 
[2026-04-29 15:07:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:07:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:07:12] [INFO] Checking activity reminders 
[2026-04-29 15:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:07:15] [INFO] Checking activity reminders 
[2026-04-29 15:07:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:07:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:07:17] [INFO] Checking activity reminders 
[2026-04-29 15:07:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:07:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:07:48] [INFO] Checking activity reminders 
[2026-04-29 15:07:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:07:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:08:18] [INFO] Checking activity reminders 
[2026-04-29 15:08:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:08:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:08:48] [INFO] Checking activity reminders 
[2026-04-29 15:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:09:18] [INFO] Checking activity reminders 
[2026-04-29 15:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:09:48] [INFO] Checking activity reminders 
[2026-04-29 15:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:10:18] [INFO] Checking activity reminders 
[2026-04-29 15:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:10:48] [INFO] Checking activity reminders 
[2026-04-29 15:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:11:18] [INFO] Checking activity reminders 
[2026-04-29 15:11:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:11:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:11:36] [INFO] Checking activity reminders 
[2026-04-29 15:11:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:11:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:11:37] [INFO] Checking activity reminders 
[2026-04-29 15:11:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:11:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:11:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 15:12:07] [INFO] Checking activity reminders 
[2026-04-29 15:12:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:12:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:12:38] [INFO] Checking activity reminders 
[2026-04-29 15:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:13:08] [INFO] Checking activity reminders 
[2026-04-29 15:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:13:38] [INFO] Checking activity reminders 
[2026-04-29 15:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:14:08] [INFO] Checking activity reminders 
[2026-04-29 15:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:14:38] [INFO] Checking activity reminders 
[2026-04-29 15:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:15:08] [INFO] Checking activity reminders 
[2026-04-29 15:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:15:38] [INFO] Checking activity reminders 
[2026-04-29 15:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:16:08] [INFO] Checking activity reminders 
[2026-04-29 15:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:16:38] [INFO] Checking activity reminders 
[2026-04-29 15:16:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:16:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:17:08] [INFO] Checking activity reminders 
[2026-04-29 15:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:17:18] [INFO] Checking activity reminders 
[2026-04-29 15:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:17:21] [INFO] Checking activity reminders 
[2026-04-29 15:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:17:23] [INFO] Checking activity reminders 
[2026-04-29 15:17:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:17:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:17:53] [INFO] Checking activity reminders 
[2026-04-29 15:17:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:17:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:18:24] [INFO] Checking activity reminders 
[2026-04-29 15:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:18:54] [INFO] Checking activity reminders 
[2026-04-29 15:18:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:18:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:19:24] [INFO] Checking activity reminders 
[2026-04-29 15:19:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:19:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:19:54] [INFO] Checking activity reminders 
[2026-04-29 15:19:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:19:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:20:24] [INFO] Checking activity reminders 
[2026-04-29 15:20:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:20:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:20:54] [INFO] Checking activity reminders 
[2026-04-29 15:20:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:20:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:21:24] [INFO] Checking activity reminders 
[2026-04-29 15:21:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:21:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:21:54] [INFO] Checking activity reminders 
[2026-04-29 15:21:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:21:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:22:24] [INFO] Checking activity reminders 
[2026-04-29 15:22:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:22:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:22:54] [INFO] Checking activity reminders 
[2026-04-29 15:22:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:22:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:23:24] [INFO] Checking activity reminders 
[2026-04-29 15:23:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:23:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:23:54] [INFO] Checking activity reminders 
[2026-04-29 15:23:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:23:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:24:25] [INFO] Checking activity reminders 
[2026-04-29 15:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:24:55] [INFO] Checking activity reminders 
[2026-04-29 15:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:25:25] [INFO] Checking activity reminders 
[2026-04-29 15:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:25:55] [INFO] Checking activity reminders 
[2026-04-29 15:25:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:25:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:26:25] [INFO] Checking activity reminders 
[2026-04-29 15:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:26:55] [INFO] Checking activity reminders 
[2026-04-29 15:26:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:26:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:27:25] [INFO] Checking activity reminders 
[2026-04-29 15:27:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:27:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:27:55] [INFO] Checking activity reminders 
[2026-04-29 15:27:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:27:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:28:25] [INFO] Checking activity reminders 
[2026-04-29 15:28:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:28:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:28:55] [INFO] Checking activity reminders 
[2026-04-29 15:28:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:28:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:29:25] [INFO] Checking activity reminders 
[2026-04-29 15:29:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:29:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:29:55] [INFO] Checking activity reminders 
[2026-04-29 15:29:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:29:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:30:26] [INFO] Checking activity reminders 
[2026-04-29 15:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:30:56] [INFO] Checking activity reminders 
[2026-04-29 15:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:31:26] [INFO] Checking activity reminders 
[2026-04-29 15:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:31:56] [INFO] Checking activity reminders 
[2026-04-29 15:31:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:31:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:32:26] [INFO] Checking activity reminders 
[2026-04-29 15:32:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:32:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:32:46] [INFO] Checking activity reminders 
[2026-04-29 15:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:33:17] [INFO] Checking activity reminders 
[2026-04-29 15:33:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:33:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:33:47] [INFO] Checking activity reminders 
[2026-04-29 15:33:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:33:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:34:17] [INFO] Checking activity reminders 
[2026-04-29 15:34:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:34:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:34:47] [INFO] Checking activity reminders 
[2026-04-29 15:34:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:34:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:35:00] [INFO] Checking activity reminders 
[2026-04-29 15:35:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:35:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:37:50] [INFO] Checking activity reminders 
[2026-04-29 15:37:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:37:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:37:53] [INFO] Checking activity reminders 
[2026-04-29 15:37:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:37:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:38:23] [INFO] Checking activity reminders 
[2026-04-29 15:38:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:38:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:38:53] [INFO] Checking activity reminders 
[2026-04-29 15:38:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:38:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:39:23] [INFO] Checking activity reminders 
[2026-04-29 15:39:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:39:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:39:53] [INFO] Checking activity reminders 
[2026-04-29 15:39:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:39:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:40:23] [INFO] Checking activity reminders 
[2026-04-29 15:40:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:40:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:40:54] [INFO] Checking activity reminders 
[2026-04-29 15:40:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:40:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:41:24] [INFO] Checking activity reminders 
[2026-04-29 15:41:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:41:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:41:54] [INFO] Checking activity reminders 
[2026-04-29 15:41:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:41:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:42:24] [INFO] Checking activity reminders 
[2026-04-29 15:42:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:42:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:42:54] [INFO] Checking activity reminders 
[2026-04-29 15:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:43:24] [INFO] Checking activity reminders 
[2026-04-29 15:43:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:43:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:43:54] [INFO] Checking activity reminders 
[2026-04-29 15:43:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:43:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:44:24] [INFO] Checking activity reminders 
[2026-04-29 15:44:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:44:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:44:38] [INFO] Checking activity reminders 
[2026-04-29 15:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:44:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:06] [INFO] Activity save request {"post_data":{"contact_id":"13407","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nساعت 18 تماس مجدد ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:45:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:06] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:45:06] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:45:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:06] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13407","note_was_empty":true}
[2026-04-29 15:45:06] [INFO] Didar write disabled; saving activity locally {"contact_id":"13407","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:45:06] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f64a747215.06568518","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:45:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:06] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f64a747215.06568518"}
[2026-04-29 15:45:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:06] [INFO] Updating virtual stage {"contact_id":"13407","stage_name":"deal_registered","force":false}
[2026-04-29 15:45:06] [INFO] Virtual stage successfully saved {"contact_id":"13407","stage_name":"deal_registered"}
[2026-04-29 15:45:06] [INFO] Virtual stage updated after activity save {"contact_id":"13407"}
[2026-04-29 15:45:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 15:45:09] [INFO] Checking activity reminders 
[2026-04-29 15:45:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:45:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:45:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:45:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:45:39] [INFO] Checking activity reminders 
[2026-04-29 15:45:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:45:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:46:09] [INFO] Checking activity reminders 
[2026-04-29 15:46:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:46:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:46:39] [INFO] Checking activity reminders 
[2026-04-29 15:46:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:46:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:47:09] [INFO] Checking activity reminders 
[2026-04-29 15:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:47:39] [INFO] Checking activity reminders 
[2026-04-29 15:47:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:47:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:48:09] [INFO] Checking activity reminders 
[2026-04-29 15:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:48:39] [INFO] Checking activity reminders 
[2026-04-29 15:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:49:09] [INFO] Checking activity reminders 
[2026-04-29 15:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:49:39] [INFO] Checking activity reminders 
[2026-04-29 15:49:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:49:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:50:01] [INFO] Activity save request {"post_data":{"contact_id":"local_69f1a64b54f051.86090190","deal_id":"local_69f1a64b562df","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"تلفن قطع کرد گفت تماس نگیرید ","activity_duration":"1","direction":"incoming","current_stage":"معامله جدید","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"irrelevant_lead","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:50:01] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f1a64b54f051.86090190","note_was_empty":true}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Updating virtual stage {"contact_id":"local_69f1a64b54f051.86090190","stage_name":"new","force":false}
[2026-04-29 15:50:01] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1a64b54f051.86090190","stage_name":"new"}
[2026-04-29 15:50:01] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1a64b54f051.86090190"}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a64b562df","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-29 15:50:01] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f771dd2341.32196951","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f771dd2341.32196951"}
[2026-04-29 15:50:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:01] [INFO] Updating virtual stage {"contact_id":"local_69f1a64b54f051.86090190","stage_name":"deal_registered","force":false}
[2026-04-29 15:50:01] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1a64b54f051.86090190","stage_name":"deal_registered"}
[2026-04-29 15:50:01] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1a64b54f051.86090190"}
[2026-04-29 15:50:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1a64b54f051.86090190","person_id":"22439"}
[2026-04-29 15:50:09] [INFO] Checking activity reminders 
[2026-04-29 15:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:50:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 15:50:19] [INFO] Checking activity reminders 
[2026-04-29 15:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:50:21] [INFO] Checking activity reminders 
[2026-04-29 15:50:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:50:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:50:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 15:50:51] [INFO] Checking activity reminders 
[2026-04-29 15:50:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:50:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:51:21] [INFO] Checking activity reminders 
[2026-04-29 15:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:51:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:51] [INFO] Checking activity reminders 
[2026-04-29 15:51:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:51:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:51:58] [INFO] Activity save request {"post_data":{"contact_id":"9112","deal_id":"local_69d224b65a5116.94553415","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشتیبانی کانال \r\nطریقه ی کد بورسی و احراز هویت شدن ","activity_duration":"2","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:51:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9112","note_was_empty":true}
[2026-04-29 15:51:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"9112","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:58] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-29 15:51:58] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-29 15:51:58] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-29 15:51:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d224b65a5116.94553415","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 15:51:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f7e6b62628.35595011","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f7e6b62628.35595011"}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:51:58] [INFO] Updating virtual stage {"contact_id":"9112","stage_name":"deal_registered","force":false}
[2026-04-29 15:51:58] [INFO] Virtual stage successfully saved {"contact_id":"9112","stage_name":"deal_registered"}
[2026-04-29 15:51:58] [INFO] Virtual stage updated after activity save {"contact_id":"9112"}
[2026-04-29 15:51:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9112","person_id":"3432"}
[2026-04-29 15:52:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:52:21] [INFO] Checking activity reminders 
[2026-04-29 15:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:52:22] [INFO] Lead update received {"contact_id":"12683","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 15:52:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:52:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:52:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"12683"}
[2026-04-29 15:52:22] [ERROR] API Error {"action":"update_lead","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20116' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":423,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(423): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(1198): App\\Repositories\\PersonRepository->save()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#4 {main}"}}
[2026-04-29 15:52:51] [INFO] Checking activity reminders 
[2026-04-29 15:52:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:52:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:53:21] [INFO] Checking activity reminders 
[2026-04-29 15:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:53:51] [INFO] Checking activity reminders 
[2026-04-29 15:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:54:22] [INFO] Checking activity reminders 
[2026-04-29 15:54:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:54:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:54:35] [INFO] Activity save request {"post_data":{"contact_id":"12683","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"برای تمدید cip  تماس گرفتم \r\nبا استاد 4.300 حساب داشتند \r\nقرار شد 4 واریز از طرف استاد \r\n300 برای 900 سود پرتفوی cip  باشه\r\nدرخواست شون این بود که حتما مبلغ 4 تا فردا واریز \r\nبرای جزییات پرتفو باهاشون تماس گرفته شود ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:54:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:54:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:54:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12683","note_was_empty":true}
[2026-04-29 15:54:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"12683","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:54:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f883660974.08434692","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:54:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f883660974.08434692"}
[2026-04-29 15:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:54:35] [INFO] Updating virtual stage {"contact_id":"12683","stage_name":"with_purchase","force":false}
[2026-04-29 15:54:35] [INFO] Virtual stage successfully saved {"contact_id":"12683","stage_name":"with_purchase"}
[2026-04-29 15:54:35] [INFO] Virtual stage updated after activity save {"contact_id":"12683"}
[2026-04-29 15:54:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-29 15:54:52] [INFO] Checking activity reminders 
[2026-04-29 15:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:55:22] [INFO] Checking activity reminders 
[2026-04-29 15:55:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:55:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:55:52] [INFO] Checking activity reminders 
[2026-04-29 15:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:56:22] [INFO] Checking activity reminders 
[2026-04-29 15:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:56:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:56:52] [INFO] Checking activity reminders 
[2026-04-29 15:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:57:22] [INFO] Checking activity reminders 
[2026-04-29 15:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:57:52] [INFO] Checking activity reminders 
[2026-04-29 15:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:57:59] [INFO] Activity save request {"post_data":{"contact_id":"20648","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"برای تمدید cip  تماس \r\nمیگه احتنالا ملک بخرم \/ اگر انجام نشد حتما تمدید \r\nدر غیر این صورت کل مبلغ از بورس باید بیارم بیرون ","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:57:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:57:59] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:57:59] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:57:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:57:59] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"20648","note_was_empty":true}
[2026-04-29 15:57:59] [INFO] Didar write disabled; saving activity locally {"contact_id":"20648","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:57:59] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f94fd0e5f2.91623844","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:57:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:57:59] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f94fd0e5f2.91623844"}
[2026-04-29 15:57:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:57:59] [INFO] Updating virtual stage {"contact_id":"20648","stage_name":"with_purchase","force":false}
[2026-04-29 15:57:59] [INFO] Virtual stage successfully saved {"contact_id":"20648","stage_name":"with_purchase"}
[2026-04-29 15:57:59] [INFO] Virtual stage updated after activity save {"contact_id":"20648"}
[2026-04-29 15:57:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"20648","person_id":"19221"}
[2026-04-29 15:58:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:22] [INFO] Checking activity reminders 
[2026-04-29 15:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:58:30] [INFO] Activity save request {"post_data":{"contact_id":"1828","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید طلا ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 15:58:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 15:58:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 15:58:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1828","note_was_empty":true}
[2026-04-29 15:58:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"1828","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 15:58:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f96e850f91.41692201","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 15:58:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f96e850f91.41692201"}
[2026-04-29 15:58:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:30] [INFO] Updating virtual stage {"contact_id":"1828","stage_name":"with_purchase","force":false}
[2026-04-29 15:58:30] [INFO] Virtual stage successfully saved {"contact_id":"1828","stage_name":"with_purchase"}
[2026-04-29 15:58:30] [INFO] Virtual stage updated after activity save {"contact_id":"1828"}
[2026-04-29 15:58:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1828","person_id":"10528"}
[2026-04-29 15:58:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 15:58:52] [INFO] Checking activity reminders 
[2026-04-29 15:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:59:22] [INFO] Checking activity reminders 
[2026-04-29 15:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 15:59:52] [INFO] Checking activity reminders 
[2026-04-29 15:59:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 15:59:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:00:23] [INFO] Checking activity reminders 
[2026-04-29 16:00:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:00:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:00:28] [INFO] Activity save request {"post_data":{"contact_id":"9020","deal_id":"local_69f060e77a2d50.43817908","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"میگه از میلی گلد خرید انجام دادم 36 میلیون تو ضررم کنسل کنید \r\nبهش گفتم مگه استاد به شما سیگنال دادند \r\nخدمات عودت وجه نداریم \r\nگفتم استاد در بورس و صندوق ها نوسان گیری گفتند \r\nراهمایی جهت گرفتن کد  بورسی ","activity_duration":"10","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:28] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 16:00:28] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:28] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"9020","note_was_empty":true}
[2026-04-29 16:00:28] [INFO] Didar write disabled; saving activity locally {"contact_id":"9020","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:28] [INFO] Updating virtual stage {"contact_id":"9020","stage_name":"deal_registered","force":false}
[2026-04-29 16:00:28] [INFO] Virtual stage successfully saved {"contact_id":"9020","stage_name":"deal_registered"}
[2026-04-29 16:00:28] [INFO] Virtual stage updated after activity save {"contact_id":"9020"}
[2026-04-29 16:00:28] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f060e77a2d50.43817908","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 16:00:28] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1f9e48f8108.11920431","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:28] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1f9e48f8108.11920431"}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:28] [INFO] Updating virtual stage {"contact_id":"9020","stage_name":"deal_registered","force":false}
[2026-04-29 16:00:28] [INFO] Virtual stage successfully saved {"contact_id":"9020","stage_name":"deal_registered"}
[2026-04-29 16:00:28] [INFO] Virtual stage updated after activity save {"contact_id":"9020"}
[2026-04-29 16:00:28] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9020","person_id":"10838"}
[2026-04-29 16:00:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:00:53] [INFO] Checking activity reminders 
[2026-04-29 16:00:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:00:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:01:23] [INFO] Checking activity reminders 
[2026-04-29 16:01:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:01:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:01:27] [INFO] Activity save request {"post_data":{"contact_id":"6149","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال ارجاع به استاد \r\n1 میلیارد تازه پول اومده دستش ","activity_duration":"2","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 16:01:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:01:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 16:01:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 16:01:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:01:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6149","note_was_empty":true}
[2026-04-29 16:01:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"6149","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 16:01:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1fa1f57faa5.67036923","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 16:01:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:01:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1fa1f57faa5.67036923"}
[2026-04-29 16:01:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:01:27] [INFO] Updating virtual stage {"contact_id":"6149","stage_name":"deal_registered","force":false}
[2026-04-29 16:01:27] [INFO] Virtual stage successfully saved {"contact_id":"6149","stage_name":"deal_registered"}
[2026-04-29 16:01:27] [INFO] Virtual stage updated after activity save {"contact_id":"6149"}
[2026-04-29 16:01:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6149","person_id":"18550"}
[2026-04-29 16:01:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:01:53] [INFO] Checking activity reminders 
[2026-04-29 16:01:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:01:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:02:23] [INFO] Checking activity reminders 
[2026-04-29 16:02:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:02:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:02:37] [INFO] Activity save request {"post_data":{"contact_id":"local_69f07fd5a950c8.03863822","deal_id":"local_69f07fd5abfaf","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال \r\nخرید و نوسان صندوق ها ","activity_duration":"3","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 16:02:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f07fd5a950c8.03863822","note_was_empty":true}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:37] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered","force":false}
[2026-04-29 16:02:37] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered"}
[2026-04-29 16:02:37] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-29 16:02:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f07fd5abfaf","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 16:02:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1fa656ba9e6.82300231","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1fa656ba9e6.82300231"}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:37] [INFO] Updating virtual stage {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered","force":false}
[2026-04-29 16:02:37] [INFO] Virtual stage successfully saved {"contact_id":"local_69f07fd5a950c8.03863822","stage_name":"deal_registered"}
[2026-04-29 16:02:37] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f07fd5a950c8.03863822"}
[2026-04-29 16:02:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f07fd5a950c8.03863822","person_id":"22427"}
[2026-04-29 16:02:53] [INFO] Checking activity reminders 
[2026-04-29 16:02:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:02:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:03:23] [INFO] Checking activity reminders 
[2026-04-29 16:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:03:53] [INFO] Checking activity reminders 
[2026-04-29 16:03:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:03:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:04:23] [INFO] Checking activity reminders 
[2026-04-29 16:04:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:04:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:04:53] [INFO] Checking activity reminders 
[2026-04-29 16:04:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:04:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:05:23] [INFO] Checking activity reminders 
[2026-04-29 16:05:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:05:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:05:53] [INFO] Checking activity reminders 
[2026-04-29 16:05:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:05:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:06:23] [INFO] Checking activity reminders 
[2026-04-29 16:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:06:54] [INFO] Checking activity reminders 
[2026-04-29 16:06:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:06:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:07:24] [INFO] Checking activity reminders 
[2026-04-29 16:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:07:29] [INFO] Checking activity reminders 
[2026-04-29 16:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:07:31] [INFO] Checking activity reminders 
[2026-04-29 16:07:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:07:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:08:01] [INFO] Checking activity reminders 
[2026-04-29 16:08:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:08:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:08:31] [INFO] Checking activity reminders 
[2026-04-29 16:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:08:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","deal_id":"16953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 16:08:51","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 16:08:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:08:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","is_new_deal":false}
[2026-04-29 16:08:51] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:08:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:08:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:08:51] [INFO] getContactPrimaryPhone called {"contact_id":"16289"}
[2026-04-29 16:08:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:08:51] [INFO] getContactPrimaryPhone result {"contact_id":"16289","person_found":true,"primary_phone":"9193914132"}
[2026-04-29 16:08:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193914132"}
[2026-04-29 16:08:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193914132","contact_id":"16289","deal_id":"16953","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:08:51"}
[2026-04-29 16:08:51] [INFO] DealController.save existing deal lookup {"deal_id":"16953","contact_id":"16289","existing_deal_found":true,"existing_contact_id":"16289","existing_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:08:51"}
[2026-04-29 16:08:51] [INFO] DealController.save validated payments {"deal_id":"16953","contact_id":"16289","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-29 16:08:51] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"16289","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 16:08:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"16953","contact_didar_id":"16289","title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله مسعود قارزی","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مسعود قارزی","existing_deal":"YES","existing_deal_id":"16953","existing_deal_status":"Pending","server_time":"2026-04-29 16:08:51","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 16:08:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:08:51] [INFO] ensureDealProductsFromText: no product match {"deal_id":"16953","texts":["کانال VIP بدون پشتیبان شش ماهه"]}
[2026-04-29 16:08:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"16953","contact_id":"16289","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-29 16:08:51","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 16:08:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:01] [INFO] Checking activity reminders 
[2026-04-29 16:09:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:09:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:09:03] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","deal_id":"16953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 16:09:03","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"16289","is_new_deal":false}
[2026-04-29 16:09:03] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:09:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:09:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-29 16:09:03] [INFO] getContactPrimaryPhone called {"contact_id":"16289"}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:03] [INFO] getContactPrimaryPhone result {"contact_id":"16289","person_found":true,"primary_phone":"9193914132"}
[2026-04-29 16:09:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9193914132"}
[2026-04-29 16:09:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9193914132","contact_id":"16289","deal_id":"16953","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:09:03"}
[2026-04-29 16:09:03] [INFO] DealController.save existing deal lookup {"deal_id":"16953","contact_id":"16289","existing_deal_found":true,"existing_contact_id":"16289","existing_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:09:03"}
[2026-04-29 16:09:03] [INFO] DealController.save validated payments {"deal_id":"16953","contact_id":"16289","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-29 16:09:03] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"16289","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 16:09:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"16953","contact_didar_id":"16289","title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله مسعود قارزی","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مسعود قارزی","existing_deal":"YES","existing_deal_id":"16953","existing_deal_status":"Pending","server_time":"2026-04-29 16:09:03","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:03] [INFO] Deal success processed {"contact_id":"16289","person_name":"مسعود قارزی","products_count":1}
[2026-04-29 16:09:03] [INFO] ensureDealProductsFromText: no product match {"deal_id":"16953","texts":["کانال VIP بدون پشتیبان شش ماهه"]}
[2026-04-29 16:09:03] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"16953","contact_id":"16289","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله مسعود قارزی | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-04-29 16:09:03","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:03] [INFO] Updating virtual stage {"contact_id":"16289","stage_name":"with_purchase","force":true}
[2026-04-29 16:09:03] [INFO] Virtual stage successfully saved {"contact_id":"16289","stage_name":"with_purchase"}
[2026-04-29 16:09:03] [INFO] Moved contact out of kariz after successful deal {"contact_id":"16289","deal_id":"16953","target_stage":"with_purchase"}
[2026-04-29 16:09:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 16:09:31] [INFO] Checking activity reminders 
[2026-04-29 16:09:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:09:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:10:01] [INFO] Checking activity reminders 
[2026-04-29 16:10:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:10:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:10:31] [INFO] Checking activity reminders 
[2026-04-29 16:10:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:10:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:11:02] [INFO] Checking activity reminders 
[2026-04-29 16:11:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:11:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:11:32] [INFO] Checking activity reminders 
[2026-04-29 16:11:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:11:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:12:02] [INFO] Checking activity reminders 
[2026-04-29 16:12:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:12:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:12:32] [INFO] Checking activity reminders 
[2026-04-29 16:12:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:12:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:13:02] [INFO] Checking activity reminders 
[2026-04-29 16:13:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:13:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:13:32] [INFO] Checking activity reminders 
[2026-04-29 16:13:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:13:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:14:02] [INFO] Checking activity reminders 
[2026-04-29 16:14:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:14:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:14:32] [INFO] Checking activity reminders 
[2026-04-29 16:14:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:14:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:15:02] [INFO] Checking activity reminders 
[2026-04-29 16:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:15:32] [INFO] Checking activity reminders 
[2026-04-29 16:15:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:15:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:15:33] [INFO] Checking activity reminders 
[2026-04-29 16:15:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:15:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:15:48] [INFO] Checking activity reminders 
[2026-04-29 16:15:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:15:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:16:18] [INFO] Checking activity reminders 
[2026-04-29 16:16:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:16:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:16:48] [INFO] Checking activity reminders 
[2026-04-29 16:16:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:16:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:17:18] [INFO] Checking activity reminders 
[2026-04-29 16:17:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:17:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:17:48] [INFO] Checking activity reminders 
[2026-04-29 16:17:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:17:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:18:07] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f97a7eb16.36137040","deal_id":"local_69f05f97af5b6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 16:18:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05f97a7eb16.36137040","note_was_empty":true}
[2026-04-29 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:07] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-29 16:18:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-29 16:18:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-29 16:18:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f97af5b6","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-29 16:18:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f1fe07e3ecc2.29937693","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69f1fe07e3ecc2.29937693"}
[2026-04-29 16:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:07] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-29 16:18:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-29 16:18:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-29 16:18:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-29 16:18:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 16:18:18] [INFO] Checking activity reminders 
[2026-04-29 16:18:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:18:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:18:24] [INFO] DealController.save start {"is_new":false,"incoming_title":"کارشناسی حضوری","contact_id":"13407","deal_id":"local_69f1a9363ac6b0.60602828","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 16:18:24","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 16:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 16:18:24] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"13407","is_new_deal":false}
[2026-04-29 16:18:24] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-29 16:18:24] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-29 16:18:24] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-29 16:18:24] [INFO] getContactPrimaryPhone called {"contact_id":"13407"}
[2026-04-29 16:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 16:18:24] [INFO] getContactPrimaryPhone result {"contact_id":"13407","person_found":true,"primary_phone":"9128983912"}
[2026-04-29 16:18:24] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128983912"}
[2026-04-29 16:18:24] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128983912","contact_id":"13407","deal_id":"local_69f1a9363ac6b0.60602828","is_new_deal":false,"incoming_title":"کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:18:24"}
[2026-04-29 16:18:24] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","existing_deal_found":true,"existing_contact_id":"13407","existing_title":"معامله دوم 9128983912 | کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 16:18:24"}
[2026-04-29 16:18:24] [INFO] DealController.save validated payments {"deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-29 16:18:24] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13407","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 16:18:24] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f1a9363ac6b0.60602828","contact_didar_id":"13407","title":"معامله دوم 9128983912 | کارشناسی حضوری","base_title_used":"معامله دوم 9128983912","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"طهرانی طهرانی","existing_deal":"YES","existing_deal_id":"local_69f1a9363ac6b0.60602828","existing_deal_status":"Pending","server_time":"2026-04-29 16:18:24","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 16:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 16:18:24] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9128983912 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-29 16:18:24","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 16:18:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 16:18:32] [INFO] Checking activity reminders 
[2026-04-29 16:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:18:36] [INFO] Checking activity reminders 
[2026-04-29 16:18:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:18:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:18:44] [INFO] Checking activity reminders 
[2026-04-29 16:18:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:18:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:18:52] [INFO] Checking activity reminders 
[2026-04-29 16:18:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:18:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:19:22] [INFO] Checking activity reminders 
[2026-04-29 16:19:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:19:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:19:52] [INFO] Checking activity reminders 
[2026-04-29 16:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:20:22] [INFO] Checking activity reminders 
[2026-04-29 16:20:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:20:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:20:43] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:20:43] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-29 16:20:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 16:20:53] [INFO] Checking activity reminders 
[2026-04-29 16:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:21:13] [INFO] Checking activity reminders 
[2026-04-29 16:21:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:21:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:21:23] [INFO] Checking activity reminders 
[2026-04-29 16:21:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:21:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:21:43] [INFO] Checking activity reminders 
[2026-04-29 16:21:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:21:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:21:53] [INFO] Checking activity reminders 
[2026-04-29 16:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:22:23] [INFO] Checking activity reminders 
[2026-04-29 16:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:22:53] [INFO] Checking activity reminders 
[2026-04-29 16:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:23:23] [INFO] Checking activity reminders 
[2026-04-29 16:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:23:53] [INFO] Checking activity reminders 
[2026-04-29 16:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:24:23] [INFO] Checking activity reminders 
[2026-04-29 16:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:24:53] [INFO] Checking activity reminders 
[2026-04-29 16:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:25:23] [INFO] Checking activity reminders 
[2026-04-29 16:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:25:53] [INFO] Checking activity reminders 
[2026-04-29 16:25:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:25:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:26:02] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:02] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"check_reminders"}
[2026-04-29 16:26:02] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:03] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:04] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:04] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:18] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:18] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"check_reminders"}
[2026-04-29 16:26:18] [WARNING] Auth check failed - not authenticated {"session_id":"un65iv40u1ed6m37lkitcte9l9","session_keys":[],"action":"log_client_event"}
[2026-04-29 16:26:23] [INFO] Checking activity reminders 
[2026-04-29 16:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:26:53] [INFO] Checking activity reminders 
[2026-04-29 16:26:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:26:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:27:23] [INFO] Checking activity reminders 
[2026-04-29 16:27:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:27:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:27:53] [INFO] Checking activity reminders 
[2026-04-29 16:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:28:24] [INFO] Checking activity reminders 
[2026-04-29 16:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:28:54] [INFO] Checking activity reminders 
[2026-04-29 16:28:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:28:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:29:24] [INFO] Checking activity reminders 
[2026-04-29 16:29:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:29:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:29:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 16:29:54] [INFO] Checking activity reminders 
[2026-04-29 16:29:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:29:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:30:24] [INFO] Checking activity reminders 
[2026-04-29 16:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:30:54] [INFO] Checking activity reminders 
[2026-04-29 16:30:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:30:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:31:24] [INFO] Checking activity reminders 
[2026-04-29 16:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:31:54] [INFO] Checking activity reminders 
[2026-04-29 16:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:32:24] [INFO] Checking activity reminders 
[2026-04-29 16:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:32:54] [INFO] Checking activity reminders 
[2026-04-29 16:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:33:24] [INFO] Checking activity reminders 
[2026-04-29 16:33:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:33:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:33:54] [INFO] Checking activity reminders 
[2026-04-29 16:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:34:24] [INFO] Checking activity reminders 
[2026-04-29 16:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:34:55] [INFO] Checking activity reminders 
[2026-04-29 16:34:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:34:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:35:25] [INFO] Checking activity reminders 
[2026-04-29 16:35:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:35:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:35:55] [INFO] Checking activity reminders 
[2026-04-29 16:35:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:35:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:36:25] [INFO] Checking activity reminders 
[2026-04-29 16:36:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:36:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:36:55] [INFO] Checking activity reminders 
[2026-04-29 16:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:37:25] [INFO] Checking activity reminders 
[2026-04-29 16:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:37:55] [INFO] Checking activity reminders 
[2026-04-29 16:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:38:25] [INFO] Checking activity reminders 
[2026-04-29 16:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:38:55] [INFO] Checking activity reminders 
[2026-04-29 16:38:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:38:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 16:39:26] [INFO] Checking activity reminders 
[2026-04-29 16:39:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 16:39:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:00:50] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:00:50] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"check_reminders"}
[2026-04-29 17:00:50] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:11] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"check_reminders"}
[2026-04-29 17:04:11] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:11] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:04:12] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:06:53] [INFO] Checking activity reminders 
[2026-04-29 17:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:07:07] [INFO] Activity save request {"post_data":{"contact_id":"4919","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 17:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 17:07:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 17:07:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 17:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 17:07:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4919","note_was_empty":true}
[2026-04-29 17:07:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"4919","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 17:07:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f20983d14122.15299091","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 17:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 17:07:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69f20983d14122.15299091"}
[2026-04-29 17:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 17:07:07] [INFO] Updating virtual stage {"contact_id":"4919","stage_name":"deal_registered","force":false}
[2026-04-29 17:07:07] [INFO] Virtual stage successfully saved {"contact_id":"4919","stage_name":"deal_registered"}
[2026-04-29 17:07:07] [INFO] Virtual stage updated after activity save {"contact_id":"4919"}
[2026-04-29 17:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4919","person_id":"16764"}
[2026-04-29 17:07:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:07:23] [INFO] Checking activity reminders 
[2026-04-29 17:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:07:53] [INFO] Checking activity reminders 
[2026-04-29 17:07:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:07:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:08:00] [INFO] Activity save request {"post_data":{"contact_id":"12752","deal_id":"local_69b72471ccce07.54227037","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"درگیر بیماری خانمش \r\nخیلی از لحاظ روحی بهم ریخته ست \r\nتا فردا تسویه ","activity_duration":"3","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 17:08:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12752","note_was_empty":true}
[2026-04-29 17:08:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"12752","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:00] [INFO] Updating virtual stage {"contact_id":"12752","stage_name":"deal_registered","force":false}
[2026-04-29 17:08:00] [INFO] Virtual stage successfully saved {"contact_id":"12752","stage_name":"deal_registered"}
[2026-04-29 17:08:00] [INFO] Virtual stage updated after activity save {"contact_id":"12752"}
[2026-04-29 17:08:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b72471ccce07.54227037","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 17:08:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f209b8505666.92676124","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69f209b8505666.92676124"}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:00] [INFO] Updating virtual stage {"contact_id":"12752","stage_name":"deal_registered","force":false}
[2026-04-29 17:08:00] [INFO] Virtual stage successfully saved {"contact_id":"12752","stage_name":"deal_registered"}
[2026-04-29 17:08:00] [INFO] Virtual stage updated after activity save {"contact_id":"12752"}
[2026-04-29 17:08:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12752","person_id":"13923"}
[2026-04-29 17:08:23] [INFO] Checking activity reminders 
[2026-04-29 17:08:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:08:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:08:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:08:53] [INFO] Checking activity reminders 
[2026-04-29 17:08:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:08:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:09:23] [INFO] Checking activity reminders 
[2026-04-29 17:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:09:53] [INFO] Checking activity reminders 
[2026-04-29 17:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:10:13] [INFO] Activity save request {"post_data":{"contact_id":"2036","deal_id":"local_699ec9d429d3e5.75537030","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت cip  \r\nمنتظر فروش زمین 30 میلیارد ارزش داره \r\nتسویه تا فردا ","activity_duration":"5","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 17:10:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2036","note_was_empty":true}
[2026-04-29 17:10:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"2036","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:13] [INFO] Updating virtual stage {"contact_id":"2036","stage_name":"deal_registered","force":false}
[2026-04-29 17:10:13] [INFO] Virtual stage successfully saved {"contact_id":"2036","stage_name":"deal_registered"}
[2026-04-29 17:10:13] [INFO] Virtual stage updated after activity save {"contact_id":"2036"}
[2026-04-29 17:10:13] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699ec9d429d3e5.75537030","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-29 17:10:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f20a3db67b46.63826542","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69f20a3db67b46.63826542"}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:13] [INFO] Updating virtual stage {"contact_id":"2036","stage_name":"deal_registered","force":false}
[2026-04-29 17:10:13] [INFO] Virtual stage successfully saved {"contact_id":"2036","stage_name":"deal_registered"}
[2026-04-29 17:10:13] [INFO] Virtual stage updated after activity save {"contact_id":"2036"}
[2026-04-29 17:10:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2036","person_id":"16647"}
[2026-04-29 17:10:23] [INFO] Checking activity reminders 
[2026-04-29 17:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:10:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:10:53] [INFO] Checking activity reminders 
[2026-04-29 17:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:11:23] [INFO] Checking activity reminders 
[2026-04-29 17:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:11:54] [INFO] Checking activity reminders 
[2026-04-29 17:11:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:11:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:12:25] [INFO] Checking activity reminders 
[2026-04-29 17:12:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:12:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:12:26] [INFO] Checking activity reminders 
[2026-04-29 17:12:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:12:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:12:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:12:56] [INFO] Checking activity reminders 
[2026-04-29 17:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:13:26] [INFO] Checking activity reminders 
[2026-04-29 17:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:13:49] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:13:49] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 17:13:49] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:13:56] [INFO] Checking activity reminders 
[2026-04-29 17:13:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:13:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:14:26] [INFO] Checking activity reminders 
[2026-04-29 17:14:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:14:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:14:56] [INFO] Checking activity reminders 
[2026-04-29 17:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:15:26] [INFO] Checking activity reminders 
[2026-04-29 17:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:15:56] [INFO] Checking activity reminders 
[2026-04-29 17:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:16:26] [INFO] Checking activity reminders 
[2026-04-29 17:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:16:56] [INFO] Checking activity reminders 
[2026-04-29 17:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:17:26] [INFO] Checking activity reminders 
[2026-04-29 17:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:17:57] [INFO] Checking activity reminders 
[2026-04-29 17:17:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:17:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:18:27] [INFO] Checking activity reminders 
[2026-04-29 17:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:18:57] [INFO] Checking activity reminders 
[2026-04-29 17:18:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:18:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:19:27] [INFO] Checking activity reminders 
[2026-04-29 17:19:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:19:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:19:57] [INFO] Checking activity reminders 
[2026-04-29 17:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:20:27] [INFO] Checking activity reminders 
[2026-04-29 17:20:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:20:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:20:57] [INFO] Checking activity reminders 
[2026-04-29 17:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:21:27] [INFO] Checking activity reminders 
[2026-04-29 17:21:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:21:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:21:40] [INFO] Activity save request {"post_data":{"contact_id":"11454","deal_id":"local_6959f383bd4665.70878914","activity_type_id":"4c557ed3-6a56-606d-d8fe-1fff19gg89ge","activity_type_title":"چت خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nاز سیگنال کانال 404 مجدد استفاده کرده برای تمدید میگه سوال و چالش نداره \r\nبهش نوسانات و سیو سود کردن ","activity_duration":"2","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 17:21:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11454","note_was_empty":true}
[2026-04-29 17:21:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"11454","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:40] [INFO] Updating virtual stage {"contact_id":"11454","stage_name":"deal_registered","force":false}
[2026-04-29 17:21:40] [INFO] Virtual stage successfully saved {"contact_id":"11454","stage_name":"deal_registered"}
[2026-04-29 17:21:40] [INFO] Virtual stage updated after activity save {"contact_id":"11454"}
[2026-04-29 17:21:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_6959f383bd4665.70878914","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-29 17:21:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f20cec676313.09681195","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69f20cec676313.09681195"}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:40] [INFO] Updating virtual stage {"contact_id":"11454","stage_name":"deal_registered","force":false}
[2026-04-29 17:21:40] [INFO] Virtual stage successfully saved {"contact_id":"11454","stage_name":"deal_registered"}
[2026-04-29 17:21:40] [INFO] Virtual stage updated after activity save {"contact_id":"11454"}
[2026-04-29 17:21:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11454","person_id":"4794"}
[2026-04-29 17:21:53] [INFO] Checking activity reminders 
[2026-04-29 17:21:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:21:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:21:55] [INFO] Checking activity reminders 
[2026-04-29 17:21:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:21:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:22:25] [INFO] Checking activity reminders 
[2026-04-29 17:22:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:22:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:22:55] [INFO] Checking activity reminders 
[2026-04-29 17:22:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:22:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:23:25] [INFO] Checking activity reminders 
[2026-04-29 17:23:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:23:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:23:55] [INFO] Checking activity reminders 
[2026-04-29 17:23:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:23:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:24:25] [INFO] Checking activity reminders 
[2026-04-29 17:24:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:24:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:24:55] [INFO] Checking activity reminders 
[2026-04-29 17:24:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:24:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:25:25] [INFO] Checking activity reminders 
[2026-04-29 17:25:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:25:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:25:56] [INFO] Checking activity reminders 
[2026-04-29 17:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:26:26] [INFO] Checking activity reminders 
[2026-04-29 17:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:26:56] [INFO] Checking activity reminders 
[2026-04-29 17:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:27:26] [INFO] Checking activity reminders 
[2026-04-29 17:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:27:56] [INFO] Checking activity reminders 
[2026-04-29 17:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:28:26] [INFO] Checking activity reminders 
[2026-04-29 17:28:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:28:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:28:56] [INFO] Checking activity reminders 
[2026-04-29 17:28:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:28:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:29:26] [INFO] Checking activity reminders 
[2026-04-29 17:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:29:56] [INFO] Checking activity reminders 
[2026-04-29 17:29:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:29:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:30:26] [INFO] Checking activity reminders 
[2026-04-29 17:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:30:56] [INFO] Checking activity reminders 
[2026-04-29 17:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:31:26] [INFO] Checking activity reminders 
[2026-04-29 17:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:31:57] [INFO] Checking activity reminders 
[2026-04-29 17:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:32:27] [INFO] Checking activity reminders 
[2026-04-29 17:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:32:57] [INFO] Checking activity reminders 
[2026-04-29 17:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:33:27] [INFO] Checking activity reminders 
[2026-04-29 17:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:33:57] [INFO] Checking activity reminders 
[2026-04-29 17:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:34:27] [INFO] Checking activity reminders 
[2026-04-29 17:34:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:34:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:34:57] [INFO] Checking activity reminders 
[2026-04-29 17:34:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:34:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:35:27] [INFO] Checking activity reminders 
[2026-04-29 17:35:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:35:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:35:57] [INFO] Checking activity reminders 
[2026-04-29 17:35:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:35:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:36:27] [INFO] Checking activity reminders 
[2026-04-29 17:36:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:36:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:36:58] [INFO] Checking activity reminders 
[2026-04-29 17:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:37:28] [INFO] Checking activity reminders 
[2026-04-29 17:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:37:58] [INFO] Checking activity reminders 
[2026-04-29 17:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:38:28] [INFO] Checking activity reminders 
[2026-04-29 17:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:38:58] [INFO] Checking activity reminders 
[2026-04-29 17:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:39:28] [INFO] Checking activity reminders 
[2026-04-29 17:39:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:39:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:39:58] [INFO] Checking activity reminders 
[2026-04-29 17:39:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:39:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:40:28] [INFO] Checking activity reminders 
[2026-04-29 17:40:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:40:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:40:58] [INFO] Checking activity reminders 
[2026-04-29 17:40:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:40:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:41:28] [INFO] Checking activity reminders 
[2026-04-29 17:41:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:41:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:41:58] [INFO] Checking activity reminders 
[2026-04-29 17:41:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:41:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:42:28] [INFO] Checking activity reminders 
[2026-04-29 17:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:42:59] [INFO] Checking activity reminders 
[2026-04-29 17:42:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:42:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:43:29] [INFO] Checking activity reminders 
[2026-04-29 17:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:43:59] [INFO] Checking activity reminders 
[2026-04-29 17:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:44:29] [INFO] Checking activity reminders 
[2026-04-29 17:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:44:59] [INFO] Checking activity reminders 
[2026-04-29 17:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:45:29] [INFO] Checking activity reminders 
[2026-04-29 17:45:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:45:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:45:59] [INFO] Checking activity reminders 
[2026-04-29 17:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:46:25] [INFO] Checking activity reminders 
[2026-04-29 17:46:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:46:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:46:31] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 17:46:31] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:46:31] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:46:38] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 17:46:38] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-29 17:46:38] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-29 17:46:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 17:46:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 17:46:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 17:46:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 17:46:55] [INFO] Checking activity reminders 
[2026-04-29 17:46:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:46:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:47:25] [INFO] Checking activity reminders 
[2026-04-29 17:47:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:47:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:47:55] [INFO] Checking activity reminders 
[2026-04-29 17:47:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:47:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:48:25] [INFO] Checking activity reminders 
[2026-04-29 17:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:48:55] [INFO] Checking activity reminders 
[2026-04-29 17:48:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:48:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:49:25] [INFO] Checking activity reminders 
[2026-04-29 17:49:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:49:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:49:56] [INFO] Checking activity reminders 
[2026-04-29 17:49:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:49:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:50:26] [INFO] Checking activity reminders 
[2026-04-29 17:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:50:56] [INFO] Checking activity reminders 
[2026-04-29 17:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:51:26] [INFO] Checking activity reminders 
[2026-04-29 17:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:51:56] [INFO] Checking activity reminders 
[2026-04-29 17:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:52:26] [INFO] Checking activity reminders 
[2026-04-29 17:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:52:26] [INFO] Checking activity reminders 
[2026-04-29 17:52:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:52:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:52:56] [INFO] Checking activity reminders 
[2026-04-29 17:52:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:52:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:53:26] [INFO] Checking activity reminders 
[2026-04-29 17:53:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:53:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:53:56] [INFO] Checking activity reminders 
[2026-04-29 17:53:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:53:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:54:26] [INFO] Checking activity reminders 
[2026-04-29 17:54:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:54:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:54:37] [INFO] Lead update received {"contact_id":"13407","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-29 17:54:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:54:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:54:37] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"13407"}
[2026-04-29 17:54:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:54:56] [INFO] Checking activity reminders 
[2026-04-29 17:54:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:54:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:55:26] [INFO] Checking activity reminders 
[2026-04-29 17:55:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:55:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:55:56] [INFO] Checking activity reminders 
[2026-04-29 17:55:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:55:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:56:27] [INFO] Checking activity reminders 
[2026-04-29 17:56:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:56:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:56:57] [INFO] Checking activity reminders 
[2026-04-29 17:56:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:56:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:57:27] [INFO] Checking activity reminders 
[2026-04-29 17:57:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:57:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:57:57] [INFO] Checking activity reminders 
[2026-04-29 17:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:58:27] [INFO] Checking activity reminders 
[2026-04-29 17:58:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:58:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:58:36] [INFO] Activity save request {"post_data":{"contact_id":"13407","deal_id":"local_69f1a9363ac6b0.60602828","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"30 ساله \r\n45 دقیقه مشاوره اموزشی برای هوش خودرو و کارشناسی \r\n3 یاله دنبال و تحقیق و بررسی \r\n1 ماهه در نمایشگاه دیگه کار کرده ولی هیچی عاید نشده \r\nخیلی مقاومت و منفی نگر هست \r\nاز مجموعه های دیگه میخواد سوال و تحقیق کنه \r\n از لایو های 403 استاد نوشته داره تا تمام پست ها \r\nبهش گفتم اخرین باری هست زمان میذارم \/ دیگه تصمیم با خودته ","activity_duration":"45","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:36] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-29 17:58:36] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:36] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13407","note_was_empty":true}
[2026-04-29 17:58:36] [INFO] Didar write disabled; saving activity locally {"contact_id":"13407","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:36] [INFO] Updating virtual stage {"contact_id":"13407","stage_name":"deal_registered","force":false}
[2026-04-29 17:58:36] [INFO] Virtual stage successfully saved {"contact_id":"13407","stage_name":"deal_registered"}
[2026-04-29 17:58:36] [INFO] Virtual stage updated after activity save {"contact_id":"13407"}
[2026-04-29 17:58:36] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a9363ac6b0.60602828","stage":"تماس پیگیری","status_change":null}
[2026-04-29 17:58:36] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f215946bc799.76685522","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:36] [INFO] Activity saved successfully {"activity_id":"local_activity_69f215946bc799.76685522"}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:36] [INFO] Updating virtual stage {"contact_id":"13407","stage_name":"deal_registered","force":false}
[2026-04-29 17:58:36] [INFO] Virtual stage successfully saved {"contact_id":"13407","stage_name":"deal_registered"}
[2026-04-29 17:58:36] [INFO] Virtual stage updated after activity save {"contact_id":"13407"}
[2026-04-29 17:58:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"هوش خودرو","contact_id":"13407","deal_id":"local_69f1a9363ac6b0.60602828","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-29 17:58:50","session_id":"levkhv6g08p3089aqj4rbmuh85"}
[2026-04-29 17:58:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"13407","is_new_deal":false}
[2026-04-29 17:58:50] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-29 17:58:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-29 17:58:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-29 17:58:50] [INFO] getContactPrimaryPhone called {"contact_id":"13407"}
[2026-04-29 17:58:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:50] [INFO] getContactPrimaryPhone result {"contact_id":"13407","person_found":true,"primary_phone":"9128983912"}
[2026-04-29 17:58:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128983912"}
[2026-04-29 17:58:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128983912","contact_id":"13407","deal_id":"local_69f1a9363ac6b0.60602828","is_new_deal":false,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 17:58:50"}
[2026-04-29 17:58:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","existing_deal_found":true,"existing_contact_id":"13407","existing_title":"معامله دوم 9128983912 | کارشناسی حضوری","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-29 17:58:50"}
[2026-04-29 17:58:50] [INFO] DealController.save validated payments {"deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","payments_count":0,"status":"pending","pipeline_stage":"تماس پیگیری"}
[2026-04-29 17:58:50] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"13407","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-29 17:58:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f1a9363ac6b0.60602828","contact_didar_id":"13407","title":"معامله دوم 9128983912 | هوش خودرو","base_title_used":"معامله دوم 9128983912","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"تماس پیگیری","status":"pending","payable_amount":7900000,"payment_amount":0,"payments_present":false,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمد طهرانی","existing_deal":"YES","existing_deal_id":"local_69f1a9363ac6b0.60602828","existing_deal_status":"Pending","server_time":"2026-04-29 17:58:50","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-29 17:58:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f1a9363ac6b0.60602828","contact_id":"13407","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله دوم 9128983912 | هوش خودرو","deal_status":"pending","pipeline_stage":"تماس پیگیری","payable_amount":7900000,"payment_amount":0,"server_time":"2026-04-29 17:58:50","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-29 17:58:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13407","person_id":"19726"}
[2026-04-29 17:58:53] [INFO] Checking activity reminders 
[2026-04-29 17:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 17:58:54] [INFO] Checking activity reminders 
[2026-04-29 17:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 17:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"get_dashboard_stats"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"check_reminders"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"get_leads"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"get_products"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:02] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:07] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:07] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:07] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"lookup_mobile"}
[2026-04-29 18:25:07] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:08] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:13] [WARNING] Auth check failed - not authenticated {"session_id":"qh8fo1qsta39hdsucc3rb715fe","session_keys":[],"action":"log_client_event"}
[2026-04-29 18:25:13] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-04-29 18:25:13] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 18:25:43] [INFO] Checking activity reminders 
[2026-04-29 18:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:26:13] [INFO] Checking activity reminders 
[2026-04-29 18:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:26:43] [INFO] Checking activity reminders 
[2026-04-29 18:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:27:13] [INFO] Checking activity reminders 
[2026-04-29 18:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:27:43] [INFO] Checking activity reminders 
[2026-04-29 18:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:28:13] [INFO] Checking activity reminders 
[2026-04-29 18:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:28:44] [INFO] Checking activity reminders 
[2026-04-29 18:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:29:14] [INFO] Checking activity reminders 
[2026-04-29 18:29:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:29:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 18:29:44] [INFO] Checking activity reminders 
[2026-04-29 18:29:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 18:29:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:23:39] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"check_reminders"}
[2026-04-29 20:23:39] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 20:23:39] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 20:23:45] [WARNING] Auth check failed - not authenticated {"session_id":"olufe90sdilb6502kt9d9kbobg","session_keys":[],"action":"log_client_event"}
[2026-04-29 20:23:45] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-29 20:23:45] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-29 20:23:46] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 20:23:46] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 20:23:46] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 20:23:46] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 20:23:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 20:24:43] [INFO] Checking activity reminders 
[2026-04-29 20:24:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:24:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:24:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-29 20:24:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-29 20:25:13] [INFO] Checking activity reminders 
[2026-04-29 20:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:26:41] [INFO] Checking activity reminders 
[2026-04-29 20:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:27:11] [INFO] Checking activity reminders 
[2026-04-29 20:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:27:41] [INFO] Checking activity reminders 
[2026-04-29 20:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:28:11] [INFO] Checking activity reminders 
[2026-04-29 20:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:28:41] [INFO] Checking activity reminders 
[2026-04-29 20:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:29:11] [INFO] Checking activity reminders 
[2026-04-29 20:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:29:41] [INFO] Checking activity reminders 
[2026-04-29 20:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:30:11] [INFO] Checking activity reminders 
[2026-04-29 20:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:30:41] [INFO] Checking activity reminders 
[2026-04-29 20:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:31:11] [INFO] Checking activity reminders 
[2026-04-29 20:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:31:42] [INFO] Checking activity reminders 
[2026-04-29 20:31:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:31:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:32:12] [INFO] Checking activity reminders 
[2026-04-29 20:32:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:32:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:32:42] [INFO] Checking activity reminders 
[2026-04-29 20:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:33:12] [INFO] Checking activity reminders 
[2026-04-29 20:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:33:42] [INFO] Checking activity reminders 
[2026-04-29 20:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:34:12] [INFO] Checking activity reminders 
[2026-04-29 20:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:34:42] [INFO] Checking activity reminders 
[2026-04-29 20:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:35:12] [INFO] Checking activity reminders 
[2026-04-29 20:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:35:43] [INFO] Checking activity reminders 
[2026-04-29 20:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:36:13] [INFO] Checking activity reminders 
[2026-04-29 20:36:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:36:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:36:43] [INFO] Checking activity reminders 
[2026-04-29 20:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:37:13] [INFO] Checking activity reminders 
[2026-04-29 20:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:37:43] [INFO] Checking activity reminders 
[2026-04-29 20:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:38:13] [INFO] Checking activity reminders 
[2026-04-29 20:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:38:44] [INFO] Checking activity reminders 
[2026-04-29 20:38:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:38:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:39:14] [INFO] Checking activity reminders 
[2026-04-29 20:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:39:44] [INFO] Checking activity reminders 
[2026-04-29 20:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:40:14] [INFO] Checking activity reminders 
[2026-04-29 20:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:40:44] [INFO] Checking activity reminders 
[2026-04-29 20:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:41:14] [INFO] Checking activity reminders 
[2026-04-29 20:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:41:44] [INFO] Checking activity reminders 
[2026-04-29 20:41:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:41:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:42:15] [INFO] Checking activity reminders 
[2026-04-29 20:42:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:42:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:42:46] [INFO] Checking activity reminders 
[2026-04-29 20:42:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:42:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:43:16] [INFO] Checking activity reminders 
[2026-04-29 20:43:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:43:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:43:46] [INFO] Checking activity reminders 
[2026-04-29 20:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:44:16] [INFO] Checking activity reminders 
[2026-04-29 20:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:44:46] [INFO] Checking activity reminders 
[2026-04-29 20:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:45:16] [INFO] Checking activity reminders 
[2026-04-29 20:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 20:46:25] [INFO] Checking activity reminders 
[2026-04-29 20:46:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 20:46:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 21:04:19] [INFO] Checking activity reminders 
[2026-04-29 21:04:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 21:04:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:05:08] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-29 23:05:08] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-04-29 23:05:08] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-04-29 23:05:09] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-29 23:05:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 23:05:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 23:05:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 23:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-29 23:05:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-29 23:05:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 23:05:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 23:05:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 23:05:39] [INFO] Checking activity reminders 
[2026-04-29 23:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:05:53] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-29 23:05:53] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-29 23:05:53] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-29 23:06:09] [INFO] Checking activity reminders 
[2026-04-29 23:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:06:39] [INFO] Checking activity reminders 
[2026-04-29 23:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:06:59] [INFO] Checking activity reminders 
[2026-04-29 23:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:21:45] [INFO] Checking activity reminders 
[2026-04-29 23:21:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:21:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:22:48] [INFO] Checking activity reminders 
[2026-04-29 23:22:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:22:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-29 23:25:07] [INFO] Checking activity reminders 
[2026-04-29 23:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-29 23:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 00:21:36] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"check_reminders"}
[2026-04-30 00:21:36] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:21:36] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:22:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:22:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"check_reminders"}
[2026-04-30 00:22:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:24:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:24:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"check_reminders"}
[2026-04-30 00:24:37] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:28:00] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"check_reminders"}
[2026-04-30 00:28:00] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 00:28:00] [WARNING] Auth check failed - not authenticated {"session_id":"jp9k3iustitsgkmtkmt11oojha","session_keys":[],"action":"log_client_event"}
[2026-04-30 07:50:19] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 07:50:19] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-30 07:50:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 07:50:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 07:50:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 07:50:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 07:54:50] [INFO] Checking activity reminders 
[2026-04-30 07:54:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:54:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:54:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-30 07:55:13] [INFO] Checking activity reminders 
[2026-04-30 07:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:56:43] [INFO] Checking activity reminders 
[2026-04-30 07:56:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:56:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:57:06] [INFO] Checking activity reminders 
[2026-04-30 07:57:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:57:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:58:21] [INFO] Checking activity reminders 
[2026-04-30 07:58:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:58:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:58:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9282","person_id":"19326"}
[2026-04-30 07:58:54] [INFO] Checking activity reminders 
[2026-04-30 07:58:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:58:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 07:59:20] [INFO] Checking activity reminders 
[2026-04-30 07:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 07:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:03:31] [INFO] Checking activity reminders 
[2026-04-30 08:03:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:03:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:04:05] [INFO] Checking activity reminders 
[2026-04-30 08:04:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:04:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:04:16] [INFO] Checking activity reminders 
[2026-04-30 08:04:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:04:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:04:46] [INFO] Checking activity reminders 
[2026-04-30 08:04:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:04:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:05:16] [INFO] Checking activity reminders 
[2026-04-30 08:05:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:05:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:05:46] [INFO] Checking activity reminders 
[2026-04-30 08:05:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:05:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:06:16] [INFO] Checking activity reminders 
[2026-04-30 08:06:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:06:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:06:46] [INFO] Checking activity reminders 
[2026-04-30 08:06:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:06:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:07:16] [INFO] Checking activity reminders 
[2026-04-30 08:07:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:07:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:07:46] [INFO] Checking activity reminders 
[2026-04-30 08:07:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:07:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:09:30] [INFO] Checking activity reminders 
[2026-04-30 08:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:10:04] [INFO] Checking activity reminders 
[2026-04-30 08:10:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:10:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:10:25] [INFO] Checking activity reminders 
[2026-04-30 08:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:10:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-30 08:11:50] [INFO] Checking activity reminders 
[2026-04-30 08:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:12:06] [INFO] Checking activity reminders 
[2026-04-30 08:12:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:12:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:12:22] [INFO] Checking activity reminders 
[2026-04-30 08:12:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:12:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:12:23] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-30 08:12:52] [INFO] Checking activity reminders 
[2026-04-30 08:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:15:25] [INFO] Checking activity reminders 
[2026-04-30 08:15:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:15:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:16:37] [INFO] Checking activity reminders 
[2026-04-30 08:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:16:55] [INFO] Checking activity reminders 
[2026-04-30 08:16:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:16:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:17:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-04-30 08:17:59] [INFO] Checking activity reminders 
[2026-04-30 08:17:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:17:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:18:06] [INFO] Checking activity reminders 
[2026-04-30 08:18:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:18:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:18:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 08:18:24] [INFO] Checking activity reminders 
[2026-04-30 08:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:18:27] [INFO] Checking activity reminders 
[2026-04-30 08:18:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:18:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:24:29] [INFO] Checking activity reminders 
[2026-04-30 08:24:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:24:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:24:33] [INFO] Checking activity reminders 
[2026-04-30 08:24:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:24:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:24:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16289","person_id":"13845"}
[2026-04-30 08:25:35] [INFO] Checking activity reminders 
[2026-04-30 08:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:29:07] [INFO] Checking activity reminders 
[2026-04-30 08:29:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:29:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:29:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21663","person_id":"6367"}
[2026-04-30 08:29:44] [INFO] Checking activity reminders 
[2026-04-30 08:29:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:29:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:30:10] [INFO] Checking activity reminders 
[2026-04-30 08:30:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:30:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:33:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 08:33:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 08:33:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 08:33:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 08:34:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 08:34:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 08:34:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 08:34:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 08:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-30 08:34:52] [INFO] Checking activity reminders 
[2026-04-30 08:34:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:34:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:35:07] [INFO] Checking activity reminders 
[2026-04-30 08:35:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:35:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:35:21] [INFO] Checking activity reminders 
[2026-04-30 08:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:35:36] [INFO] Checking activity reminders 
[2026-04-30 08:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:35:43] [INFO] Checking activity reminders 
[2026-04-30 08:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:35:58] [INFO] Checking activity reminders 
[2026-04-30 08:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:36:12] [INFO] Checking activity reminders 
[2026-04-30 08:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:36:56] [INFO] Checking activity reminders 
[2026-04-30 08:36:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:36:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:37:15] [INFO] Checking activity reminders 
[2026-04-30 08:37:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:37:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:37:26] [INFO] Checking activity reminders 
[2026-04-30 08:37:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:37:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:37:32] [INFO] Checking activity reminders 
[2026-04-30 08:37:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:37:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:38:29] [INFO] Checking activity reminders 
[2026-04-30 08:38:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:38:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:38:39] [INFO] Checking activity reminders 
[2026-04-30 08:38:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:38:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:39:43] [INFO] Checking activity reminders 
[2026-04-30 08:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:39:46] [INFO] Checking activity reminders 
[2026-04-30 08:39:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:39:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:39:51] [INFO] Checking activity reminders 
[2026-04-30 08:39:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:39:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:40:41] [INFO] Checking activity reminders 
[2026-04-30 08:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:41:02] [INFO] Checking activity reminders 
[2026-04-30 08:41:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:41:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:41:34] [INFO] Checking activity reminders 
[2026-04-30 08:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:42:23] [INFO] Checking activity reminders 
[2026-04-30 08:42:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:42:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:42:57] [INFO] Checking activity reminders 
[2026-04-30 08:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:43:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21132","person_id":"19489"}
[2026-04-30 08:43:19] [INFO] Checking activity reminders 
[2026-04-30 08:43:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:43:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:43:34] [INFO] Checking activity reminders 
[2026-04-30 08:43:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:43:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:43:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16237","person_id":"12486"}
[2026-04-30 08:43:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8552","person_id":"10778"}
[2026-04-30 08:43:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7062","person_id":"15200"}
[2026-04-30 08:43:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5596","person_id":"8762"}
[2026-04-30 08:44:04] [INFO] Checking activity reminders 
[2026-04-30 08:44:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:44:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:44:22] [INFO] Checking activity reminders 
[2026-04-30 08:44:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:44:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:48:26] [INFO] Checking activity reminders 
[2026-04-30 08:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:50:52] [INFO] Checking activity reminders 
[2026-04-30 08:50:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:50:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:51:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"795","person_id":"16322"}
[2026-04-30 08:51:20] [INFO] Checking activity reminders 
[2026-04-30 08:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:51:50] [INFO] Checking activity reminders 
[2026-04-30 08:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:52:06] [INFO] Checking activity reminders 
[2026-04-30 08:52:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:52:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:52:59] [INFO] Checking activity reminders 
[2026-04-30 08:52:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:52:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:53:11] [INFO] Checking activity reminders 
[2026-04-30 08:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:53:59] [INFO] Checking activity reminders 
[2026-04-30 08:53:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:53:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:54:04] [INFO] Checking activity reminders 
[2026-04-30 08:54:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:54:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:54:46] [INFO] Checking activity reminders 
[2026-04-30 08:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:54:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14544","person_id":"15354"}
[2026-04-30 08:55:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9647","person_id":"15197"}
[2026-04-30 08:55:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2925","person_id":"3659"}
[2026-04-30 08:55:16] [INFO] Checking activity reminders 
[2026-04-30 08:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:55:23] [INFO] Checking activity reminders 
[2026-04-30 08:55:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:55:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:56:00] [INFO] Checking activity reminders 
[2026-04-30 08:56:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:56:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:56:17] [INFO] Checking activity reminders 
[2026-04-30 08:56:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:56:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:56:34] [INFO] Checking activity reminders 
[2026-04-30 08:56:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:56:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 08:57:08] [INFO] Checking activity reminders 
[2026-04-30 08:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 08:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:02:06] [INFO] Checking activity reminders 
[2026-04-30 09:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:02:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13827","person_id":"5385"}
[2026-04-30 09:02:31] [INFO] Checking activity reminders 
[2026-04-30 09:02:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:02:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:03:20] [INFO] Checking activity reminders 
[2026-04-30 09:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:04:39] [INFO] Checking activity reminders 
[2026-04-30 09:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:04:50] [INFO] Checking activity reminders 
[2026-04-30 09:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:16:43] [INFO] Checking activity reminders 
[2026-04-30 09:16:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:16:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:37:47] [WARNING] Auth check failed - not authenticated {"session_id":"6irrtms5mpt329rdakudhiejdk","session_keys":[],"action":"log_client_event"}
[2026-04-30 09:37:48] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-30 09:37:48] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 09:38:18] [INFO] Checking activity reminders 
[2026-04-30 09:38:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:38:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:38:48] [INFO] Checking activity reminders 
[2026-04-30 09:38:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:38:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:39:18] [INFO] Checking activity reminders 
[2026-04-30 09:39:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:39:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:39:48] [INFO] Checking activity reminders 
[2026-04-30 09:39:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:39:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:40:18] [INFO] Checking activity reminders 
[2026-04-30 09:40:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:40:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:40:48] [INFO] Checking activity reminders 
[2026-04-30 09:40:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:40:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:41:18] [INFO] Checking activity reminders 
[2026-04-30 09:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:41:48] [INFO] Checking activity reminders 
[2026-04-30 09:41:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:41:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:42:18] [INFO] Checking activity reminders 
[2026-04-30 09:42:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:42:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:42:49] [INFO] Checking activity reminders 
[2026-04-30 09:42:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:42:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:43:19] [INFO] Checking activity reminders 
[2026-04-30 09:43:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:43:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:43:49] [INFO] Checking activity reminders 
[2026-04-30 09:43:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:43:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:44:19] [INFO] Checking activity reminders 
[2026-04-30 09:44:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:44:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:44:49] [INFO] Checking activity reminders 
[2026-04-30 09:44:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:44:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:45:19] [INFO] Checking activity reminders 
[2026-04-30 09:45:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:45:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:45:49] [INFO] Checking activity reminders 
[2026-04-30 09:45:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:45:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:46:19] [INFO] Checking activity reminders 
[2026-04-30 09:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:46:50] [INFO] Checking activity reminders 
[2026-04-30 09:46:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:46:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:47:20] [INFO] Checking activity reminders 
[2026-04-30 09:47:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:47:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:47:50] [INFO] Checking activity reminders 
[2026-04-30 09:47:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:47:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:48:20] [INFO] Checking activity reminders 
[2026-04-30 09:48:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:48:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:48:50] [INFO] Checking activity reminders 
[2026-04-30 09:48:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:48:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:49:20] [INFO] Checking activity reminders 
[2026-04-30 09:49:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:49:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:49:50] [INFO] Checking activity reminders 
[2026-04-30 09:49:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:49:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:50:20] [INFO] Checking activity reminders 
[2026-04-30 09:50:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:50:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:50:50] [INFO] Checking activity reminders 
[2026-04-30 09:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:51:20] [INFO] Checking activity reminders 
[2026-04-30 09:51:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:51:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:51:50] [INFO] Checking activity reminders 
[2026-04-30 09:51:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:51:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:52:20] [INFO] Checking activity reminders 
[2026-04-30 09:52:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:52:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:52:50] [INFO] Checking activity reminders 
[2026-04-30 09:52:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:52:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:53:20] [INFO] Checking activity reminders 
[2026-04-30 09:53:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:53:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:53:51] [INFO] Checking activity reminders 
[2026-04-30 09:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:54:06] [WARNING] Auth check failed - not authenticated {"session_id":"78afjctikklscicfepv6159vdm","session_keys":[],"action":"log_client_event"}
[2026-04-30 09:54:06] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-04-30 09:54:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 09:54:21] [INFO] Checking activity reminders 
[2026-04-30 09:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:54:36] [INFO] Checking activity reminders 
[2026-04-30 09:54:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:54:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:54:51] [INFO] Checking activity reminders 
[2026-04-30 09:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:55:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-30 09:55:06] [INFO] Checking activity reminders 
[2026-04-30 09:55:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:55:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:55:21] [INFO] Checking activity reminders 
[2026-04-30 09:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:55:36] [INFO] Checking activity reminders 
[2026-04-30 09:55:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:55:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:55:51] [INFO] Checking activity reminders 
[2026-04-30 09:55:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:55:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:55:55] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 09:55:55","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 09:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-30 09:55:55] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"995","is_new_deal":false}
[2026-04-30 09:55:55] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 09:55:55] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 09:55:55] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 09:55:55] [INFO] getContactPrimaryPhone called {"contact_id":"995"}
[2026-04-30 09:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-30 09:55:55] [INFO] getContactPrimaryPhone result {"contact_id":"995","person_found":true,"primary_phone":"9138966354"}
[2026-04-30 09:55:55] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9138966354"}
[2026-04-30 09:55:55] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9138966354","contact_id":"995","deal_id":"local_69493e8705f8e4.10240645","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 09:55:55"}
[2026-04-30 09:55:55] [INFO] DealController.save existing deal lookup {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","existing_deal_found":true,"existing_contact_id":"995","existing_title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 09:55:55"}
[2026-04-30 09:55:55] [INFO] DealController.save validated payments {"deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 09:55:55] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"995","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 09:55:55] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69493e8705f8e4.10240645","contact_didar_id":"995","title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9138966354","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":55000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"مهدی ابراهیمی","existing_deal":"YES","existing_deal_id":"local_69493e8705f8e4.10240645","existing_deal_status":"Pending","server_time":"2026-04-30 09:55:55","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 09:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-30 09:55:55] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69493e8705f8e4.10240645","contact_id":"995","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله اول 9138966354 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":55000000,"server_time":"2026-04-30 09:55:55","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 09:55:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-04-30 09:56:06] [INFO] Checking activity reminders 
[2026-04-30 09:56:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:56:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:56:21] [INFO] Checking activity reminders 
[2026-04-30 09:56:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:56:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:56:37] [INFO] Checking activity reminders 
[2026-04-30 09:56:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:56:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:56:51] [INFO] Checking activity reminders 
[2026-04-30 09:56:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:56:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:57:07] [INFO] Checking activity reminders 
[2026-04-30 09:57:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:57:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:57:21] [INFO] Checking activity reminders 
[2026-04-30 09:57:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:57:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:57:37] [INFO] Checking activity reminders 
[2026-04-30 09:57:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:57:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:57:51] [INFO] Checking activity reminders 
[2026-04-30 09:57:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:57:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:58:06] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-30 09:58:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 09:58:07] [INFO] Checking activity reminders 
[2026-04-30 09:58:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:58:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:58:36] [INFO] Checking activity reminders 
[2026-04-30 09:58:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:58:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:58:37] [INFO] Checking activity reminders 
[2026-04-30 09:58:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:58:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:59:08] [INFO] Checking activity reminders 
[2026-04-30 09:59:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:59:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 09:59:38] [INFO] Checking activity reminders 
[2026-04-30 09:59:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 09:59:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:00:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:00:08] [INFO] Checking activity reminders 
[2026-04-30 10:00:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:00:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:00:38] [INFO] Checking activity reminders 
[2026-04-30 10:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:01:03] [INFO] Checking activity reminders 
[2026-04-30 10:01:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:01:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:01:09] [INFO] Checking activity reminders 
[2026-04-30 10:01:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:01:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:01:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:01:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:01:33] [INFO] Checking activity reminders 
[2026-04-30 10:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:01:39] [INFO] Checking activity reminders 
[2026-04-30 10:01:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:01:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:02:09] [INFO] Checking activity reminders 
[2026-04-30 10:02:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:02:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:02:39] [INFO] Checking activity reminders 
[2026-04-30 10:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:03:09] [INFO] Checking activity reminders 
[2026-04-30 10:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:03:39] [INFO] Checking activity reminders 
[2026-04-30 10:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:04:09] [INFO] Checking activity reminders 
[2026-04-30 10:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:04:29] [INFO] Checking activity reminders 
[2026-04-30 10:04:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:04:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:04:39] [INFO] Checking activity reminders 
[2026-04-30 10:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:05:09] [INFO] Checking activity reminders 
[2026-04-30 10:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:05:12] [INFO] Checking activity reminders 
[2026-04-30 10:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:05:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:05:39] [INFO] Checking activity reminders 
[2026-04-30 10:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:05:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:05:39] [INFO] generateDealTitle result {"contact_id":"12683","person_name":"همایون راد","mobile":"9120221172","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9120221172"}
[2026-04-30 10:05:42] [INFO] Checking activity reminders 
[2026-04-30 10:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:06:09] [INFO] Checking activity reminders 
[2026-04-30 10:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:06:12] [INFO] Checking activity reminders 
[2026-04-30 10:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:06:39] [INFO] Checking activity reminders 
[2026-04-30 10:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:06:50] [INFO] Checking activity reminders 
[2026-04-30 10:06:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:06:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:07:09] [INFO] Checking activity reminders 
[2026-04-30 10:07:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:07:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:07:16] [INFO] DealController.save start {"is_new":true,"incoming_title":"CIP 300","contact_id":"12683","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 10:07:16","session_id":"6irrtms5mpt329rdakudhiejdk"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"12683","is_new_deal":true}
[2026-04-30 10:07:16] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-04-30 10:07:16] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-04-30 10:07:16] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-04-30 10:07:16] [INFO] getContactPrimaryPhone called {"contact_id":"12683"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [INFO] getContactPrimaryPhone result {"contact_id":"12683","person_found":true,"primary_phone":"9120221172"}
[2026-04-30 10:07:16] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9120221172"}
[2026-04-30 10:07:16] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9120221172","contact_id":"12683","deal_id":"","is_new_deal":true,"incoming_title":"CIP 300","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 10:07:16"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [INFO] generateDealTitle result {"contact_id":"12683","person_name":"همایون راد","mobile":"9120221172","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9120221172"}
[2026-04-30 10:07:16] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"12683","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-30 10:07:16] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12683","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 10:07:16] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"12683","title":"معامله چهارم 9120221172 | CIP 300","base_title_used":"معامله چهارم 9120221172","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":300000000,"payment_amount":300000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"همایون راد","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-30 10:07:16","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [INFO] Deal success processed {"contact_id":"12683","person_name":"همایون راد","products_count":1}
[2026-04-30 10:07:16] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-30 10:07:16] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"12683","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله چهارم 9120221172 | CIP 300","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":300000000,"payment_amount":300000000,"server_time":"2026-04-30 10:07:16","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:16] [INFO] Updating virtual stage {"contact_id":"12683","stage_name":"with_purchase","force":true}
[2026-04-30 10:07:16] [INFO] Virtual stage successfully saved {"contact_id":"12683","stage_name":"with_purchase"}
[2026-04-30 10:07:16] [INFO] Moved contact out of kariz after successful deal {"contact_id":"12683","deal_id":"","target_stage":"with_purchase"}
[2026-04-30 10:07:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12683","person_id":"10534"}
[2026-04-30 10:07:21] [INFO] Checking activity reminders 
[2026-04-30 10:07:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:07:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:07:40] [INFO] Checking activity reminders 
[2026-04-30 10:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:07:51] [INFO] Checking activity reminders 
[2026-04-30 10:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:08:10] [INFO] Checking activity reminders 
[2026-04-30 10:08:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:08:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:08:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:21] [INFO] Checking activity reminders 
[2026-04-30 10:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:08:27] [INFO] Activity save request {"post_data":{"contact_id":"5575","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"دیشب پیام داد بعد تلفنی صحبت کردیم گفت میخوام تمدیدی کنم در جریا باشین \/ بردبار گفته توانا پشتیبانه کارو من پیش میبرم\/\r\nگفتم ایشون همکارمون هستن پشتیبان مجموعه و تجربه کار بورسی دارن \r\nمن مشاور اموزشیتون هستم کار ثبت نام و رضایت نارضایتی پیگیری کاراتون با من هست \r\nدر نهایت ارسال ش شبا شنبه به تارگت برسه تمدید کنه 2ت برمیداره برای بازار دیگه 2ت میمونه 200 کارمزد","activity_duration":"30","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:08:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"5575","note_was_empty":true}
[2026-04-30 10:08:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"5575","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 10:08:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2f8e316e1b5.22343663","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2f8e316e1b5.22343663"}
[2026-04-30 10:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:27] [INFO] Updating virtual stage {"contact_id":"5575","stage_name":"deal_registered","force":false}
[2026-04-30 10:08:27] [INFO] Virtual stage successfully saved {"contact_id":"5575","stage_name":"deal_registered"}
[2026-04-30 10:08:27] [INFO] Virtual stage updated after activity save {"contact_id":"5575"}
[2026-04-30 10:08:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5575","person_id":"12707"}
[2026-04-30 10:08:36] [INFO] Checking activity reminders 
[2026-04-30 10:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:08:40] [INFO] Checking activity reminders 
[2026-04-30 10:08:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:08:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:08:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:08:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:09:06] [INFO] Checking activity reminders 
[2026-04-30 10:09:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:09:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:09:10] [INFO] Checking activity reminders 
[2026-04-30 10:09:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:09:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:09:36] [INFO] Checking activity reminders 
[2026-04-30 10:09:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:09:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:09:40] [INFO] Checking activity reminders 
[2026-04-30 10:09:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:09:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:10:06] [INFO] Checking activity reminders 
[2026-04-30 10:10:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:10:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:10:10] [INFO] Checking activity reminders 
[2026-04-30 10:10:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:10:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:10:36] [INFO] Checking activity reminders 
[2026-04-30 10:10:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:10:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:10:40] [INFO] Checking activity reminders 
[2026-04-30 10:10:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:10:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:11:07] [INFO] Checking activity reminders 
[2026-04-30 10:11:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:11:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:11:10] [INFO] Checking activity reminders 
[2026-04-30 10:11:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:11:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:11:31] [INFO] Activity save request {"post_data":{"contact_id":"3068","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"برای سود دهی صندوق ها بهش دید دادم الان تو سوده صبر کنه سود بیشتر ","activity_duration":"20","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:11:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"3068","note_was_empty":true}
[2026-04-30 10:11:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"3068","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 10:11:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2f99b1f4a62.04312277","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2f99b1f4a62.04312277"}
[2026-04-30 10:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:31] [INFO] Updating virtual stage {"contact_id":"3068","stage_name":"with_purchase","force":false}
[2026-04-30 10:11:31] [INFO] Virtual stage successfully saved {"contact_id":"3068","stage_name":"with_purchase"}
[2026-04-30 10:11:31] [INFO] Virtual stage updated after activity save {"contact_id":"3068"}
[2026-04-30 10:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3068","person_id":"2371"}
[2026-04-30 10:11:37] [INFO] Checking activity reminders 
[2026-04-30 10:11:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:11:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:11:40] [INFO] Checking activity reminders 
[2026-04-30 10:11:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:11:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:12:07] [INFO] Checking activity reminders 
[2026-04-30 10:12:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:12:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:12:10] [INFO] Checking activity reminders 
[2026-04-30 10:12:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:12:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:12:37] [INFO] Checking activity reminders 
[2026-04-30 10:12:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:12:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:12:41] [INFO] Checking activity reminders 
[2026-04-30 10:12:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:12:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:13:07] [INFO] Checking activity reminders 
[2026-04-30 10:13:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:13:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:13:11] [INFO] Checking activity reminders 
[2026-04-30 10:13:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:13:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:13:37] [INFO] Checking activity reminders 
[2026-04-30 10:13:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:13:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:13:41] [INFO] Checking activity reminders 
[2026-04-30 10:13:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:13:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:14:07] [INFO] Checking activity reminders 
[2026-04-30 10:14:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:14:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:14:11] [INFO] Checking activity reminders 
[2026-04-30 10:14:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:14:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:14:37] [INFO] Checking activity reminders 
[2026-04-30 10:14:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:14:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:14:41] [INFO] Checking activity reminders 
[2026-04-30 10:14:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:14:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:15:07] [INFO] Checking activity reminders 
[2026-04-30 10:15:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:15:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:15:11] [INFO] Checking activity reminders 
[2026-04-30 10:15:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:15:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:15:37] [INFO] Checking activity reminders 
[2026-04-30 10:15:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:15:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:15:41] [INFO] Checking activity reminders 
[2026-04-30 10:15:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:15:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:15:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"check_reminders"}
[2026-04-30 10:15:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:15:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:15:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:16:07] [INFO] Checking activity reminders 
[2026-04-30 10:16:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:16:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:16:11] [INFO] Checking activity reminders 
[2026-04-30 10:16:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:16:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:16:37] [INFO] Checking activity reminders 
[2026-04-30 10:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:16:41] [INFO] Checking activity reminders 
[2026-04-30 10:16:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:16:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:16:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:16:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"check_reminders"}
[2026-04-30 10:16:42] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:17:08] [INFO] Checking activity reminders 
[2026-04-30 10:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:17:11] [INFO] Checking activity reminders 
[2026-04-30 10:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:17:13] [INFO] Activity save request {"post_data":{"contact_id":"6812","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"چک مشتری عودت و ارسال به دفتر اقای عابدی \r\nمبلغ چک نقدی پرداخت و در میزیتو ارسال شد ","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:17:13] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:17:13] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:17:13] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6812","note_was_empty":true}
[2026-04-30 10:17:13] [INFO] Didar write disabled; saving activity locally {"contact_id":"6812","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 10:17:13] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2faf14055e3.95163740","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:17:13] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2faf14055e3.95163740"}
[2026-04-30 10:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:17:13] [INFO] Updating virtual stage {"contact_id":"6812","stage_name":"with_purchase","force":false}
[2026-04-30 10:17:13] [INFO] Virtual stage successfully saved {"contact_id":"6812","stage_name":"with_purchase"}
[2026-04-30 10:17:13] [INFO] Virtual stage updated after activity save {"contact_id":"6812"}
[2026-04-30 10:17:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6812","person_id":"12113"}
[2026-04-30 10:17:38] [INFO] Checking activity reminders 
[2026-04-30 10:17:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:17:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:17:41] [INFO] Checking activity reminders 
[2026-04-30 10:17:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:17:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:18:08] [INFO] Checking activity reminders 
[2026-04-30 10:18:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:18:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:18:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:18:11] [INFO] Checking activity reminders 
[2026-04-30 10:18:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:18:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:18:38] [INFO] Checking activity reminders 
[2026-04-30 10:18:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:18:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:18:41] [INFO] Checking activity reminders 
[2026-04-30 10:18:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:18:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"check_reminders"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:18:49] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:19:03] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 10:19:03","session_id":"6irrtms5mpt329rdakudhiejdk"}
[2026-04-30 10:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:19:03] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"985","is_new_deal":false}
[2026-04-30 10:19:03] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 10:19:03] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 10:19:03] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 10:19:03] [INFO] getContactPrimaryPhone called {"contact_id":"985"}
[2026-04-30 10:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:19:03] [INFO] getContactPrimaryPhone result {"contact_id":"985","person_found":true,"primary_phone":"9128311189"}
[2026-04-30 10:19:03] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128311189"}
[2026-04-30 10:19:03] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128311189","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 10:19:03"}
[2026-04-30 10:19:03] [INFO] DealController.save existing deal lookup {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","existing_deal_found":true,"existing_contact_id":"985","existing_title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 10:19:03"}
[2026-04-30 10:19:03] [INFO] DealController.save validated payments {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 10:19:03] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"985","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 10:19:03] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69495ab57cc433.38025613","contact_didar_id":"985","title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9128311189","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":40000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مشیری","existing_deal":"YES","existing_deal_id":"local_69495ab57cc433.38025613","existing_deal_status":"Pending","server_time":"2026-04-30 10:19:03","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 10:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:19:03] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69495ab57cc433.38025613","contact_id":"985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":40000000,"server_time":"2026-04-30 10:19:03","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 10:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:19:08] [INFO] Checking activity reminders 
[2026-04-30 10:19:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:19:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:19:12] [INFO] Checking activity reminders 
[2026-04-30 10:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:19:38] [INFO] Checking activity reminders 
[2026-04-30 10:19:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:19:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:19:42] [INFO] Checking activity reminders 
[2026-04-30 10:19:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:19:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:20:02] [INFO] Activity save request {"post_data":{"contact_id":"985","deal_id":"local_69495ab57cc433.38025613","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"خانمش تماس گرفت گفت خودش در بازداشتگاه \r\nفعلا شرایط تماس و صحبت نداره فقط مبلغ واریز 14 م بدون پشتیبانی \r\nتسویه 54 ","activity_duration":"3","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:02] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:20:02] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:02] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"985","note_was_empty":true}
[2026-04-30 10:20:02] [INFO] Didar write disabled; saving activity locally {"contact_id":"985","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:02] [INFO] Updating virtual stage {"contact_id":"985","stage_name":"deal_registered","force":false}
[2026-04-30 10:20:02] [INFO] Virtual stage successfully saved {"contact_id":"985","stage_name":"deal_registered"}
[2026-04-30 10:20:02] [INFO] Virtual stage updated after activity save {"contact_id":"985"}
[2026-04-30 10:20:02] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69495ab57cc433.38025613","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-30 10:20:02] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2fb9aeced62.80111118","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:02] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2fb9aeced62.80111118"}
[2026-04-30 10:20:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:02] [INFO] Updating virtual stage {"contact_id":"985","stage_name":"deal_registered","force":false}
[2026-04-30 10:20:02] [INFO] Virtual stage successfully saved {"contact_id":"985","stage_name":"deal_registered"}
[2026-04-30 10:20:02] [INFO] Virtual stage updated after activity save {"contact_id":"985"}
[2026-04-30 10:20:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:20:08] [INFO] Checking activity reminders 
[2026-04-30 10:20:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:20:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:20:12] [INFO] Checking activity reminders 
[2026-04-30 10:20:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:20:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:20:38] [INFO] Checking activity reminders 
[2026-04-30 10:20:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:20:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:20:42] [INFO] Checking activity reminders 
[2026-04-30 10:20:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:20:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:21:08] [INFO] Checking activity reminders 
[2026-04-30 10:21:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:21:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:21:12] [INFO] Checking activity reminders 
[2026-04-30 10:21:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:21:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:21:42] [INFO] Checking activity reminders 
[2026-04-30 10:21:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:21:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:22:05] [INFO] Lead update received {"contact_id":"local_69f1d46d996615.02406438","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 10:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:05] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f1d46d996615.02406438"}
[2026-04-30 10:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:12] [INFO] Checking activity reminders 
[2026-04-30 10:22:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:22:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:22:23] [INFO] Checking activity reminders 
[2026-04-30 10:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:22:42] [INFO] Checking activity reminders 
[2026-04-30 10:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:22:53] [INFO] Checking activity reminders 
[2026-04-30 10:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:22:55] [INFO] Activity save request {"post_data":{"contact_id":"local_69f1d46d996615.02406438","deal_id":"local_69f1d46d9aa20","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت ساعت 15 تماس","activity_duration":"5","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:22:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f1d46d996615.02406438","note_was_empty":true}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:55] [INFO] Updating virtual stage {"contact_id":"local_69f1d46d996615.02406438","stage_name":"new","force":false}
[2026-04-30 10:22:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1d46d996615.02406438","stage_name":"new"}
[2026-04-30 10:22:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1d46d996615.02406438"}
[2026-04-30 10:22:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1d46d9aa20","stage":"تماس پیگیری","status_change":null}
[2026-04-30 10:22:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2fc4715f217.66886644","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2fc4715f217.66886644"}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:55] [INFO] Updating virtual stage {"contact_id":"local_69f1d46d996615.02406438","stage_name":"deal_registered","force":false}
[2026-04-30 10:22:55] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1d46d996615.02406438","stage_name":"deal_registered"}
[2026-04-30 10:22:55] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1d46d996615.02406438"}
[2026-04-30 10:22:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d46d996615.02406438","person_id":"22443"}
[2026-04-30 10:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:22:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:23:12] [INFO] Checking activity reminders 
[2026-04-30 10:23:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:23:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:23:23] [INFO] Checking activity reminders 
[2026-04-30 10:23:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:23:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:23:42] [INFO] Checking activity reminders 
[2026-04-30 10:23:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:23:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:23:53] [INFO] Checking activity reminders 
[2026-04-30 10:23:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:23:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:24:12] [INFO] Checking activity reminders 
[2026-04-30 10:24:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:24:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:24:23] [INFO] Checking activity reminders 
[2026-04-30 10:24:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:24:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:24:42] [INFO] Checking activity reminders 
[2026-04-30 10:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:24:52] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 10:24:52","session_id":"6irrtms5mpt329rdakudhiejdk"}
[2026-04-30 10:24:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:24:52] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"985","is_new_deal":false}
[2026-04-30 10:24:52] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 10:24:52] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 10:24:52] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 10:24:52] [INFO] getContactPrimaryPhone called {"contact_id":"985"}
[2026-04-30 10:24:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:24:52] [INFO] getContactPrimaryPhone result {"contact_id":"985","person_found":true,"primary_phone":"9128311189"}
[2026-04-30 10:24:52] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128311189"}
[2026-04-30 10:24:52] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128311189","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 10:24:52"}
[2026-04-30 10:24:52] [INFO] DealController.save existing deal lookup {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","existing_deal_found":true,"existing_contact_id":"985","existing_title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 10:24:52"}
[2026-04-30 10:24:52] [INFO] DealController.save validated payments {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 10:24:52] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"985","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 10:24:52] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69495ab57cc433.38025613","contact_didar_id":"985","title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9128311189","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مشیری","existing_deal":"YES","existing_deal_id":"local_69495ab57cc433.38025613","existing_deal_status":"Pending","server_time":"2026-04-30 10:24:52","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 10:24:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:24:52] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69495ab57cc433.38025613","contact_id":"985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":54000000,"server_time":"2026-04-30 10:24:52","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 10:24:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 10:24:53] [INFO] Checking activity reminders 
[2026-04-30 10:24:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:24:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:25:12] [INFO] Checking activity reminders 
[2026-04-30 10:25:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:25:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:25:23] [INFO] Checking activity reminders 
[2026-04-30 10:25:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:25:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:25:43] [INFO] Checking activity reminders 
[2026-04-30 10:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:25:54] [INFO] Checking activity reminders 
[2026-04-30 10:25:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:25:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:26:05] [INFO] Lead update received {"contact_id":"local_69f1d423d33ad0.79574580","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 10:26:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:26:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:26:05] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f1d423d33ad0.79574580"}
[2026-04-30 10:26:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:26:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:26:13] [INFO] Checking activity reminders 
[2026-04-30 10:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:26:43] [INFO] Checking activity reminders 
[2026-04-30 10:26:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:26:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:27:13] [INFO] Checking activity reminders 
[2026-04-30 10:27:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:27:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:27:43] [INFO] Checking activity reminders 
[2026-04-30 10:27:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:27:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:28:11] [INFO] Checking activity reminders 
[2026-04-30 10:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:28:13] [INFO] Checking activity reminders 
[2026-04-30 10:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:28:41] [INFO] Checking activity reminders 
[2026-04-30 10:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:28:43] [INFO] Checking activity reminders 
[2026-04-30 10:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:29:11] [INFO] Checking activity reminders 
[2026-04-30 10:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:29:13] [INFO] Checking activity reminders 
[2026-04-30 10:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:29:41] [INFO] Checking activity reminders 
[2026-04-30 10:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:29:43] [INFO] Checking activity reminders 
[2026-04-30 10:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:30:11] [INFO] Checking activity reminders 
[2026-04-30 10:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:30:13] [INFO] Checking activity reminders 
[2026-04-30 10:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:30:41] [INFO] Checking activity reminders 
[2026-04-30 10:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:30:44] [INFO] Checking activity reminders 
[2026-04-30 10:30:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:30:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:31:11] [INFO] Checking activity reminders 
[2026-04-30 10:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:31:14] [INFO] Checking activity reminders 
[2026-04-30 10:31:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:31:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:31:14] [INFO] Activity save request {"post_data":{"contact_id":"local_69f1d423d33ad0.79574580","deal_id":"local_69f1d423d8772","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"طلا و نقره صندوق بورسی \r\n100 ت \r\nبی پول \r\nمناسبش نیست \/","activity_duration":"15","direction":"outgoing","current_stage":"معامله جدید","pipeline_stage":"ناموفق","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"no_financial_ability","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:31:14] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f1d423d33ad0.79574580","note_was_empty":true}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Updating virtual stage {"contact_id":"local_69f1d423d33ad0.79574580","stage_name":"new","force":false}
[2026-04-30 10:31:14] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1d423d33ad0.79574580","stage_name":"new"}
[2026-04-30 10:31:14] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1d423d33ad0.79574580"}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1d423d8772","stage":"معامله ناموفق","status_change":"Lost"}
[2026-04-30 10:31:14] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2fe3adb2a73.21116208","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2fe3adb2a73.21116208"}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:14] [INFO] Updating virtual stage {"contact_id":"local_69f1d423d33ad0.79574580","stage_name":"deal_registered","force":false}
[2026-04-30 10:31:14] [INFO] Virtual stage successfully saved {"contact_id":"local_69f1d423d33ad0.79574580","stage_name":"deal_registered"}
[2026-04-30 10:31:14] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f1d423d33ad0.79574580"}
[2026-04-30 10:31:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f1d423d33ad0.79574580","person_id":"22442"}
[2026-04-30 10:31:41] [INFO] Checking activity reminders 
[2026-04-30 10:31:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:31:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:31:44] [INFO] Checking activity reminders 
[2026-04-30 10:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:32:11] [INFO] Checking activity reminders 
[2026-04-30 10:32:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:32:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:32:14] [INFO] Checking activity reminders 
[2026-04-30 10:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:32:41] [INFO] Checking activity reminders 
[2026-04-30 10:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:32:44] [INFO] Checking activity reminders 
[2026-04-30 10:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:33:11] [INFO] Checking activity reminders 
[2026-04-30 10:33:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:33:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:33:14] [INFO] Checking activity reminders 
[2026-04-30 10:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:33:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:33:41] [INFO] Checking activity reminders 
[2026-04-30 10:33:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:33:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:33:44] [INFO] Checking activity reminders 
[2026-04-30 10:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:34:04] [INFO] Activity save request {"post_data":{"contact_id":"7001","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"پشتیبانی کانال","activity_duration":"20","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:34:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:34:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:34:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"7001","note_was_empty":true}
[2026-04-30 10:34:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"7001","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 10:34:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f2fee4adbf15.73131218","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:34:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69f2fee4adbf15.73131218"}
[2026-04-30 10:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:34:04] [INFO] Updating virtual stage {"contact_id":"7001","stage_name":"with_purchase","force":false}
[2026-04-30 10:34:04] [INFO] Virtual stage successfully saved {"contact_id":"7001","stage_name":"with_purchase"}
[2026-04-30 10:34:04] [INFO] Virtual stage updated after activity save {"contact_id":"7001"}
[2026-04-30 10:34:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7001","person_id":"11464"}
[2026-04-30 10:34:12] [INFO] Checking activity reminders 
[2026-04-30 10:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:34:14] [INFO] Checking activity reminders 
[2026-04-30 10:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:34:42] [INFO] Checking activity reminders 
[2026-04-30 10:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:34:44] [INFO] Checking activity reminders 
[2026-04-30 10:34:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:34:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:35:12] [INFO] Checking activity reminders 
[2026-04-30 10:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:35:14] [INFO] Checking activity reminders 
[2026-04-30 10:35:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:35:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:35:42] [INFO] Checking activity reminders 
[2026-04-30 10:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:35:44] [INFO] Checking activity reminders 
[2026-04-30 10:35:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:35:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:36:12] [INFO] Checking activity reminders 
[2026-04-30 10:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:36:14] [INFO] Checking activity reminders 
[2026-04-30 10:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:36:44] [INFO] Checking activity reminders 
[2026-04-30 10:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:37:14] [INFO] Checking activity reminders 
[2026-04-30 10:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:37:45] [INFO] Checking activity reminders 
[2026-04-30 10:37:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:37:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:38:15] [INFO] Checking activity reminders 
[2026-04-30 10:38:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:38:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:38:45] [INFO] Checking activity reminders 
[2026-04-30 10:38:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:38:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:39:15] [INFO] Checking activity reminders 
[2026-04-30 10:39:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:39:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:53:30] [INFO] Checking activity reminders 
[2026-04-30 10:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:54:00] [INFO] Checking activity reminders 
[2026-04-30 10:54:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:54:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:54:30] [INFO] Checking activity reminders 
[2026-04-30 10:54:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:54:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"get_leads"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"check_reminders"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"get_leads"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:54:50] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:55:01] [INFO] Checking activity reminders 
[2026-04-30 10:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:55:31] [INFO] Checking activity reminders 
[2026-04-30 10:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:56:01] [INFO] Checking activity reminders 
[2026-04-30 10:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:56:31] [INFO] Checking activity reminders 
[2026-04-30 10:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:56:52] [INFO] Checking activity reminders 
[2026-04-30 10:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:56:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:01] [INFO] Checking activity reminders 
[2026-04-30 10:57:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:57:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:57:17] [INFO] Activity save request {"post_data":{"contact_id":"14342","deal_id":"local_69f1a550de0351.48636960","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"اطلاع ندا دو بار تماس عدم پاسخ ","activity_duration":"4","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:57:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14342","note_was_empty":true}
[2026-04-30 10:57:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"14342","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:17] [INFO] Updating virtual stage {"contact_id":"14342","stage_name":"deal_registered","force":false}
[2026-04-30 10:57:17] [INFO] Virtual stage successfully saved {"contact_id":"14342","stage_name":"deal_registered"}
[2026-04-30 10:57:17] [INFO] Virtual stage updated after activity save {"contact_id":"14342"}
[2026-04-30 10:57:17] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f1a550de0351.48636960","stage":"تماس پیگیری","status_change":null}
[2026-04-30 10:57:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f30455cd2096.94137690","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69f30455cd2096.94137690"}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:17] [INFO] Updating virtual stage {"contact_id":"14342","stage_name":"deal_registered","force":false}
[2026-04-30 10:57:17] [INFO] Virtual stage successfully saved {"contact_id":"14342","stage_name":"deal_registered"}
[2026-04-30 10:57:17] [INFO] Virtual stage updated after activity save {"contact_id":"14342"}
[2026-04-30 10:57:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14342","person_id":"16839"}
[2026-04-30 10:57:22] [INFO] Checking activity reminders 
[2026-04-30 10:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:57:27] [WARNING] Auth check failed - not authenticated {"session_id":"14ovd91hnormvtos1bi43uri8b","session_keys":[],"action":"log_client_event"}
[2026-04-30 10:57:27] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-04-30 10:57:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 10:57:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 10:57:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 10:57:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 10:57:31] [INFO] Checking activity reminders 
[2026-04-30 10:57:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:57:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:57:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 10:57:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:57:52] [INFO] Checking activity reminders 
[2026-04-30 10:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:57:58] [INFO] Activity save request {"post_data":{"contact_id":"21437","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2 بار پیگیری عدم پاسخ ارسال پیامک","activity_duration":"4","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 10:57:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:57:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 10:57:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 10:57:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:57:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21437","note_was_empty":true}
[2026-04-30 10:57:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"21437","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 10:57:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3047ec1d506.69814745","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 10:57:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:57:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3047ec1d506.69814745"}
[2026-04-30 10:57:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:57:58] [INFO] Updating virtual stage {"contact_id":"21437","stage_name":"deal_registered","force":false}
[2026-04-30 10:57:58] [INFO] Virtual stage successfully saved {"contact_id":"21437","stage_name":"deal_registered"}
[2026-04-30 10:57:58] [INFO] Virtual stage updated after activity save {"contact_id":"21437"}
[2026-04-30 10:57:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21437","person_id":"16608"}
[2026-04-30 10:58:01] [INFO] Checking activity reminders 
[2026-04-30 10:58:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:58:09] [INFO] Checking activity reminders 
[2026-04-30 10:58:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:58:22] [INFO] Checking activity reminders 
[2026-04-30 10:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:58:31] [INFO] Checking activity reminders 
[2026-04-30 10:58:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:58:52] [INFO] Checking activity reminders 
[2026-04-30 10:58:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:58:53] [INFO] Checking activity reminders 
[2026-04-30 10:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:01] [INFO] Checking activity reminders 
[2026-04-30 10:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:01] [INFO] Checking activity reminders 
[2026-04-30 10:59:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:25] [INFO] Checking activity reminders 
[2026-04-30 10:59:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:31] [INFO] Checking activity reminders 
[2026-04-30 10:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:31] [INFO] Checking activity reminders 
[2026-04-30 10:59:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 10:59:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 10:59:55] [INFO] Checking activity reminders 
[2026-04-30 10:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 10:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:01] [INFO] Checking activity reminders 
[2026-04-30 11:00:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:07] [INFO] Checking activity reminders 
[2026-04-30 11:00:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:14] [INFO] Checking activity reminders 
[2026-04-30 11:00:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:22] [INFO] Checking activity reminders 
[2026-04-30 11:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:00:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69eccf0a538113.18112028","person_id":"22256"}
[2026-04-30 11:00:32] [INFO] Checking activity reminders 
[2026-04-30 11:00:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:42] [INFO] Checking activity reminders 
[2026-04-30 11:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:48] [INFO] Checking activity reminders 
[2026-04-30 11:00:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:00:58] [INFO] Checking activity reminders 
[2026-04-30 11:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:01:02] [INFO] Checking activity reminders 
[2026-04-30 11:01:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:01:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:01:28] [INFO] Checking activity reminders 
[2026-04-30 11:01:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:01:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:01:32] [INFO] Checking activity reminders 
[2026-04-30 11:01:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:01:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:01:59] [INFO] Checking activity reminders 
[2026-04-30 11:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:02:02] [INFO] Checking activity reminders 
[2026-04-30 11:02:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:02:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:02:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:02:32] [INFO] Checking activity reminders 
[2026-04-30 11:02:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:02:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:03:02] [INFO] Checking activity reminders 
[2026-04-30 11:03:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:03:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:03:09] [INFO] Checking activity reminders 
[2026-04-30 11:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:03:32] [INFO] Checking activity reminders 
[2026-04-30 11:03:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:03:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:04:02] [INFO] Checking activity reminders 
[2026-04-30 11:04:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:04:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:04:32] [INFO] Checking activity reminders 
[2026-04-30 11:04:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:04:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:04:48] [INFO] Checking activity reminders 
[2026-04-30 11:04:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:04:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:05:03] [INFO] Checking activity reminders 
[2026-04-30 11:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:05:33] [INFO] Checking activity reminders 
[2026-04-30 11:05:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:05:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:06:03] [INFO] Checking activity reminders 
[2026-04-30 11:06:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:06:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:06:33] [INFO] Checking activity reminders 
[2026-04-30 11:06:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:06:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:06:42] [INFO] Checking activity reminders 
[2026-04-30 11:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:07:03] [INFO] Checking activity reminders 
[2026-04-30 11:07:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:07:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:07:27] [INFO] Activity save request {"post_data":{"contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"مجدد واریز \r\nپشتیبانی کانال \r\nفروش خودرو تیگو \/ نگه داشتن طلا فیزیکی \r\n","activity_duration":"10","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:27] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:07:27] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:27] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11748","note_was_empty":true}
[2026-04-30 11:07:27] [INFO] Didar write disabled; saving activity locally {"contact_id":"11748","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:27] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"deal_registered","force":false}
[2026-04-30 11:07:27] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"deal_registered"}
[2026-04-30 11:07:27] [INFO] Virtual stage updated after activity save {"contact_id":"11748"}
[2026-04-30 11:07:27] [INFO] Pipeline stage updated after activity save {"deal_id":"local_695a6d59b71887.16010531","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-30 11:07:27] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f306b70f5058.56646796","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:27] [INFO] Activity saved successfully {"activity_id":"local_activity_69f306b70f5058.56646796"}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:27] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"deal_registered","force":false}
[2026-04-30 11:07:27] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"deal_registered"}
[2026-04-30 11:07:27] [INFO] Virtual stage updated after activity save {"contact_id":"11748"}
[2026-04-30 11:07:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 11:07:33] [INFO] Checking activity reminders 
[2026-04-30 11:07:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:07:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:07:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:03] [INFO] Checking activity reminders 
[2026-04-30 11:08:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:08:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:08:09] [INFO] Activity save request {"post_data":{"contact_id":"5529","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت cip  \r\n","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:09] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:08:09] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:09] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5529","note_was_empty":true}
[2026-04-30 11:08:09] [INFO] Didar write disabled; saving activity locally {"contact_id":"5529","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 11:08:09] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f306e16fb390.92094313","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:09] [INFO] Activity saved successfully {"activity_id":"local_activity_69f306e16fb390.92094313"}
[2026-04-30 11:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:09] [INFO] Updating virtual stage {"contact_id":"5529","stage_name":"with_purchase","force":false}
[2026-04-30 11:08:09] [INFO] Virtual stage successfully saved {"contact_id":"5529","stage_name":"with_purchase"}
[2026-04-30 11:08:09] [INFO] Virtual stage updated after activity save {"contact_id":"5529"}
[2026-04-30 11:08:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5529","person_id":"7866"}
[2026-04-30 11:08:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:33] [INFO] Checking activity reminders 
[2026-04-30 11:08:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:08:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:08:44] [INFO] Activity save request {"post_data":{"contact_id":"1950","deal_id":"local_69ecc3e7a1c075.72313848","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"ارسال چک ها تا شنبه ","activity_duration":"1","direction":"outgoing","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:44] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:08:44] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:44] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1950","note_was_empty":true}
[2026-04-30 11:08:44] [INFO] Didar write disabled; saving activity locally {"contact_id":"1950","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:44] [INFO] Updating virtual stage {"contact_id":"1950","stage_name":"deal_registered","force":false}
[2026-04-30 11:08:44] [INFO] Virtual stage successfully saved {"contact_id":"1950","stage_name":"deal_registered"}
[2026-04-30 11:08:44] [INFO] Virtual stage updated after activity save {"contact_id":"1950"}
[2026-04-30 11:08:44] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ecc3e7a1c075.72313848","stage":"پیگیری مانده حساب","status_change":null}
[2026-04-30 11:08:44] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f30704cdf2b1.40417562","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:44] [INFO] Activity saved successfully {"activity_id":"local_activity_69f30704cdf2b1.40417562"}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:08:44] [INFO] Updating virtual stage {"contact_id":"1950","stage_name":"deal_registered","force":false}
[2026-04-30 11:08:44] [INFO] Virtual stage successfully saved {"contact_id":"1950","stage_name":"deal_registered"}
[2026-04-30 11:08:44] [INFO] Virtual stage updated after activity save {"contact_id":"1950"}
[2026-04-30 11:08:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1950","person_id":"3356"}
[2026-04-30 11:09:03] [INFO] Checking activity reminders 
[2026-04-30 11:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:09:08] [INFO] Checking activity reminders 
[2026-04-30 11:09:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:09:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:09:36] [INFO] Checking activity reminders 
[2026-04-30 11:09:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:09:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:09:38] [INFO] Checking activity reminders 
[2026-04-30 11:09:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:09:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:10:06] [INFO] Checking activity reminders 
[2026-04-30 11:10:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:10:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:10:08] [INFO] Checking activity reminders 
[2026-04-30 11:10:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:10:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:10:32] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 11:10:32] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-30 11:10:32] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-30 11:10:32] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 11:10:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 11:10:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 11:10:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 11:10:37] [INFO] Checking activity reminders 
[2026-04-30 11:10:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:10:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:10:38] [INFO] Checking activity reminders 
[2026-04-30 11:10:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:10:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:11:07] [INFO] Checking activity reminders 
[2026-04-30 11:11:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:11:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:11:08] [INFO] Checking activity reminders 
[2026-04-30 11:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:11:37] [INFO] Checking activity reminders 
[2026-04-30 11:11:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:11:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:11:38] [INFO] Checking activity reminders 
[2026-04-30 11:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:12:07] [INFO] Checking activity reminders 
[2026-04-30 11:12:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:12:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:12:08] [INFO] Checking activity reminders 
[2026-04-30 11:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:12:37] [INFO] Checking activity reminders 
[2026-04-30 11:12:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:12:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:12:38] [INFO] Checking activity reminders 
[2026-04-30 11:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:13:07] [INFO] Checking activity reminders 
[2026-04-30 11:13:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:13:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:13:08] [INFO] Checking activity reminders 
[2026-04-30 11:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:13:18] [INFO] Checking activity reminders 
[2026-04-30 11:13:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:13:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:13:34] [INFO] Checking activity reminders 
[2026-04-30 11:13:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:13:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:13:38] [INFO] Checking activity reminders 
[2026-04-30 11:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:08] [INFO] Checking activity reminders 
[2026-04-30 11:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:09] [INFO] Checking activity reminders 
[2026-04-30 11:14:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:24] [INFO] Checking activity reminders 
[2026-04-30 11:14:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:27] [INFO] Checking activity reminders 
[2026-04-30 11:14:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:38] [INFO] Checking activity reminders 
[2026-04-30 11:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:55] [INFO] Checking activity reminders 
[2026-04-30 11:14:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:14:57] [INFO] Checking activity reminders 
[2026-04-30 11:14:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:14:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:09] [INFO] Checking activity reminders 
[2026-04-30 11:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:09] [INFO] Checking activity reminders 
[2026-04-30 11:15:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:13] [INFO] Checking activity reminders 
[2026-04-30 11:15:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:27] [INFO] Checking activity reminders 
[2026-04-30 11:15:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:29] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 11:15:31] [INFO] Checking activity reminders 
[2026-04-30 11:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:15:39] [INFO] Checking activity reminders 
[2026-04-30 11:15:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:15:57] [INFO] Checking activity reminders 
[2026-04-30 11:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:01] [INFO] Checking activity reminders 
[2026-04-30 11:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:09] [INFO] Checking activity reminders 
[2026-04-30 11:16:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:28] [INFO] Checking activity reminders 
[2026-04-30 11:16:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:31] [INFO] Checking activity reminders 
[2026-04-30 11:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:16:39] [INFO] Checking activity reminders 
[2026-04-30 11:16:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:16:59] [INFO] Checking activity reminders 
[2026-04-30 11:16:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:16:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:01] [INFO] Checking activity reminders 
[2026-04-30 11:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:09] [INFO] Checking activity reminders 
[2026-04-30 11:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:29] [INFO] Checking activity reminders 
[2026-04-30 11:17:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:17:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:31] [INFO] Checking activity reminders 
[2026-04-30 11:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:39] [INFO] Checking activity reminders 
[2026-04-30 11:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:17:54] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:17:58] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 11:17:58","session_id":"k1b31kne6554r1i0f8gbfh0ka8"}
[2026-04-30 11:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:17:58] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8044","is_new_deal":false}
[2026-04-30 11:17:58] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 11:17:58] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 11:17:58] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 11:17:58] [INFO] getContactPrimaryPhone called {"contact_id":"8044"}
[2026-04-30 11:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:17:58] [INFO] getContactPrimaryPhone result {"contact_id":"8044","person_found":true,"primary_phone":"9013511535"}
[2026-04-30 11:17:58] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9013511535"}
[2026-04-30 11:17:58] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9013511535","contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 11:17:58"}
[2026-04-30 11:17:58] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","existing_deal_found":true,"existing_contact_id":"8044","existing_title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 11:17:58"}
[2026-04-30 11:17:58] [INFO] DealController.save validated payments {"deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","payments_count":2,"status":"pending","pipeline_stage":"پشتیبانی"}
[2026-04-30 11:17:58] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"8044","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-30 11:17:58] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6ab233dc237.07267917","contact_didar_id":"8044","title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9013511535","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پشتیبانی","status":"pending","payable_amount":79000000,"payment_amount":20000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"خانوم بخشی","existing_deal":"YES","existing_deal_id":"local_69b6ab233dc237.07267917","existing_deal_status":"Won","server_time":"2026-04-30 11:17:58","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-30 11:17:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:17:58] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پشتیبانی","payable_amount":79000000,"payment_amount":20000000,"server_time":"2026-04-30 11:17:58","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 11:17:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:18:00] [INFO] Checking activity reminders 
[2026-04-30 11:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:18:01] [INFO] Checking activity reminders 
[2026-04-30 11:18:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:18:09] [INFO] Checking activity reminders 
[2026-04-30 11:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:18:22] [INFO] Lead update received {"contact_id":"local_69ef7f9b09e647.38958294","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:18:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-30 11:18:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:18:31] [INFO] Checking activity reminders 
[2026-04-30 11:18:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:18:38] [INFO] Checking activity reminders 
[2026-04-30 11:18:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:18:39] [INFO] Checking activity reminders 
[2026-04-30 11:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:00] [INFO] Activity save request {"post_data":{"contact_id":"local_69ef7f9b09e647.38958294","deal_id":"","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"میگه من نمیشناسم \r\nحتما پسرم شماره گذاشته \r\nاطلاعی ندارم \r\n","activity_duration":"1","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:19:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:19:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:19:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:19:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:19:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69ef7f9b09e647.38958294","note_was_empty":true}
[2026-04-30 11:19:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3096c401745.83662159","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:19:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:19:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3096c401745.83662159"}
[2026-04-30 11:19:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:19:00] [INFO] Updating virtual stage {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered","force":false}
[2026-04-30 11:19:00] [INFO] Virtual stage successfully saved {"contact_id":"local_69ef7f9b09e647.38958294","stage_name":"deal_registered"}
[2026-04-30 11:19:00] [INFO] Virtual stage updated after activity save {"contact_id":"local_69ef7f9b09e647.38958294"}
[2026-04-30 11:19:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69ef7f9b09e647.38958294","person_id":"22412"}
[2026-04-30 11:19:01] [INFO] Checking activity reminders 
[2026-04-30 11:19:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:02] [INFO] Checking activity reminders 
[2026-04-30 11:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:03] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 11:19:09] [INFO] Checking activity reminders 
[2026-04-30 11:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:24] [INFO] Lead update received {"contact_id":"21324","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:19:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:24] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21324"}
[2026-04-30 11:19:24] [ERROR] API Error {"action":"update_lead","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20119' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":423,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(423): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(1198): App\\Repositories\\PersonRepository->save()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#4 {main}"}}
[2026-04-30 11:19:31] [INFO] Checking activity reminders 
[2026-04-30 11:19:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:32] [INFO] Checking activity reminders 
[2026-04-30 11:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:39] [INFO] Checking activity reminders 
[2026-04-30 11:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:19:49] [INFO] Lead update received {"contact_id":"21324","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:19:49] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21324"}
[2026-04-30 11:19:49] [ERROR] API Error {"action":"update_lead","exception":{"message":"این کد مشتری قبلاً برای لید دیگری ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":1145,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#2 {main}"}}
[2026-04-30 11:20:01] [INFO] Checking activity reminders 
[2026-04-30 11:20:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:02] [INFO] Checking activity reminders 
[2026-04-30 11:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:07] [INFO] Lead update received {"contact_id":"21324","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:20:07] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"21324"}
[2026-04-30 11:20:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:20:09] [INFO] Checking activity reminders 
[2026-04-30 11:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:33] [INFO] Checking activity reminders 
[2026-04-30 11:20:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:39] [INFO] Checking activity reminders 
[2026-04-30 11:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:39] [INFO] Checking activity reminders 
[2026-04-30 11:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:53] [INFO] Checking activity reminders 
[2026-04-30 11:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:20:57] [INFO] Lead update received {"contact_id":"local_69f05f97a7eb16.36137040","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 11:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 11:20:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-30 11:20:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 11:21:03] [INFO] Checking activity reminders 
[2026-04-30 11:21:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:21:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:21:06] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9122989131","09122989131"]}
[2026-04-30 11:21:06] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9122989131","09122989131"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-30 11:21:06] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9122989131","full_name":"لید جدید"}
[2026-04-30 11:21:06] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:21:06] [INFO] Notification created {"notification_id":"685","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-30 11:21:09] [INFO] Checking activity reminders 
[2026-04-30 11:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:21:33] [INFO] Checking activity reminders 
[2026-04-30 11:21:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:21:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:21:39] [INFO] Checking activity reminders 
[2026-04-30 11:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:02] [INFO] Checking activity reminders 
[2026-04-30 11:22:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:03] [INFO] Checking activity reminders 
[2026-04-30 11:22:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:22:09] [INFO] Checking activity reminders 
[2026-04-30 11:22:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:17] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 11:22:17","session_id":"k1b31kne6554r1i0f8gbfh0ka8"}
[2026-04-30 11:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:22:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"985","is_new_deal":false}
[2026-04-30 11:22:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:22:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:22:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:22:17] [INFO] getContactPrimaryPhone called {"contact_id":"985"}
[2026-04-30 11:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:22:17] [INFO] getContactPrimaryPhone result {"contact_id":"985","person_found":true,"primary_phone":"9128311189"}
[2026-04-30 11:22:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128311189"}
[2026-04-30 11:22:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128311189","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 11:22:17"}
[2026-04-30 11:22:17] [INFO] DealController.save existing deal lookup {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","existing_deal_found":true,"existing_contact_id":"985","existing_title":"معامله اول 9128311189 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 11:22:17"}
[2026-04-30 11:22:17] [INFO] DealController.save validated payments {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 11:22:17] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"985","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-30 11:22:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69495ab57cc433.38025613","contact_didar_id":"985","title":"معامله اول 9128311189 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9128311189","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مشیری","existing_deal":"YES","existing_deal_id":"local_69495ab57cc433.38025613","existing_deal_status":"Pending","server_time":"2026-04-30 11:22:17","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-30 11:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:22:17] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69495ab57cc433.38025613","contact_id":"985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9128311189 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-30 11:22:17","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 11:22:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:22:33] [INFO] Checking activity reminders 
[2026-04-30 11:22:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:40] [INFO] Checking activity reminders 
[2026-04-30 11:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:52] [INFO] Checking activity reminders 
[2026-04-30 11:22:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:22:53] [INFO] Checking activity reminders 
[2026-04-30 11:22:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:22:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:23:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 11:23:10] [INFO] Checking activity reminders 
[2026-04-30 11:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:23:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 11:23:32","session_id":"6irrtms5mpt329rdakudhiejdk"}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"985","is_new_deal":false}
[2026-04-30 11:23:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:23:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:23:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 11:23:32] [INFO] getContactPrimaryPhone called {"contact_id":"985"}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [INFO] getContactPrimaryPhone result {"contact_id":"985","person_found":true,"primary_phone":"9128311189"}
[2026-04-30 11:23:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9128311189"}
[2026-04-30 11:23:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9128311189","contact_id":"985","deal_id":"local_69495ab57cc433.38025613","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 11:23:32"}
[2026-04-30 11:23:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","existing_deal_found":true,"existing_contact_id":"985","existing_title":"معامله اول 9128311189 | کانال VIP بدون پشتیبان","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 11:23:32"}
[2026-04-30 11:23:32] [INFO] DealController.save validated payments {"deal_id":"local_69495ab57cc433.38025613","contact_id":"985","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-04-30 11:23:32] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"985","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 11:23:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69495ab57cc433.38025613","contact_didar_id":"985","title":"معامله اول 9128311189 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9128311189","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":54000000,"payment_amount":54000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"مشیری","existing_deal":"YES","existing_deal_id":"local_69495ab57cc433.38025613","existing_deal_status":"Pending","server_time":"2026-04-30 11:23:32","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [INFO] Deal success processed {"contact_id":"985","person_name":"مشیری","products_count":1}
[2026-04-30 11:23:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69495ab57cc433.38025613","contact_id":"985","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9128311189 | کانال VIP بدون پشتیبان","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":54000000,"payment_amount":54000000,"server_time":"2026-04-30 11:23:32","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:32] [INFO] Updating virtual stage {"contact_id":"985","stage_name":"with_purchase","force":true}
[2026-04-30 11:23:32] [INFO] Virtual stage successfully saved {"contact_id":"985","stage_name":"with_purchase"}
[2026-04-30 11:23:32] [INFO] Moved contact out of kariz after successful deal {"contact_id":"985","deal_id":"local_69495ab57cc433.38025613","target_stage":"with_purchase"}
[2026-04-30 11:23:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"985","person_id":"20799"}
[2026-04-30 11:23:37] [INFO] Checking activity reminders 
[2026-04-30 11:23:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:23:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:23:40] [INFO] Checking activity reminders 
[2026-04-30 11:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:24:07] [INFO] Checking activity reminders 
[2026-04-30 11:24:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:24:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:24:10] [INFO] Checking activity reminders 
[2026-04-30 11:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:24:37] [INFO] Checking activity reminders 
[2026-04-30 11:24:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:24:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:24:40] [INFO] Checking activity reminders 
[2026-04-30 11:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:25:07] [INFO] Checking activity reminders 
[2026-04-30 11:25:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:25:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:25:13] [INFO] Checking activity reminders 
[2026-04-30 11:25:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:25:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:25:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:25:37] [INFO] Checking activity reminders 
[2026-04-30 11:25:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:25:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:25:56] [INFO] Checking activity reminders 
[2026-04-30 11:25:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:25:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:26:08] [INFO] Checking activity reminders 
[2026-04-30 11:26:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:26:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:26:31] [INFO] Checking activity reminders 
[2026-04-30 11:26:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:26:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:26:38] [INFO] Checking activity reminders 
[2026-04-30 11:26:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:26:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:26:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 11:26:41","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 11:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:26:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"8044","is_new_deal":false}
[2026-04-30 11:26:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 11:26:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 11:26:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 11:26:41] [INFO] getContactPrimaryPhone called {"contact_id":"8044"}
[2026-04-30 11:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:26:41] [INFO] getContactPrimaryPhone result {"contact_id":"8044","person_found":true,"primary_phone":"9013511535"}
[2026-04-30 11:26:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9013511535"}
[2026-04-30 11:26:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9013511535","contact_id":"8044","deal_id":"local_69b6ab233dc237.07267917","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 11:26:41"}
[2026-04-30 11:26:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","existing_deal_found":true,"existing_contact_id":"8044","existing_title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 11:26:41"}
[2026-04-30 11:26:41] [INFO] DealController.save validated payments {"deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","payments_count":4,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-30 11:26:41] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"8044","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 11:26:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b6ab233dc237.07267917","contact_didar_id":"8044","title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9013511535","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"خانوم بخشی","existing_deal":"YES","existing_deal_id":"local_69b6ab233dc237.07267917","existing_deal_status":"Pending","server_time":"2026-04-30 11:26:41","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 11:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:26:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b6ab233dc237.07267917","contact_id":"8044","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9013511535 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-30 11:26:41","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 11:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8044","person_id":"14194"}
[2026-04-30 11:26:56] [INFO] Activity save request {"post_data":{"contact_id":"1888","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام در بله ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:26:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:26:56] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:26:56] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:26:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:26:56] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1888","note_was_empty":true}
[2026-04-30 11:26:56] [INFO] Didar write disabled; saving activity locally {"contact_id":"1888","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 11:26:56] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f30b4829c5f3.89016941","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:26:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:26:56] [INFO] Activity saved successfully {"activity_id":"local_activity_69f30b4829c5f3.89016941"}
[2026-04-30 11:26:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:26:56] [INFO] Updating virtual stage {"contact_id":"1888","stage_name":"deal_registered","force":false}
[2026-04-30 11:26:56] [INFO] Virtual stage successfully saved {"contact_id":"1888","stage_name":"deal_registered"}
[2026-04-30 11:26:56] [INFO] Virtual stage updated after activity save {"contact_id":"1888"}
[2026-04-30 11:26:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1888","person_id":"18862"}
[2026-04-30 11:26:56] [INFO] Checking activity reminders 
[2026-04-30 11:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:27:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:27:08] [INFO] Checking activity reminders 
[2026-04-30 11:27:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:27:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:27:38] [INFO] Checking activity reminders 
[2026-04-30 11:27:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:27:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:27:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:27:55] [INFO] Checking activity reminders 
[2026-04-30 11:27:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:27:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:27:57] [INFO] Lead update received {"contact_id":"local_69b53335d88630.58088415","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:27:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:27:57] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b53335d88630.58088415"}
[2026-04-30 11:27:57] [ERROR] API Error {"action":"update_lead","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '20121' for key 'persons.uniq_persons_customer_code'","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php","line":423,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/PersonRepository.php(423): PDOStatement->execute()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(1198): App\\Repositories\\PersonRepository->save()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#4 {main}"}}
[2026-04-30 11:28:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 11:28:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:28:25] [INFO] Checking activity reminders 
[2026-04-30 11:28:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:28:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:28:33] [INFO] Lead update received {"contact_id":"local_69b53335d88630.58088415","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:28:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:28:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:28:33] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69b53335d88630.58088415"}
[2026-04-30 11:28:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 11:28:35] [INFO] Checking activity reminders 
[2026-04-30 11:28:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:28:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:28:56] [INFO] Checking activity reminders 
[2026-04-30 11:28:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:28:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:29:05] [INFO] Checking activity reminders 
[2026-04-30 11:29:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:29:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:29:26] [INFO] Checking activity reminders 
[2026-04-30 11:29:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:29:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:29:35] [INFO] Checking activity reminders 
[2026-04-30 11:29:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:29:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:29:56] [INFO] Checking activity reminders 
[2026-04-30 11:29:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:29:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:30:06] [INFO] Checking activity reminders 
[2026-04-30 11:30:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:30:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:30:26] [INFO] Checking activity reminders 
[2026-04-30 11:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:30:36] [INFO] Checking activity reminders 
[2026-04-30 11:30:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:30:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:30:56] [INFO] Checking activity reminders 
[2026-04-30 11:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:31:06] [INFO] Checking activity reminders 
[2026-04-30 11:31:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:31:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:31:26] [INFO] Checking activity reminders 
[2026-04-30 11:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:31:36] [INFO] Checking activity reminders 
[2026-04-30 11:31:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:31:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:31:37] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"local_69b73516024bc1.15288324","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"79ت واریز \/ 2بار زد برگشت خورد ارسال ش ملت","activity_duration":"25","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:37] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:31:37] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:37] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-04-30 11:31:37] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:37] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 11:31:37] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 11:31:37] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 11:31:37] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b73516024bc1.15288324","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-30 11:31:37] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f30c618a5b75.03737052","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:37] [INFO] Activity saved successfully {"activity_id":"local_activity_69f30c618a5b75.03737052"}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:37] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 11:31:37] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 11:31:37] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 11:31:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:31:54] [INFO] Checking activity reminders 
[2026-04-30 11:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:31:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:31:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:32:06] [INFO] Checking activity reminders 
[2026-04-30 11:32:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:32:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:32:15] [INFO] Lead update received {"contact_id":"local_69f309eac70017.31842668","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 11:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:32:15] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"local_69f309eac70017.31842668"}
[2026-04-30 11:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:32:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:32:24] [INFO] Checking activity reminders 
[2026-04-30 11:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:32:36] [INFO] Checking activity reminders 
[2026-04-30 11:32:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:32:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:32:54] [INFO] Checking activity reminders 
[2026-04-30 11:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:33:06] [INFO] Checking activity reminders 
[2026-04-30 11:33:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:33:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:33:24] [INFO] Checking activity reminders 
[2026-04-30 11:33:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:33:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:33:36] [INFO] Checking activity reminders 
[2026-04-30 11:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:33:54] [INFO] Checking activity reminders 
[2026-04-30 11:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:34:06] [INFO] Checking activity reminders 
[2026-04-30 11:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:34:24] [INFO] Checking activity reminders 
[2026-04-30 11:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:34:33] [INFO] Activity save request {"post_data":{"contact_id":"local_69f309eac70017.31842668","deal_id":"local_69f309eac9ced","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"معرفی شدیم بهش خانوم قنبری \/ ال 90 داره میخواد بفروشه هایما بخره ارجاع به پارسا ارسال ش پارسا","activity_duration":"15","direction":"incoming","current_stage":"معامله جدید","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:33] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:34:33] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:33] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"local_69f309eac70017.31842668","note_was_empty":true}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:33] [INFO] Updating virtual stage {"contact_id":"local_69f309eac70017.31842668","stage_name":"new","force":false}
[2026-04-30 11:34:33] [INFO] Virtual stage successfully saved {"contact_id":"local_69f309eac70017.31842668","stage_name":"new"}
[2026-04-30 11:34:33] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f309eac70017.31842668"}
[2026-04-30 11:34:33] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f309eac9ced","stage":"تماس پیگیری","status_change":null}
[2026-04-30 11:34:33] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f30d11c3ecd7.49809637","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:33] [INFO] Activity saved successfully {"activity_id":"local_activity_69f30d11c3ecd7.49809637"}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:33] [INFO] Updating virtual stage {"contact_id":"local_69f309eac70017.31842668","stage_name":"deal_registered","force":false}
[2026-04-30 11:34:33] [INFO] Virtual stage successfully saved {"contact_id":"local_69f309eac70017.31842668","stage_name":"deal_registered"}
[2026-04-30 11:34:33] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f309eac70017.31842668"}
[2026-04-30 11:34:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-04-30 11:34:36] [INFO] Checking activity reminders 
[2026-04-30 11:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:34:54] [INFO] Checking activity reminders 
[2026-04-30 11:34:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:34:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:35:06] [INFO] Checking activity reminders 
[2026-04-30 11:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:35:36] [INFO] Checking activity reminders 
[2026-04-30 11:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:35:43] [INFO] Checking activity reminders 
[2026-04-30 11:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:35:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"666","person_id":"11323"}
[2026-04-30 11:36:06] [INFO] Checking activity reminders 
[2026-04-30 11:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:36:13] [INFO] Checking activity reminders 
[2026-04-30 11:36:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:36:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:36:37] [INFO] Checking activity reminders 
[2026-04-30 11:36:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:36:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:36:43] [INFO] Checking activity reminders 
[2026-04-30 11:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:37:07] [INFO] Checking activity reminders 
[2026-04-30 11:37:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:37:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:37:13] [INFO] Checking activity reminders 
[2026-04-30 11:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:37:37] [INFO] Checking activity reminders 
[2026-04-30 11:37:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:37:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:37:44] [INFO] Checking activity reminders 
[2026-04-30 11:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:37:58] [INFO] Checking activity reminders 
[2026-04-30 11:37:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:37:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:07] [INFO] Checking activity reminders 
[2026-04-30 11:38:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:14] [INFO] Checking activity reminders 
[2026-04-30 11:38:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:28] [INFO] Checking activity reminders 
[2026-04-30 11:38:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:37] [INFO] Checking activity reminders 
[2026-04-30 11:38:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:44] [INFO] Checking activity reminders 
[2026-04-30 11:38:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:38:58] [INFO] Checking activity reminders 
[2026-04-30 11:38:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:38:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:07] [INFO] Checking activity reminders 
[2026-04-30 11:39:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:14] [INFO] Checking activity reminders 
[2026-04-30 11:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:28] [INFO] Checking activity reminders 
[2026-04-30 11:39:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:37] [INFO] Checking activity reminders 
[2026-04-30 11:39:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:44] [INFO] Checking activity reminders 
[2026-04-30 11:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:39:58] [INFO] Checking activity reminders 
[2026-04-30 11:39:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:39:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:07] [INFO] Checking activity reminders 
[2026-04-30 11:40:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:14] [INFO] Checking activity reminders 
[2026-04-30 11:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:28] [INFO] Checking activity reminders 
[2026-04-30 11:40:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:37] [INFO] Checking activity reminders 
[2026-04-30 11:40:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:44] [INFO] Checking activity reminders 
[2026-04-30 11:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:40:58] [INFO] Checking activity reminders 
[2026-04-30 11:40:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:40:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:08] [INFO] Checking activity reminders 
[2026-04-30 11:41:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:14] [INFO] Checking activity reminders 
[2026-04-30 11:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:28] [INFO] Checking activity reminders 
[2026-04-30 11:41:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:38] [INFO] Checking activity reminders 
[2026-04-30 11:41:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:46] [INFO] Checking activity reminders 
[2026-04-30 11:41:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:41:58] [INFO] Checking activity reminders 
[2026-04-30 11:41:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:41:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:42:08] [INFO] Checking activity reminders 
[2026-04-30 11:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:42:28] [INFO] Checking activity reminders 
[2026-04-30 11:42:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:42:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:42:38] [INFO] Checking activity reminders 
[2026-04-30 11:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:42:58] [INFO] Checking activity reminders 
[2026-04-30 11:42:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:42:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:43:08] [INFO] Checking activity reminders 
[2026-04-30 11:43:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:43:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:43:29] [INFO] Checking activity reminders 
[2026-04-30 11:43:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:43:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:43:38] [INFO] Checking activity reminders 
[2026-04-30 11:43:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:43:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:43:59] [INFO] Checking activity reminders 
[2026-04-30 11:43:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:43:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:44:08] [INFO] Checking activity reminders 
[2026-04-30 11:44:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:44:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:44:15] [INFO] Checking activity reminders 
[2026-04-30 11:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:44:29] [INFO] Checking activity reminders 
[2026-04-30 11:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:44:45] [INFO] Checking activity reminders 
[2026-04-30 11:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:44:59] [INFO] Checking activity reminders 
[2026-04-30 11:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:45:15] [INFO] Checking activity reminders 
[2026-04-30 11:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:45:29] [INFO] Checking activity reminders 
[2026-04-30 11:45:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:45:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:45:45] [INFO] Checking activity reminders 
[2026-04-30 11:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:45:59] [INFO] Checking activity reminders 
[2026-04-30 11:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:46:15] [INFO] Checking activity reminders 
[2026-04-30 11:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:46:29] [INFO] Checking activity reminders 
[2026-04-30 11:46:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:46:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:46:45] [INFO] Checking activity reminders 
[2026-04-30 11:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:46:59] [INFO] Checking activity reminders 
[2026-04-30 11:46:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:46:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:47:15] [INFO] Checking activity reminders 
[2026-04-30 11:47:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:47:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:47:29] [INFO] Checking activity reminders 
[2026-04-30 11:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:47:45] [INFO] Checking activity reminders 
[2026-04-30 11:47:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:47:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:47:59] [INFO] Checking activity reminders 
[2026-04-30 11:47:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:47:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:48:15] [INFO] Checking activity reminders 
[2026-04-30 11:48:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:48:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:48:30] [INFO] Checking activity reminders 
[2026-04-30 11:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:48:45] [INFO] Checking activity reminders 
[2026-04-30 11:48:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:48:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:49:00] [INFO] Checking activity reminders 
[2026-04-30 11:49:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:49:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:49:15] [INFO] Checking activity reminders 
[2026-04-30 11:49:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:49:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:49:30] [INFO] Checking activity reminders 
[2026-04-30 11:49:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:49:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:49:45] [INFO] Checking activity reminders 
[2026-04-30 11:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:50:00] [INFO] Checking activity reminders 
[2026-04-30 11:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:50:15] [INFO] Checking activity reminders 
[2026-04-30 11:50:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:50:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:50:30] [INFO] Checking activity reminders 
[2026-04-30 11:50:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:50:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:50:45] [INFO] Checking activity reminders 
[2026-04-30 11:50:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:50:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:51:00] [INFO] Checking activity reminders 
[2026-04-30 11:51:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:51:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:51:15] [INFO] Checking activity reminders 
[2026-04-30 11:51:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:51:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:51:30] [INFO] Checking activity reminders 
[2026-04-30 11:51:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:51:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:51:45] [INFO] Checking activity reminders 
[2026-04-30 11:51:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:51:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:52:00] [INFO] Checking activity reminders 
[2026-04-30 11:52:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:52:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:52:16] [INFO] Checking activity reminders 
[2026-04-30 11:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:52:30] [INFO] Checking activity reminders 
[2026-04-30 11:52:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:52:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:52:46] [INFO] Checking activity reminders 
[2026-04-30 11:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:53:01] [INFO] Checking activity reminders 
[2026-04-30 11:53:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:53:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:53:16] [INFO] Checking activity reminders 
[2026-04-30 11:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:53:31] [INFO] Checking activity reminders 
[2026-04-30 11:53:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:53:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:53:46] [INFO] Checking activity reminders 
[2026-04-30 11:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:54:01] [INFO] Checking activity reminders 
[2026-04-30 11:54:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:54:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:54:16] [INFO] Checking activity reminders 
[2026-04-30 11:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:54:31] [INFO] Checking activity reminders 
[2026-04-30 11:54:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:54:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:54:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:54:46] [INFO] Checking activity reminders 
[2026-04-30 11:54:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:54:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:55:01] [INFO] Checking activity reminders 
[2026-04-30 11:55:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:55:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:55:16] [INFO] Checking activity reminders 
[2026-04-30 11:55:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:55:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:55:31] [INFO] Checking activity reminders 
[2026-04-30 11:55:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:55:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:55:46] [INFO] Checking activity reminders 
[2026-04-30 11:55:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:55:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:56:01] [INFO] Checking activity reminders 
[2026-04-30 11:56:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:56:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:56:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:16] [INFO] Checking activity reminders 
[2026-04-30 11:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:56:17] [INFO] Activity save request {"post_data":{"contact_id":"13234","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"رد تماس ","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:17] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:56:17] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:17] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"13234","note_was_empty":true}
[2026-04-30 11:56:17] [INFO] Didar write disabled; saving activity locally {"contact_id":"13234","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 11:56:17] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31229882847.54818920","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:17] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31229882847.54818920"}
[2026-04-30 11:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:17] [INFO] Updating virtual stage {"contact_id":"13234","stage_name":"deal_registered","force":false}
[2026-04-30 11:56:17] [INFO] Virtual stage successfully saved {"contact_id":"13234","stage_name":"deal_registered"}
[2026-04-30 11:56:17] [INFO] Virtual stage updated after activity save {"contact_id":"13234"}
[2026-04-30 11:56:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13234","person_id":"10569"}
[2026-04-30 11:56:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:56:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:56:20] [INFO] generateDealTitle result {"contact_id":"21324","person_name":"محمد ترحمی","mobile":"9121000970","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9121000970"}
[2026-04-30 11:56:31] [INFO] Checking activity reminders 
[2026-04-30 11:56:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:56:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:56:46] [INFO] Checking activity reminders 
[2026-04-30 11:56:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:56:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:57:02] [INFO] Checking activity reminders 
[2026-04-30 11:57:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:57:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:57:16] [INFO] Checking activity reminders 
[2026-04-30 11:57:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:57:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:57:32] [INFO] Checking activity reminders 
[2026-04-30 11:57:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:57:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:57:46] [INFO] Checking activity reminders 
[2026-04-30 11:57:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:57:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:57:51] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"3میلیارد پرتفوی داره به تارگت رسیده بابت تمدید گفتم همون 200 ت قبلی کارمزد بزنه \r\nبا مبلغ کانال واریز میکنه ","activity_duration":"25","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:57:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:57:51] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:57:51] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:57:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:57:51] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-04-30 11:57:51] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 11:57:51] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31287cfb794.51067975","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:57:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:57:51] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31287cfb794.51067975"}
[2026-04-30 11:57:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:57:51] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 11:57:51] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 11:57:51] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 11:57:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:02] [INFO] Checking activity reminders 
[2026-04-30 11:58:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:58:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:58:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 11:58:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:10] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 11:58:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:17] [INFO] Checking activity reminders 
[2026-04-30 11:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:18] [INFO] generateDealTitle result {"contact_id":"21324","person_name":"محمد ترحمی","mobile":"9121000970","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9121000970"}
[2026-04-30 11:58:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:58:26] [INFO] generateDealTitle result {"contact_id":"21324","person_name":"محمد ترحمی","mobile":"9121000970","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9121000970"}
[2026-04-30 11:58:40] [INFO] Checking activity reminders 
[2026-04-30 11:58:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:58:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:58:47] [INFO] Checking activity reminders 
[2026-04-30 11:58:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:58:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:59:10] [INFO] Checking activity reminders 
[2026-04-30 11:59:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:59:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:59:17] [INFO] Checking activity reminders 
[2026-04-30 11:59:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:59:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:59:26] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرتفوی 3میلیارد به تارگت رسیده میخواد تمدید کنه گفتم همون 200 ت بزنه به نسبت ارزش پرتفوی \r\nبا مبلغ کانال باهم واریز میکنه امروز","activity_duration":"20","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 11:59:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:59:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 11:59:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 11:59:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:59:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-04-30 11:59:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 11:59:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f312e67aefa7.44901044","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 11:59:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:59:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69f312e67aefa7.44901044"}
[2026-04-30 11:59:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:59:26] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 11:59:26] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 11:59:26] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 11:59:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 11:59:40] [INFO] Checking activity reminders 
[2026-04-30 11:59:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:59:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:59:47] [INFO] Checking activity reminders 
[2026-04-30 11:59:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 11:59:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 11:59:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:11] [INFO] Checking activity reminders 
[2026-04-30 12:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:00:17] [INFO] Checking activity reminders 
[2026-04-30 12:00:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:00:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:00:24] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرتفوی 3میلیارد به تارگت رسیده  بابت تمدید گفتم همون 200 ت بزن به نسبت پوتفوی \r\nبا مبلغ کانال با هم واریز میکنه","activity_duration":"20","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:24] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:00:24] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:24] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-04-30 12:00:24] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 12:00:24] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31320cc8a32.01301806","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:24] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31320cc8a32.01301806"}
[2026-04-30 12:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:24] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 12:00:24] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 12:00:24] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 12:00:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:25] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f97a7eb16.36137040","deal_id":"local_69f05f97af5b6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"سرکار بود شرایط صحبت نداشت \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:25] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:00:25] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:25] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05f97a7eb16.36137040","note_was_empty":true}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:25] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-30 12:00:25] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-30 12:00:25] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-30 12:00:25] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f97af5b6","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:00:25] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31321554a16.84979079","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:25] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31321554a16.84979079"}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:25] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-30 12:00:25] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-30 12:00:25] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-30 12:00:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:00:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 12:00:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:00:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:00:47] [INFO] Checking activity reminders 
[2026-04-30 12:00:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:00:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:01:03] [INFO] Checking activity reminders 
[2026-04-30 12:01:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:01:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:01:11] [INFO] Checking activity reminders 
[2026-04-30 12:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:01:26] [INFO] Activity save request {"post_data":{"contact_id":"local_69b53335d88630.58088415","deal_id":"local_69b53335dd7ea","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:01:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69b53335d88630.58088415","note_was_empty":true}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:26] [INFO] Updating virtual stage {"contact_id":"local_69b53335d88630.58088415","stage_name":"deal_registered","force":false}
[2026-04-30 12:01:26] [INFO] Virtual stage successfully saved {"contact_id":"local_69b53335d88630.58088415","stage_name":"deal_registered"}
[2026-04-30 12:01:26] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b53335d88630.58088415"}
[2026-04-30 12:01:26] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b53335dd7ea","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-30 12:01:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3135e522cd5.56423564","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3135e522cd5.56423564"}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:26] [INFO] Updating virtual stage {"contact_id":"local_69b53335d88630.58088415","stage_name":"deal_registered","force":false}
[2026-04-30 12:01:26] [INFO] Virtual stage successfully saved {"contact_id":"local_69b53335d88630.58088415","stage_name":"deal_registered"}
[2026-04-30 12:01:26] [INFO] Virtual stage updated after activity save {"contact_id":"local_69b53335d88630.58088415"}
[2026-04-30 12:01:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69b53335d88630.58088415","person_id":"21826"}
[2026-04-30 12:01:33] [INFO] Checking activity reminders 
[2026-04-30 12:01:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:01:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:01:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:01:42] [INFO] Checking activity reminders 
[2026-04-30 12:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:02:04] [INFO] Checking activity reminders 
[2026-04-30 12:02:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:02:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:02:10] [INFO] Activity save request {"post_data":{"contact_id":"7335","deal_id":"local_69bbae582f3562.35010219","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:10] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:02:10] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:10] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"7335","note_was_empty":true}
[2026-04-30 12:02:10] [INFO] Didar write disabled; saving activity locally {"contact_id":"7335","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:10] [INFO] Updating virtual stage {"contact_id":"7335","stage_name":"deal_registered","force":false}
[2026-04-30 12:02:10] [INFO] Virtual stage successfully saved {"contact_id":"7335","stage_name":"deal_registered"}
[2026-04-30 12:02:10] [INFO] Virtual stage updated after activity save {"contact_id":"7335"}
[2026-04-30 12:02:10] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bbae582f3562.35010219","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:02:10] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3138a1e5607.65388833","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:10] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3138a1e5607.65388833"}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:10] [INFO] Updating virtual stage {"contact_id":"7335","stage_name":"deal_registered","force":false}
[2026-04-30 12:02:10] [INFO] Virtual stage successfully saved {"contact_id":"7335","stage_name":"deal_registered"}
[2026-04-30 12:02:10] [INFO] Virtual stage updated after activity save {"contact_id":"7335"}
[2026-04-30 12:02:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"7335","person_id":"14293"}
[2026-04-30 12:02:12] [INFO] Checking activity reminders 
[2026-04-30 12:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:02:34] [INFO] Checking activity reminders 
[2026-04-30 12:02:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:02:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:02:42] [INFO] Checking activity reminders 
[2026-04-30 12:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:03:03] [INFO] Checking activity reminders 
[2026-04-30 12:03:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:03:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:03:04] [INFO] Checking activity reminders 
[2026-04-30 12:03:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:03:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:03:07] [INFO] Activity save request {"post_data":{"contact_id":"local_69f05f97a7eb16.36137040","deal_id":"local_69f05f97af5b6","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"شرایط صحبت نداشت \r\nسرکار بود خیلی شلوغه تا ظهر ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:03:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_69f05f97a7eb16.36137040","note_was_empty":true}
[2026-04-30 12:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:07] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-30 12:03:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-30 12:03:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-30 12:03:07] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f05f97af5b6","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:03:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f313c3e95e09.86223658","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69f313c3e95e09.86223658"}
[2026-04-30 12:03:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:07] [INFO] Updating virtual stage {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered","force":false}
[2026-04-30 12:03:07] [INFO] Virtual stage successfully saved {"contact_id":"local_69f05f97a7eb16.36137040","stage_name":"deal_registered"}
[2026-04-30 12:03:07] [INFO] Virtual stage updated after activity save {"contact_id":"local_69f05f97a7eb16.36137040"}
[2026-04-30 12:03:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f05f97a7eb16.36137040","person_id":"22419"}
[2026-04-30 12:03:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:03:33] [INFO] Checking activity reminders 
[2026-04-30 12:03:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:03:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:03:34] [INFO] Checking activity reminders 
[2026-04-30 12:03:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:03:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:03:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:04:03] [INFO] Checking activity reminders 
[2026-04-30 12:04:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:04:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:04:04] [INFO] Checking activity reminders 
[2026-04-30 12:04:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:04:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:04:34] [INFO] Checking activity reminders 
[2026-04-30 12:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:04:34] [INFO] Checking activity reminders 
[2026-04-30 12:04:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:04:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:04:39] [INFO] Checking activity reminders 
[2026-04-30 12:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:04:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-04-30 12:05:04] [INFO] Checking activity reminders 
[2026-04-30 12:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:05:04] [INFO] Checking activity reminders 
[2026-04-30 12:05:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:05:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:05:34] [INFO] Checking activity reminders 
[2026-04-30 12:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:05:34] [INFO] Checking activity reminders 
[2026-04-30 12:05:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:05:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:05:46] [INFO] Activity save request {"post_data":{"contact_id":"21300","deal_id":"local_69d69231864421.76342045","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در دسترس نیست ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:05:46] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:05:46] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:05:46] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"21300","note_was_empty":true}
[2026-04-30 12:05:46] [INFO] Didar write disabled; saving activity locally {"contact_id":"21300","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:05:46] [INFO] Updating virtual stage {"contact_id":"21300","stage_name":"deal_registered","force":false}
[2026-04-30 12:05:46] [INFO] Virtual stage successfully saved {"contact_id":"21300","stage_name":"deal_registered"}
[2026-04-30 12:05:46] [INFO] Virtual stage updated after activity save {"contact_id":"21300"}
[2026-04-30 12:05:46] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d69231864421.76342045","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:05:46] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31462c2d1b9.77458867","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:05:46] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31462c2d1b9.77458867"}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:05:46] [INFO] Updating virtual stage {"contact_id":"21300","stage_name":"deal_registered","force":false}
[2026-04-30 12:05:46] [INFO] Virtual stage successfully saved {"contact_id":"21300","stage_name":"deal_registered"}
[2026-04-30 12:05:46] [INFO] Virtual stage updated after activity save {"contact_id":"21300"}
[2026-04-30 12:05:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21300","person_id":"10110"}
[2026-04-30 12:06:04] [INFO] Checking activity reminders 
[2026-04-30 12:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:06:04] [INFO] Checking activity reminders 
[2026-04-30 12:06:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:06:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:06:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:06:34] [INFO] Checking activity reminders 
[2026-04-30 12:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:06:34] [INFO] Checking activity reminders 
[2026-04-30 12:06:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:06:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:06:57] [INFO] Checking activity reminders 
[2026-04-30 12:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:07:04] [INFO] Checking activity reminders 
[2026-04-30 12:07:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:07:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:07:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12759","person_id":"10031"}
[2026-04-30 12:07:24] [INFO] Checking activity reminders 
[2026-04-30 12:07:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:07:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:07:40] [INFO] Activity save request {"post_data":{"contact_id":"6967","deal_id":"local_69d4da8cd7d966.48107679","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"بیپاسخ \r\nپیامک \/ پیام در بله ","activity_duration":"1","direction":"incoming","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:40] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:07:40] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:40] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6967","note_was_empty":true}
[2026-04-30 12:07:40] [INFO] Didar write disabled; saving activity locally {"contact_id":"6967","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:40] [INFO] Updating virtual stage {"contact_id":"6967","stage_name":"deal_registered","force":false}
[2026-04-30 12:07:40] [INFO] Virtual stage successfully saved {"contact_id":"6967","stage_name":"deal_registered"}
[2026-04-30 12:07:40] [INFO] Virtual stage updated after activity save {"contact_id":"6967"}
[2026-04-30 12:07:40] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d4da8cd7d966.48107679","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:07:40] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f314d46ccaa2.54149966","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:40] [INFO] Activity saved successfully {"activity_id":"local_activity_69f314d46ccaa2.54149966"}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:40] [INFO] Updating virtual stage {"contact_id":"6967","stage_name":"deal_registered","force":false}
[2026-04-30 12:07:40] [INFO] Virtual stage successfully saved {"contact_id":"6967","stage_name":"deal_registered"}
[2026-04-30 12:07:40] [INFO] Virtual stage updated after activity save {"contact_id":"6967"}
[2026-04-30 12:07:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6967","person_id":"17390"}
[2026-04-30 12:07:46] [INFO] Checking activity reminders 
[2026-04-30 12:07:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:07:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:07:54] [INFO] Checking activity reminders 
[2026-04-30 12:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:08:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:08:24] [INFO] Checking activity reminders 
[2026-04-30 12:08:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:08:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:08:26] [INFO] Checking activity reminders 
[2026-04-30 12:08:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:08:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:08:31] [INFO] Checking activity reminders 
[2026-04-30 12:08:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:08:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:08:37] [INFO] Checking activity reminders 
[2026-04-30 12:08:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:08:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:09:07] [INFO] Checking activity reminders 
[2026-04-30 12:09:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:09:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:09:37] [INFO] Checking activity reminders 
[2026-04-30 12:09:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:09:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:10:07] [INFO] Checking activity reminders 
[2026-04-30 12:10:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:10:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:10:37] [INFO] Checking activity reminders 
[2026-04-30 12:10:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:10:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:11:08] [INFO] Checking activity reminders 
[2026-04-30 12:11:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:11:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:11:29] [INFO] Checking activity reminders 
[2026-04-30 12:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:11:31] [INFO] Activity save request {"post_data":{"contact_id":"1250","deal_id":"local_69d0a02f2cd1f3.79786452","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:11:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"1250","note_was_empty":true}
[2026-04-30 12:11:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"1250","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:31] [INFO] Updating virtual stage {"contact_id":"1250","stage_name":"deal_registered","force":false}
[2026-04-30 12:11:31] [INFO] Virtual stage successfully saved {"contact_id":"1250","stage_name":"deal_registered"}
[2026-04-30 12:11:31] [INFO] Virtual stage updated after activity save {"contact_id":"1250"}
[2026-04-30 12:11:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a02f2cd1f3.79786452","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 12:11:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f315bb5cee34.11193024","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69f315bb5cee34.11193024"}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:31] [INFO] Updating virtual stage {"contact_id":"1250","stage_name":"deal_registered","force":false}
[2026-04-30 12:11:31] [INFO] Virtual stage successfully saved {"contact_id":"1250","stage_name":"deal_registered"}
[2026-04-30 12:11:31] [INFO] Virtual stage updated after activity save {"contact_id":"1250"}
[2026-04-30 12:11:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1250","person_id":"7018"}
[2026-04-30 12:11:38] [INFO] Checking activity reminders 
[2026-04-30 12:11:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:11:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:11:59] [INFO] Checking activity reminders 
[2026-04-30 12:11:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:11:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:12:08] [INFO] Checking activity reminders 
[2026-04-30 12:12:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:12:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:12:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:12:29] [INFO] Checking activity reminders 
[2026-04-30 12:12:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:12:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:12:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:12:38] [INFO] Checking activity reminders 
[2026-04-30 12:12:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:12:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:12:59] [INFO] Checking activity reminders 
[2026-04-30 12:12:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:12:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:13:08] [INFO] Checking activity reminders 
[2026-04-30 12:13:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:13:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:13:29] [INFO] Checking activity reminders 
[2026-04-30 12:13:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:13:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:13:38] [INFO] Checking activity reminders 
[2026-04-30 12:13:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:13:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:13:59] [INFO] Checking activity reminders 
[2026-04-30 12:13:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:13:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:14:08] [INFO] Checking activity reminders 
[2026-04-30 12:14:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:14:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:14:29] [INFO] Checking activity reminders 
[2026-04-30 12:14:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:14:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:14:38] [INFO] Checking activity reminders 
[2026-04-30 12:14:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:14:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:14:59] [INFO] Checking activity reminders 
[2026-04-30 12:14:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:14:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:15:08] [INFO] Checking activity reminders 
[2026-04-30 12:15:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:15:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:15:29] [INFO] Checking activity reminders 
[2026-04-30 12:15:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:15:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:15:38] [INFO] Checking activity reminders 
[2026-04-30 12:15:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:15:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:16:00] [INFO] Checking activity reminders 
[2026-04-30 12:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:16:08] [INFO] Checking activity reminders 
[2026-04-30 12:16:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:16:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:16:30] [INFO] Checking activity reminders 
[2026-04-30 12:16:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:16:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:16:38] [INFO] Checking activity reminders 
[2026-04-30 12:16:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:16:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:17:00] [INFO] Checking activity reminders 
[2026-04-30 12:17:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:17:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:17:08] [INFO] Checking activity reminders 
[2026-04-30 12:17:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:17:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:17:30] [INFO] Checking activity reminders 
[2026-04-30 12:17:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:17:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:17:39] [INFO] Checking activity reminders 
[2026-04-30 12:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:18:00] [INFO] Checking activity reminders 
[2026-04-30 12:18:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:18:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:18:09] [INFO] Checking activity reminders 
[2026-04-30 12:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:18:30] [INFO] Checking activity reminders 
[2026-04-30 12:18:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:18:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:18:39] [INFO] Checking activity reminders 
[2026-04-30 12:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:19:00] [INFO] Checking activity reminders 
[2026-04-30 12:19:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:19:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:19:09] [INFO] Checking activity reminders 
[2026-04-30 12:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:19:30] [INFO] Checking activity reminders 
[2026-04-30 12:19:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:19:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:19:39] [INFO] Checking activity reminders 
[2026-04-30 12:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:20:00] [INFO] Checking activity reminders 
[2026-04-30 12:20:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:20:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:20:09] [INFO] Checking activity reminders 
[2026-04-30 12:20:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:20:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:20:30] [INFO] Checking activity reminders 
[2026-04-30 12:20:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:20:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:20:39] [INFO] Checking activity reminders 
[2026-04-30 12:20:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:20:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:21:00] [INFO] Checking activity reminders 
[2026-04-30 12:21:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:21:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:21:09] [INFO] Checking activity reminders 
[2026-04-30 12:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:21:30] [INFO] Checking activity reminders 
[2026-04-30 12:21:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:21:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:21:40] [INFO] Checking activity reminders 
[2026-04-30 12:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:22:00] [INFO] Checking activity reminders 
[2026-04-30 12:22:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:22:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:22:10] [INFO] Checking activity reminders 
[2026-04-30 12:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:22:31] [INFO] Checking activity reminders 
[2026-04-30 12:22:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:22:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:22:40] [INFO] Checking activity reminders 
[2026-04-30 12:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:23:01] [INFO] Checking activity reminders 
[2026-04-30 12:23:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:23:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:23:10] [INFO] Checking activity reminders 
[2026-04-30 12:23:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:23:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:23:31] [INFO] Checking activity reminders 
[2026-04-30 12:23:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:23:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:23:40] [INFO] Checking activity reminders 
[2026-04-30 12:23:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:23:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:24:01] [INFO] Checking activity reminders 
[2026-04-30 12:24:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:24:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:24:10] [INFO] Checking activity reminders 
[2026-04-30 12:24:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:24:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:24:31] [INFO] Checking activity reminders 
[2026-04-30 12:24:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:24:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:24:40] [INFO] Checking activity reminders 
[2026-04-30 12:24:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:24:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:01] [INFO] Checking activity reminders 
[2026-04-30 12:25:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:25:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:10] [INFO] Checking activity reminders 
[2026-04-30 12:25:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:25:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:31] [INFO] Checking activity reminders 
[2026-04-30 12:25:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:25:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:35] [INFO] Activity save request {"post_data":{"contact_id":"702","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"2400 کل پرتفوی بوده \/ چند بار برداشت زده 18084 ت بوده کار انجام شده و به تارگت رسیده 598 کفتم اوکی هستی مورد تایید تمدید کنی گفت کاسب ماشینم میخوام مشاین بخره فعلا \r\nگفتم اوکی از شنبه خودتون طبق کانال پیش برین دیگه مجموعه کاری نداره به تارگت رسیدن\r\nگفتش خواستم اطلاع میدم","activity_duration":"25","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:25:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:25:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:25:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:25:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:25:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"702","note_was_empty":true}
[2026-04-30 12:25:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"702","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 12:25:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31907507c41.76561964","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:25:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:25:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31907507c41.76561964"}
[2026-04-30 12:25:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:25:35] [INFO] Updating virtual stage {"contact_id":"702","stage_name":"with_purchase","force":false}
[2026-04-30 12:25:35] [INFO] Virtual stage successfully saved {"contact_id":"702","stage_name":"with_purchase"}
[2026-04-30 12:25:35] [INFO] Virtual stage updated after activity save {"contact_id":"702"}
[2026-04-30 12:25:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"702","person_id":"20169"}
[2026-04-30 12:25:40] [INFO] Checking activity reminders 
[2026-04-30 12:25:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:25:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:42] [INFO] Checking activity reminders 
[2026-04-30 12:25:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:25:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:25:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:26:11] [INFO] Checking activity reminders 
[2026-04-30 12:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:26:12] [INFO] Checking activity reminders 
[2026-04-30 12:26:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:26:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:26:41] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"21324","deal_id":"local_69b73516024bc1.15288324","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 12:26:41","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 12:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:26:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"21324","is_new_deal":false}
[2026-04-30 12:26:41] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 12:26:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 12:26:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 12:26:41] [INFO] getContactPrimaryPhone called {"contact_id":"21324"}
[2026-04-30 12:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:26:41] [INFO] getContactPrimaryPhone result {"contact_id":"21324","person_found":true,"primary_phone":"9121000970"}
[2026-04-30 12:26:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121000970"}
[2026-04-30 12:26:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121000970","contact_id":"21324","deal_id":"local_69b73516024bc1.15288324","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 12:26:41"}
[2026-04-30 12:26:41] [INFO] DealController.save existing deal lookup {"deal_id":"local_69b73516024bc1.15288324","contact_id":"21324","existing_deal_found":true,"existing_contact_id":"21324","existing_title":"معامله سوم 9121000970 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 12:26:41"}
[2026-04-30 12:26:41] [INFO] DealController.save validated payments {"deal_id":"local_69b73516024bc1.15288324","contact_id":"21324","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-30 12:26:41] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21324","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 12:26:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69b73516024bc1.15288324","contact_didar_id":"21324","title":"معامله سوم 9121000970 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9121000970","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد ترحمی","existing_deal":"YES","existing_deal_id":"local_69b73516024bc1.15288324","existing_deal_status":"Pending","server_time":"2026-04-30 12:26:41","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 12:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:26:41] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69b73516024bc1.15288324","contact_id":"21324","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9121000970 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-04-30 12:26:41","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 12:26:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:26:41] [INFO] Checking activity reminders 
[2026-04-30 12:26:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:26:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:26:42] [INFO] Checking activity reminders 
[2026-04-30 12:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:27:11] [INFO] Checking activity reminders 
[2026-04-30 12:27:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:27:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:27:12] [INFO] Checking activity reminders 
[2026-04-30 12:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:27:41] [INFO] Checking activity reminders 
[2026-04-30 12:27:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:27:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:27:42] [INFO] Checking activity reminders 
[2026-04-30 12:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:28:11] [INFO] Checking activity reminders 
[2026-04-30 12:28:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:28:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:28:12] [INFO] Checking activity reminders 
[2026-04-30 12:28:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:28:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:28:41] [INFO] Checking activity reminders 
[2026-04-30 12:28:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:28:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:28:43] [INFO] Checking activity reminders 
[2026-04-30 12:28:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:28:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:29:11] [INFO] Checking activity reminders 
[2026-04-30 12:29:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:29:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:29:13] [INFO] Checking activity reminders 
[2026-04-30 12:29:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:29:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:29:41] [INFO] Checking activity reminders 
[2026-04-30 12:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:29:43] [INFO] Checking activity reminders 
[2026-04-30 12:29:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:29:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:30:11] [INFO] Checking activity reminders 
[2026-04-30 12:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:30:13] [INFO] Checking activity reminders 
[2026-04-30 12:30:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:30:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:30:41] [INFO] Checking activity reminders 
[2026-04-30 12:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:30:43] [INFO] Checking activity reminders 
[2026-04-30 12:30:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:30:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:31:12] [INFO] Checking activity reminders 
[2026-04-30 12:31:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:31:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:31:13] [INFO] Checking activity reminders 
[2026-04-30 12:31:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:31:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:31:42] [INFO] Checking activity reminders 
[2026-04-30 12:31:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:31:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:31:43] [INFO] Checking activity reminders 
[2026-04-30 12:31:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:31:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:32:12] [INFO] Checking activity reminders 
[2026-04-30 12:32:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:32:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:32:13] [INFO] Checking activity reminders 
[2026-04-30 12:32:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:32:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:32:42] [INFO] Checking activity reminders 
[2026-04-30 12:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:32:43] [INFO] Checking activity reminders 
[2026-04-30 12:32:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:32:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:33:12] [INFO] Checking activity reminders 
[2026-04-30 12:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:33:13] [INFO] Checking activity reminders 
[2026-04-30 12:33:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:33:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:33:42] [INFO] Checking activity reminders 
[2026-04-30 12:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:33:43] [INFO] Checking activity reminders 
[2026-04-30 12:33:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:33:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:34:12] [INFO] Checking activity reminders 
[2026-04-30 12:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:34:13] [INFO] Checking activity reminders 
[2026-04-30 12:34:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:34:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:34:42] [INFO] Checking activity reminders 
[2026-04-30 12:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:34:43] [INFO] Checking activity reminders 
[2026-04-30 12:34:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:34:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:35:12] [INFO] Checking activity reminders 
[2026-04-30 12:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:35:13] [INFO] Checking activity reminders 
[2026-04-30 12:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:35:42] [INFO] Checking activity reminders 
[2026-04-30 12:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:35:43] [INFO] Checking activity reminders 
[2026-04-30 12:35:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:35:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:36:12] [INFO] Checking activity reminders 
[2026-04-30 12:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:36:14] [INFO] Checking activity reminders 
[2026-04-30 12:36:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:36:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:36:43] [INFO] Checking activity reminders 
[2026-04-30 12:36:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:36:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:36:44] [INFO] Checking activity reminders 
[2026-04-30 12:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:37:13] [INFO] Checking activity reminders 
[2026-04-30 12:37:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:37:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:37:14] [INFO] Checking activity reminders 
[2026-04-30 12:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:37:43] [INFO] Checking activity reminders 
[2026-04-30 12:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:37:44] [INFO] Checking activity reminders 
[2026-04-30 12:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:38:05] [WARNING] Auth check failed - not authenticated {"session_id":"d60qakq011ouith33qtad99rn3","session_keys":[],"action":"log_client_event"}
[2026-04-30 12:38:05] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-04-30 12:38:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 12:38:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 12:38:10] [INFO] Checking activity reminders 
[2026-04-30 12:38:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:38:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:38:14] [INFO] Checking activity reminders 
[2026-04-30 12:38:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:38:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:38:40] [INFO] Checking activity reminders 
[2026-04-30 12:38:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:38:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:38:44] [INFO] Checking activity reminders 
[2026-04-30 12:38:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:38:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:39:10] [INFO] Checking activity reminders 
[2026-04-30 12:39:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:39:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:39:14] [INFO] Checking activity reminders 
[2026-04-30 12:39:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:39:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:39:40] [INFO] Checking activity reminders 
[2026-04-30 12:39:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:39:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:39:44] [INFO] Checking activity reminders 
[2026-04-30 12:39:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:39:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:40:10] [INFO] Checking activity reminders 
[2026-04-30 12:40:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:40:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:40:14] [INFO] Checking activity reminders 
[2026-04-30 12:40:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:40:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:40:41] [INFO] Checking activity reminders 
[2026-04-30 12:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:40:44] [INFO] Checking activity reminders 
[2026-04-30 12:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:41:11] [INFO] Checking activity reminders 
[2026-04-30 12:41:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:41:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:41:14] [INFO] Checking activity reminders 
[2026-04-30 12:41:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:41:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:41:41] [INFO] Checking activity reminders 
[2026-04-30 12:41:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:41:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:42:11] [INFO] Checking activity reminders 
[2026-04-30 12:42:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:42:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:42:41] [INFO] Checking activity reminders 
[2026-04-30 12:42:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:42:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:43:11] [INFO] Checking activity reminders 
[2026-04-30 12:43:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:43:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:43:41] [INFO] Checking activity reminders 
[2026-04-30 12:43:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:43:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:44:11] [INFO] Checking activity reminders 
[2026-04-30 12:44:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:44:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:44:21] [INFO] Checking activity reminders 
[2026-04-30 12:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:44:41] [INFO] Checking activity reminders 
[2026-04-30 12:44:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:44:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:44:51] [INFO] Checking activity reminders 
[2026-04-30 12:44:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:44:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:44:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 12:45:01] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:11] [INFO] Checking activity reminders 
[2026-04-30 12:45:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:45:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:45:26] [INFO] Checking activity reminders 
[2026-04-30 12:45:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:45:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:45:30] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بانک رفت بسته بود 12 شب میزنه 200 ت سی ای پی","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:45:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-04-30 12:45:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 12:45:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f31db2e3fed4.03337359","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69f31db2e3fed4.03337359"}
[2026-04-30 12:45:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:30] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-04-30 12:45:30] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-04-30 12:45:30] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-04-30 12:45:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:45:41] [INFO] Checking activity reminders 
[2026-04-30 12:45:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:45:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:45:56] [INFO] Checking activity reminders 
[2026-04-30 12:45:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:45:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:46:11] [INFO] Checking activity reminders 
[2026-04-30 12:46:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:46:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:46:26] [INFO] Checking activity reminders 
[2026-04-30 12:46:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:46:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:46:41] [INFO] Checking activity reminders 
[2026-04-30 12:46:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:46:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:46:56] [INFO] Checking activity reminders 
[2026-04-30 12:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:47:11] [INFO] Checking activity reminders 
[2026-04-30 12:47:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:47:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:47:26] [INFO] Checking activity reminders 
[2026-04-30 12:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:47:41] [INFO] Checking activity reminders 
[2026-04-30 12:47:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:47:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:47:56] [INFO] Checking activity reminders 
[2026-04-30 12:47:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:47:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:48:12] [INFO] Checking activity reminders 
[2026-04-30 12:48:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:48:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:48:26] [INFO] Checking activity reminders 
[2026-04-30 12:48:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:48:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:48:42] [INFO] Checking activity reminders 
[2026-04-30 12:48:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:48:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:48:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:48:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:48:44] [INFO] generateDealTitle result {"contact_id":"21324","person_name":"محمد ترحمی","mobile":"9121000970","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9121000970"}
[2026-04-30 12:48:56] [INFO] Checking activity reminders 
[2026-04-30 12:48:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:48:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:49:05] [INFO] DealController.save start {"is_new":true,"incoming_title":"CIP","contact_id":"21324","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 12:49:05","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 12:49:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:49:05] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"21324","is_new_deal":true}
[2026-04-30 12:49:05] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-30 12:49:05] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-30 12:49:05] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-30 12:49:05] [INFO] getContactPrimaryPhone called {"contact_id":"21324"}
[2026-04-30 12:49:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:49:05] [INFO] getContactPrimaryPhone result {"contact_id":"21324","person_found":true,"primary_phone":"9121000970"}
[2026-04-30 12:49:05] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121000970"}
[2026-04-30 12:49:05] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121000970","contact_id":"21324","deal_id":"","is_new_deal":true,"incoming_title":"CIP","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 12:49:05"}
[2026-04-30 12:49:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:49:05] [INFO] generateDealTitle result {"contact_id":"21324","person_name":"محمد ترحمی","mobile":"9121000970","existing_deals":3,"ordinal":"چهارم","title":"معامله چهارم 9121000970"}
[2026-04-30 12:49:05] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"21324","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-30 12:49:05] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21324","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 12:49:05] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"21324","title":"معامله چهارم 9121000970 | CIP","base_title_used":"معامله چهارم 9121000970","services_text":"CIP","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":200000000,"payment_amount":0,"payments_present":false,"requested_services":["CIP"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد ترحمی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-30 12:49:05","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 12:49:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:49:05] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-30 12:49:05] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"21324","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله چهارم 9121000970 | CIP","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":200000000,"payment_amount":0,"server_time":"2026-04-30 12:49:05","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 12:49:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 12:49:12] [INFO] Checking activity reminders 
[2026-04-30 12:49:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:49:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:49:26] [INFO] Checking activity reminders 
[2026-04-30 12:49:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:49:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:49:42] [INFO] Checking activity reminders 
[2026-04-30 12:49:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:49:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:49:57] [INFO] Checking activity reminders 
[2026-04-30 12:49:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:49:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:50:12] [INFO] Checking activity reminders 
[2026-04-30 12:50:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:50:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:50:27] [INFO] Checking activity reminders 
[2026-04-30 12:50:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:50:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:50:42] [INFO] Checking activity reminders 
[2026-04-30 12:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:50:57] [INFO] Checking activity reminders 
[2026-04-30 12:50:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:50:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:51:12] [INFO] Checking activity reminders 
[2026-04-30 12:51:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:51:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:51:27] [INFO] Checking activity reminders 
[2026-04-30 12:51:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:51:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:51:42] [INFO] Checking activity reminders 
[2026-04-30 12:51:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:51:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:51:57] [INFO] Checking activity reminders 
[2026-04-30 12:51:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:51:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:52:12] [INFO] Checking activity reminders 
[2026-04-30 12:52:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:52:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:52:13] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:52:22] [INFO] Lead update received {"contact_id":"6796","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 12:52:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:52:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:52:22] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"6796"}
[2026-04-30 12:52:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:52:27] [INFO] Checking activity reminders 
[2026-04-30 12:52:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:52:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:52:42] [INFO] Checking activity reminders 
[2026-04-30 12:52:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:52:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:52:57] [INFO] Checking activity reminders 
[2026-04-30 12:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:53:08] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 12:53:08","session_id":"d60qakq011ouith33qtad99rn3"}
[2026-04-30 12:53:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:53:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","is_new_deal":false}
[2026-04-30 12:53:08] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 12:53:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 12:53:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 12:53:08] [INFO] getContactPrimaryPhone called {"contact_id":"6796"}
[2026-04-30 12:53:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:53:08] [INFO] getContactPrimaryPhone result {"contact_id":"6796","person_found":true,"primary_phone":"9197705480"}
[2026-04-30 12:53:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197705480"}
[2026-04-30 12:53:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197705480","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 12:53:08"}
[2026-04-30 12:53:08] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","existing_deal_found":true,"existing_contact_id":"6796","existing_title":"معامله سوم 9197705480 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 12:53:08"}
[2026-04-30 12:53:08] [INFO] DealController.save validated payments {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","payments_count":0,"status":"pending","pipeline_stage":"ارسال لینک پرداخت"}
[2026-04-30 12:53:08] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6796","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 12:53:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6239163a1d8.62657493","contact_didar_id":"6796","title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9197705480","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"ارسال لینک پرداخت","status":"pending","payable_amount":27000000,"payment_amount":0,"payments_present":false,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی صفایی","existing_deal":"YES","existing_deal_id":"local_69d6239163a1d8.62657493","existing_deal_status":"Pending","server_time":"2026-04-30 12:53:08","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 12:53:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:53:08] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"ارسال لینک پرداخت","payable_amount":27000000,"payment_amount":0,"server_time":"2026-04-30 12:53:08","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 12:53:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:53:12] [INFO] Checking activity reminders 
[2026-04-30 12:53:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:53:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:53:27] [INFO] Checking activity reminders 
[2026-04-30 12:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:53:42] [INFO] Checking activity reminders 
[2026-04-30 12:53:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:53:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:53:57] [INFO] Checking activity reminders 
[2026-04-30 12:53:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:53:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:54:12] [INFO] Checking activity reminders 
[2026-04-30 12:54:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:54:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:54:27] [INFO] Checking activity reminders 
[2026-04-30 12:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:54:42] [INFO] Checking activity reminders 
[2026-04-30 12:54:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:54:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:54:57] [INFO] Checking activity reminders 
[2026-04-30 12:54:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:54:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:55:13] [INFO] Checking activity reminders 
[2026-04-30 12:55:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:55:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:55:28] [INFO] Checking activity reminders 
[2026-04-30 12:55:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:55:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:55:43] [INFO] Checking activity reminders 
[2026-04-30 12:55:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:55:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:55:58] [INFO] Checking activity reminders 
[2026-04-30 12:55:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:55:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:12] [INFO] Activity save request {"post_data":{"contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"تجهیزات دندان پزشکی و تعمیرات \r\nاندیشه \r\nدر جنگ خودرو اسیب دید و خسارت وارد شد \r\nدر بورس نوسان گیری \/ صندوق ها \/ 1 میلیارد قدرت خرید \r\nمیخواد ملک بخره \r\nنوسان دلار در کارش تاثیر گذاره \r\nپرزنت 405 \/ نوسانات کانال \r\nارسال شماره کارت \r\n","activity_duration":"36","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 12:56:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6796","note_was_empty":true}
[2026-04-30 12:56:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"6796","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:12] [INFO] Updating virtual stage {"contact_id":"6796","stage_name":"deal_registered","force":false}
[2026-04-30 12:56:12] [INFO] Virtual stage successfully saved {"contact_id":"6796","stage_name":"deal_registered"}
[2026-04-30 12:56:12] [INFO] Virtual stage updated after activity save {"contact_id":"6796"}
[2026-04-30 12:56:12] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d6239163a1d8.62657493","stage":"ارسال لینک پرداخت","status_change":null}
[2026-04-30 12:56:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f320349cf1a2.67606687","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69f320349cf1a2.67606687"}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:12] [INFO] Updating virtual stage {"contact_id":"6796","stage_name":"deal_registered","force":false}
[2026-04-30 12:56:12] [INFO] Virtual stage successfully saved {"contact_id":"6796","stage_name":"deal_registered"}
[2026-04-30 12:56:12] [INFO] Virtual stage updated after activity save {"contact_id":"6796"}
[2026-04-30 12:56:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 12:56:14] [INFO] Checking activity reminders 
[2026-04-30 12:56:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:16] [INFO] Checking activity reminders 
[2026-04-30 12:56:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:28] [INFO] Checking activity reminders 
[2026-04-30 12:56:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:49] [INFO] Checking activity reminders 
[2026-04-30 12:56:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:50] [INFO] Checking activity reminders 
[2026-04-30 12:56:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:56:58] [INFO] Checking activity reminders 
[2026-04-30 12:56:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:56:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:57:20] [INFO] Checking activity reminders 
[2026-04-30 12:57:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:57:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:57:28] [INFO] Checking activity reminders 
[2026-04-30 12:57:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:57:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:57:50] [INFO] Checking activity reminders 
[2026-04-30 12:57:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:57:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:57:58] [INFO] Checking activity reminders 
[2026-04-30 12:57:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:57:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:58:20] [INFO] Checking activity reminders 
[2026-04-30 12:58:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:58:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:58:28] [INFO] Checking activity reminders 
[2026-04-30 12:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:58:50] [INFO] Checking activity reminders 
[2026-04-30 12:58:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:58:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:58:58] [INFO] Checking activity reminders 
[2026-04-30 12:58:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:58:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:59:20] [INFO] Checking activity reminders 
[2026-04-30 12:59:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:59:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:59:28] [INFO] Checking activity reminders 
[2026-04-30 12:59:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:59:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:59:50] [INFO] Checking activity reminders 
[2026-04-30 12:59:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:59:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 12:59:58] [INFO] Checking activity reminders 
[2026-04-30 12:59:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 12:59:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:00:20] [INFO] Checking activity reminders 
[2026-04-30 13:00:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:00:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:00:28] [INFO] Checking activity reminders 
[2026-04-30 13:00:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:00:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:00:38] [INFO] Checking activity reminders 
[2026-04-30 13:00:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:00:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:00:58] [INFO] Checking activity reminders 
[2026-04-30 13:00:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:00:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:01:08] [INFO] Checking activity reminders 
[2026-04-30 13:01:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:01:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:01:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 13:01:25","session_id":"d60qakq011ouith33qtad99rn3"}
[2026-04-30 13:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","is_new_deal":false}
[2026-04-30 13:01:25] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:25] [INFO] getContactPrimaryPhone called {"contact_id":"6796"}
[2026-04-30 13:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:25] [INFO] getContactPrimaryPhone result {"contact_id":"6796","person_found":true,"primary_phone":"9197705480"}
[2026-04-30 13:01:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197705480"}
[2026-04-30 13:01:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197705480","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:01:25"}
[2026-04-30 13:01:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","existing_deal_found":true,"existing_contact_id":"6796","existing_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:01:25"}
[2026-04-30 13:01:25] [INFO] DealController.save validated payments {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 13:01:25] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6796","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 13:01:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6239163a1d8.62657493","contact_didar_id":"6796","title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9197705480","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":7000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی صفایی","existing_deal":"YES","existing_deal_id":"local_69d6239163a1d8.62657493","existing_deal_status":"Pending","server_time":"2026-04-30 13:01:25","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 13:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":7000000,"server_time":"2026-04-30 13:01:25","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 13:01:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:29] [INFO] Checking activity reminders 
[2026-04-30 13:01:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:01:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:01:32] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 13:01:32","session_id":"d60qakq011ouith33qtad99rn3"}
[2026-04-30 13:01:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","is_new_deal":false}
[2026-04-30 13:01:32] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-04-30 13:01:32] [INFO] getContactPrimaryPhone called {"contact_id":"6796"}
[2026-04-30 13:01:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:32] [INFO] getContactPrimaryPhone result {"contact_id":"6796","person_found":true,"primary_phone":"9197705480"}
[2026-04-30 13:01:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197705480"}
[2026-04-30 13:01:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197705480","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:01:32"}
[2026-04-30 13:01:32] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","existing_deal_found":true,"existing_contact_id":"6796","existing_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:01:32"}
[2026-04-30 13:01:32] [INFO] DealController.save validated payments {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 13:01:32] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6796","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 13:01:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6239163a1d8.62657493","contact_didar_id":"6796","title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9197705480","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":27000000,"payment_amount":7000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی صفایی","existing_deal":"YES","existing_deal_id":"local_69d6239163a1d8.62657493","existing_deal_status":"Pending","server_time":"2026-04-30 13:01:32","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 13:01:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:32] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":27000000,"payment_amount":7000000,"server_time":"2026-04-30 13:01:32","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 13:01:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-04-30 13:01:38] [INFO] Checking activity reminders 
[2026-04-30 13:01:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:01:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:01:59] [INFO] Checking activity reminders 
[2026-04-30 13:01:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:01:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:02:08] [INFO] Checking activity reminders 
[2026-04-30 13:02:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:02:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:02:39] [INFO] Checking activity reminders 
[2026-04-30 13:02:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:02:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:02:58] [INFO] Checking activity reminders 
[2026-04-30 13:02:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:02:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:03:06] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"check_reminders"}
[2026-04-30 13:03:06] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 13:03:06] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 13:03:09] [INFO] Checking activity reminders 
[2026-04-30 13:03:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:03:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:03:28] [INFO] Checking activity reminders 
[2026-04-30 13:03:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:03:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:03:39] [INFO] Checking activity reminders 
[2026-04-30 13:03:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:03:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:03:58] [INFO] Checking activity reminders 
[2026-04-30 13:03:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:03:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:04:09] [INFO] Checking activity reminders 
[2026-04-30 13:04:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:04:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:04:29] [INFO] Checking activity reminders 
[2026-04-30 13:04:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:04:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:04:39] [INFO] Checking activity reminders 
[2026-04-30 13:04:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:04:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:04:59] [INFO] Checking activity reminders 
[2026-04-30 13:04:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:04:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:03] [INFO] Checking activity reminders 
[2026-04-30 13:05:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:06] [INFO] Checking activity reminders 
[2026-04-30 13:05:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:09] [INFO] Checking activity reminders 
[2026-04-30 13:05:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:29] [INFO] Checking activity reminders 
[2026-04-30 13:05:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:39] [INFO] Checking activity reminders 
[2026-04-30 13:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:05:59] [INFO] Checking activity reminders 
[2026-04-30 13:05:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:05:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:06:09] [INFO] Checking activity reminders 
[2026-04-30 13:06:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:06:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:06:29] [INFO] Checking activity reminders 
[2026-04-30 13:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:06:39] [INFO] Checking activity reminders 
[2026-04-30 13:06:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:06:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:06:59] [INFO] Checking activity reminders 
[2026-04-30 13:06:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:06:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:07:09] [INFO] Checking activity reminders 
[2026-04-30 13:07:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:07:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:07:29] [INFO] Checking activity reminders 
[2026-04-30 13:07:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:07:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:07:39] [INFO] Checking activity reminders 
[2026-04-30 13:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:07:59] [INFO] Checking activity reminders 
[2026-04-30 13:07:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:07:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:08:09] [INFO] Checking activity reminders 
[2026-04-30 13:08:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:08:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:08:29] [INFO] Checking activity reminders 
[2026-04-30 13:08:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:08:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:08:39] [INFO] Checking activity reminders 
[2026-04-30 13:08:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:08:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:08:59] [INFO] Checking activity reminders 
[2026-04-30 13:08:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:08:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:09:09] [INFO] Checking activity reminders 
[2026-04-30 13:09:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:09:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:09:29] [INFO] Checking activity reminders 
[2026-04-30 13:09:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:09:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:09:40] [INFO] Checking activity reminders 
[2026-04-30 13:09:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:09:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:10:00] [INFO] Checking activity reminders 
[2026-04-30 13:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:10:10] [INFO] Checking activity reminders 
[2026-04-30 13:10:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:10:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:10:30] [INFO] Checking activity reminders 
[2026-04-30 13:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:10:40] [INFO] Checking activity reminders 
[2026-04-30 13:10:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:10:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:11:00] [INFO] Checking activity reminders 
[2026-04-30 13:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:11:10] [INFO] Checking activity reminders 
[2026-04-30 13:11:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:11:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:11:30] [INFO] Checking activity reminders 
[2026-04-30 13:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:11:40] [INFO] Checking activity reminders 
[2026-04-30 13:11:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:11:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:12:00] [INFO] Checking activity reminders 
[2026-04-30 13:12:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:12:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:12:10] [INFO] Checking activity reminders 
[2026-04-30 13:12:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:12:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:12:30] [INFO] Checking activity reminders 
[2026-04-30 13:12:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:12:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:12:40] [INFO] Checking activity reminders 
[2026-04-30 13:12:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:12:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:13:10] [INFO] Checking activity reminders 
[2026-04-30 13:13:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:13:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:13:41] [INFO] Checking activity reminders 
[2026-04-30 13:13:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:13:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:14:11] [INFO] Checking activity reminders 
[2026-04-30 13:14:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:14:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:14:41] [INFO] Checking activity reminders 
[2026-04-30 13:14:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:14:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:15:11] [INFO] Checking activity reminders 
[2026-04-30 13:15:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:15:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:15:41] [INFO] Checking activity reminders 
[2026-04-30 13:15:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:15:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:16:00] [INFO] Checking activity reminders 
[2026-04-30 13:16:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:16:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:16:10] [INFO] Checking activity reminders 
[2026-04-30 13:16:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:16:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:16:11] [INFO] Checking activity reminders 
[2026-04-30 13:16:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:16:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:16:41] [INFO] Checking activity reminders 
[2026-04-30 13:16:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:16:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:16:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"3481","person_id":"3140"}
[2026-04-30 13:17:11] [INFO] Checking activity reminders 
[2026-04-30 13:17:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:17:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:17:41] [INFO] Checking activity reminders 
[2026-04-30 13:17:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:17:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:18:12] [INFO] Checking activity reminders 
[2026-04-30 13:18:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:18:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:18:42] [INFO] Checking activity reminders 
[2026-04-30 13:18:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:18:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:18:47] [INFO] Checking activity reminders 
[2026-04-30 13:18:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:18:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:19:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:15] [INFO] Activity save request {"post_data":{"contact_id":"5092","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در دسترس نیست \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:15] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:19:15] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:15] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"5092","note_was_empty":true}
[2026-04-30 13:19:15] [INFO] Didar write disabled; saving activity locally {"contact_id":"5092","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 13:19:15] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3259bde7210.01539396","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:15] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3259bde7210.01539396"}
[2026-04-30 13:19:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:15] [INFO] Updating virtual stage {"contact_id":"5092","stage_name":"deal_registered","force":false}
[2026-04-30 13:19:15] [INFO] Virtual stage successfully saved {"contact_id":"5092","stage_name":"deal_registered"}
[2026-04-30 13:19:15] [INFO] Virtual stage updated after activity save {"contact_id":"5092"}
[2026-04-30 13:19:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"5092","person_id":"11505"}
[2026-04-30 13:19:17] [INFO] Checking activity reminders 
[2026-04-30 13:19:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:19:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:19:47] [INFO] Checking activity reminders 
[2026-04-30 13:19:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:19:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:20:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:17] [INFO] Checking activity reminders 
[2026-04-30 13:20:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:20:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:20:31] [INFO] Activity save request {"post_data":{"contact_id":"14402","deal_id":"local_69ca8634dbb9a1.90826647","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:31] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:20:31] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:31] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14402","note_was_empty":true}
[2026-04-30 13:20:31] [INFO] Didar write disabled; saving activity locally {"contact_id":"14402","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:31] [INFO] Updating virtual stage {"contact_id":"14402","stage_name":"deal_registered","force":false}
[2026-04-30 13:20:31] [INFO] Virtual stage successfully saved {"contact_id":"14402","stage_name":"deal_registered"}
[2026-04-30 13:20:31] [INFO] Virtual stage updated after activity save {"contact_id":"14402"}
[2026-04-30 13:20:31] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca8634dbb9a1.90826647","stage":"تماس پیگیری","status_change":null}
[2026-04-30 13:20:31] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f325e7385c39.19638356","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:31] [INFO] Activity saved successfully {"activity_id":"local_activity_69f325e7385c39.19638356"}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:31] [INFO] Updating virtual stage {"contact_id":"14402","stage_name":"deal_registered","force":false}
[2026-04-30 13:20:31] [INFO] Virtual stage successfully saved {"contact_id":"14402","stage_name":"deal_registered"}
[2026-04-30 13:20:31] [INFO] Virtual stage updated after activity save {"contact_id":"14402"}
[2026-04-30 13:20:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-04-30 13:20:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_1403_09_26_152","person_id":"21229"}
[2026-04-30 13:20:47] [INFO] Checking activity reminders 
[2026-04-30 13:20:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:20:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:21:17] [INFO] Checking activity reminders 
[2026-04-30 13:21:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:21:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:21:48] [INFO] Checking activity reminders 
[2026-04-30 13:21:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:21:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:21:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:22:18] [INFO] Checking activity reminders 
[2026-04-30 13:22:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:22:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:22:48] [INFO] Checking activity reminders 
[2026-04-30 13:22:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:22:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:23:08] [INFO] Activity save request {"post_data":{"contact_id":"2898","deal_id":"local_69d0a1272dec71.12233669","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:23:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:08] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:23:08] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:23:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:08] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2898","note_was_empty":true}
[2026-04-30 13:23:08] [INFO] Didar write disabled; saving activity locally {"contact_id":"2898","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 13:23:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:08] [INFO] Updating virtual stage {"contact_id":"2898","stage_name":"deal_registered","force":false}
[2026-04-30 13:23:08] [INFO] Virtual stage successfully saved {"contact_id":"2898","stage_name":"deal_registered"}
[2026-04-30 13:23:08] [INFO] Virtual stage updated after activity save {"contact_id":"2898"}
[2026-04-30 13:23:08] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69d0a1272dec71.12233669","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 13:23:08] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f32684eecec4.41097502","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:23:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:08] [INFO] Activity saved successfully {"activity_id":"local_activity_69f32684eecec4.41097502"}
[2026-04-30 13:23:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:08] [INFO] Updating virtual stage {"contact_id":"2898","stage_name":"deal_registered","force":false}
[2026-04-30 13:23:08] [INFO] Virtual stage successfully saved {"contact_id":"2898","stage_name":"deal_registered"}
[2026-04-30 13:23:08] [INFO] Virtual stage updated after activity save {"contact_id":"2898"}
[2026-04-30 13:23:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2898","person_id":"18515"}
[2026-04-30 13:23:18] [INFO] Checking activity reminders 
[2026-04-30 13:23:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:23:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:23:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:23:48] [INFO] Checking activity reminders 
[2026-04-30 13:23:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:23:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:24:18] [INFO] Checking activity reminders 
[2026-04-30 13:24:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:24:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:24:38] [INFO] Activity save request {"post_data":{"contact_id":"2947","deal_id":"local_69ca90762afa17.07440898","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیامک ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:38] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:24:38] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:38] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"2947","note_was_empty":true}
[2026-04-30 13:24:38] [INFO] Didar write disabled; saving activity locally {"contact_id":"2947","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:38] [INFO] Updating virtual stage {"contact_id":"2947","stage_name":"deal_registered","force":false}
[2026-04-30 13:24:38] [INFO] Virtual stage successfully saved {"contact_id":"2947","stage_name":"deal_registered"}
[2026-04-30 13:24:38] [INFO] Virtual stage updated after activity save {"contact_id":"2947"}
[2026-04-30 13:24:38] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca90762afa17.07440898","stage":"تماس عدم پاسخ","status_change":null}
[2026-04-30 13:24:38] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f326dec9cf59.60385431","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:38] [INFO] Activity saved successfully {"activity_id":"local_activity_69f326dec9cf59.60385431"}
[2026-04-30 13:24:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:38] [INFO] Updating virtual stage {"contact_id":"2947","stage_name":"deal_registered","force":false}
[2026-04-30 13:24:38] [INFO] Virtual stage successfully saved {"contact_id":"2947","stage_name":"deal_registered"}
[2026-04-30 13:24:38] [INFO] Virtual stage updated after activity save {"contact_id":"2947"}
[2026-04-30 13:24:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2947","person_id":"12455"}
[2026-04-30 13:24:48] [INFO] Checking activity reminders 
[2026-04-30 13:24:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:24:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:25:18] [INFO] Checking activity reminders 
[2026-04-30 13:25:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:25:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:25:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:25:48] [INFO] Checking activity reminders 
[2026-04-30 13:25:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:25:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:26:00] [INFO] Activity save request {"post_data":{"contact_id":"11768","deal_id":"local_699d72d59585d5.67909885","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام","activity_duration":"1","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:00] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:26:00] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:00] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11768","note_was_empty":true}
[2026-04-30 13:26:00] [INFO] Didar write disabled; saving activity locally {"contact_id":"11768","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:00] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-30 13:26:00] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-30 13:26:00] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-30 13:26:00] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d72d59585d5.67909885","stage":"تماس پیگیری","status_change":null}
[2026-04-30 13:26:00] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f32730bd8868.88428744","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:00] [INFO] Activity saved successfully {"activity_id":"local_activity_69f32730bd8868.88428744"}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:00] [INFO] Updating virtual stage {"contact_id":"11768","stage_name":"deal_registered","force":false}
[2026-04-30 13:26:00] [INFO] Virtual stage successfully saved {"contact_id":"11768","stage_name":"deal_registered"}
[2026-04-30 13:26:00] [INFO] Virtual stage updated after activity save {"contact_id":"11768"}
[2026-04-30 13:26:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11768","person_id":"17210"}
[2026-04-30 13:26:18] [INFO] Checking activity reminders 
[2026-04-30 13:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:26:48] [INFO] Checking activity reminders 
[2026-04-30 13:26:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:26:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:26:58] [INFO] Checking activity reminders 
[2026-04-30 13:26:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:26:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:27:18] [INFO] Checking activity reminders 
[2026-04-30 13:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:27:28] [INFO] Checking activity reminders 
[2026-04-30 13:27:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:27:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:27:48] [INFO] Checking activity reminders 
[2026-04-30 13:27:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:27:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:27:58] [INFO] Checking activity reminders 
[2026-04-30 13:27:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:27:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:28:19] [INFO] Checking activity reminders 
[2026-04-30 13:28:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:28:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:28:28] [INFO] Checking activity reminders 
[2026-04-30 13:28:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:28:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:28:49] [INFO] Checking activity reminders 
[2026-04-30 13:28:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:28:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:28:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:28:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:28:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:28:56] [INFO] generateDealTitle result {"contact_id":"12287","person_name":"بابایی","mobile":"9114551442","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9114551442"}
[2026-04-30 13:28:59] [INFO] Checking activity reminders 
[2026-04-30 13:28:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:28:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:29:19] [INFO] Checking activity reminders 
[2026-04-30 13:29:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:29:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:29:29] [INFO] Checking activity reminders 
[2026-04-30 13:29:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:29:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:29:45] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"12287","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 13:29:45","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"12287","is_new_deal":true}
[2026-04-30 13:29:45] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-30 13:29:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-30 13:29:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-30 13:29:45] [INFO] getContactPrimaryPhone called {"contact_id":"12287"}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:45] [INFO] getContactPrimaryPhone result {"contact_id":"12287","person_found":true,"primary_phone":"9114551442"}
[2026-04-30 13:29:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9114551442"}
[2026-04-30 13:29:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9114551442","contact_id":"12287","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 13:29:45"}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:45] [INFO] generateDealTitle result {"contact_id":"12287","person_name":"بابایی","mobile":"9114551442","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9114551442"}
[2026-04-30 13:29:45] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"12287","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-30 13:29:45] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"12287","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 13:29:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"12287","title":"معامله دوم 9114551442 | کارشناسی حضوری","base_title_used":"معامله دوم 9114551442","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":10000000,"payment_amount":10000000,"payments_present":true,"requested_services":["کارشناسی حضوری"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بابایی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-30 13:29:45","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:45] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-30 13:29:45] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"12287","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9114551442 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":10000000,"payment_amount":10000000,"server_time":"2026-04-30 13:29:45","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 13:29:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:47] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:29:47] [INFO] generateDealTitle result {"contact_id":"12287","person_name":"بابایی","mobile":"9114551442","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9114551442"}
[2026-04-30 13:29:49] [INFO] Checking activity reminders 
[2026-04-30 13:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:29:59] [INFO] Checking activity reminders 
[2026-04-30 13:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:30:19] [INFO] Checking activity reminders 
[2026-04-30 13:30:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:30:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:30:26] [INFO] Checking activity reminders 
[2026-04-30 13:30:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:30:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:30:29] [INFO] Checking activity reminders 
[2026-04-30 13:30:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:30:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:30:41] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"12287","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 13:30:41","session_id":"78afjctikklscicfepv6159vdm"}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:30:41] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"12287","is_new_deal":true}
[2026-04-30 13:30:41] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-04-30 13:30:41] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-04-30 13:30:41] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-04-30 13:30:41] [INFO] getContactPrimaryPhone called {"contact_id":"12287"}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:30:41] [INFO] getContactPrimaryPhone result {"contact_id":"12287","person_found":true,"primary_phone":"9114551442"}
[2026-04-30 13:30:41] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9114551442"}
[2026-04-30 13:30:41] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9114551442","contact_id":"12287","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-04-30 13:30:41"}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:30:41] [INFO] generateDealTitle result {"contact_id":"12287","person_name":"بابایی","mobile":"9114551442","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9114551442"}
[2026-04-30 13:30:41] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"12287","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-04-30 13:30:41] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"12287","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 13:30:41] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"12287","title":"معامله سوم 9114551442 | هوش خودرو","base_title_used":"معامله سوم 9114551442","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":5000000,"payment_amount":5000000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"بابایی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-30 13:30:41","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:30:41] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-30 13:30:41] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"12287","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9114551442 | هوش خودرو","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":5000000,"payment_amount":5000000,"server_time":"2026-04-30 13:30:41","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:30:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 13:30:56] [INFO] Checking activity reminders 
[2026-04-30 13:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:30:59] [INFO] Checking activity reminders 
[2026-04-30 13:30:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:30:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:31:26] [INFO] Checking activity reminders 
[2026-04-30 13:31:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:31:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:31:29] [INFO] Checking activity reminders 
[2026-04-30 13:31:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:31:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:31:30] [INFO] Activity save request {"post_data":{"contact_id":"12287","deal_id":"local_69f3284987e3d9.14736002","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بلاخره واریز کرد 15ت هوش کارشناسی سایت فعال ارجاع به پشتیبانی \r\nکلاس اطلاع میدیم\r\nکانال فعلا شرایط نداره 200 ت طلا بخره سرمایه بیشتر شد اطلاع بده","activity_duration":"20","direction":"outgoing","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-04-30 13:31:30] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"12287","note_was_empty":true}
[2026-04-30 13:31:30] [INFO] Didar write disabled; saving activity locally {"contact_id":"12287","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Updating virtual stage {"contact_id":"12287","stage_name":"with_purchase","force":false}
[2026-04-30 13:31:30] [INFO] Virtual stage successfully saved {"contact_id":"12287","stage_name":"with_purchase"}
[2026-04-30 13:31:30] [INFO] Virtual stage updated after activity save {"contact_id":"12287"}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f3284987e3d9.14736002","stage":"اتمام","status_change":"Won"}
[2026-04-30 13:31:30] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f3287a981397.80744538","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Activity saved successfully {"activity_id":"local_activity_69f3287a981397.80744538"}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:31:30] [INFO] Updating virtual stage {"contact_id":"12287","stage_name":"with_purchase","force":false}
[2026-04-30 13:31:30] [INFO] Virtual stage successfully saved {"contact_id":"12287","stage_name":"with_purchase"}
[2026-04-30 13:31:30] [INFO] Virtual stage updated after activity save {"contact_id":"12287"}
[2026-04-30 13:31:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 13:32:20] [INFO] Checking activity reminders 
[2026-04-30 13:32:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:32:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:32:50] [INFO] Checking activity reminders 
[2026-04-30 13:32:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:32:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:33:21] [INFO] Checking activity reminders 
[2026-04-30 13:33:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:33:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:33:51] [INFO] Checking activity reminders 
[2026-04-30 13:33:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:33:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:34:21] [INFO] Checking activity reminders 
[2026-04-30 13:34:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:34:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:34:29] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 13:34:29","session_id":"d60qakq011ouith33qtad99rn3"}
[2026-04-30 13:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 13:34:29] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"12744","is_new_deal":false}
[2026-04-30 13:34:29] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-04-30 13:34:29] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 13:34:29] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-04-30 13:34:29] [INFO] getContactPrimaryPhone called {"contact_id":"12744"}
[2026-04-30 13:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 13:34:29] [INFO] getContactPrimaryPhone result {"contact_id":"12744","person_found":true,"primary_phone":"9387121570"}
[2026-04-30 13:34:29] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9387121570"}
[2026-04-30 13:34:29] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9387121570","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:34:29"}
[2026-04-30 13:34:29] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","existing_deal_found":true,"existing_contact_id":"12744","existing_title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-04-30 13:34:29"}
[2026-04-30 13:34:29] [INFO] DealController.save validated payments {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 13:34:29] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12744","is_admin_or_crm":false,"permission_check_passed":true}
[2026-04-30 13:34:29] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7fa564ab056.29171629","contact_didar_id":"12744","title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","base_title_used":"معامله اول 9387121570","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":44000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسین معتمدی","existing_deal":"YES","existing_deal_id":"local_69c7fa564ab056.29171629","existing_deal_status":"Pending","server_time":"2026-04-30 13:34:29","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-04-30 13:34:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 13:34:29] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":44000000,"server_time":"2026-04-30 13:34:29","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 13:34:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 13:34:51] [INFO] Checking activity reminders 
[2026-04-30 13:34:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:34:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:35:21] [INFO] Checking activity reminders 
[2026-04-30 13:35:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:35:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:35:51] [INFO] Checking activity reminders 
[2026-04-30 13:35:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:35:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:36:21] [INFO] Checking activity reminders 
[2026-04-30 13:36:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:36:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:36:51] [INFO] Checking activity reminders 
[2026-04-30 13:36:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:36:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:37:21] [INFO] Checking activity reminders 
[2026-04-30 13:37:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:37:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:37:52] [INFO] Checking activity reminders 
[2026-04-30 13:37:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:37:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:38:22] [INFO] Checking activity reminders 
[2026-04-30 13:38:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:38:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:38:52] [INFO] Checking activity reminders 
[2026-04-30 13:38:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:38:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:39:22] [INFO] Checking activity reminders 
[2026-04-30 13:39:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:39:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:39:52] [INFO] Checking activity reminders 
[2026-04-30 13:39:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:39:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:40:22] [INFO] Checking activity reminders 
[2026-04-30 13:40:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:40:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:40:52] [INFO] Checking activity reminders 
[2026-04-30 13:40:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:40:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:41:22] [INFO] Checking activity reminders 
[2026-04-30 13:41:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:41:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:41:52] [INFO] Checking activity reminders 
[2026-04-30 13:41:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:41:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:42:22] [INFO] Checking activity reminders 
[2026-04-30 13:42:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:42:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:42:52] [INFO] Checking activity reminders 
[2026-04-30 13:42:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:42:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:43:22] [INFO] Checking activity reminders 
[2026-04-30 13:43:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:43:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:43:53] [INFO] Checking activity reminders 
[2026-04-30 13:43:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:43:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 13:44:23] [INFO] Checking activity reminders 
[2026-04-30 13:44:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 13:44:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:01:48] [INFO] Checking activity reminders 
[2026-04-30 14:01:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:01:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:02:18] [INFO] Checking activity reminders 
[2026-04-30 14:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:02:56] [INFO] Checking activity reminders 
[2026-04-30 14:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:03:26] [INFO] Checking activity reminders 
[2026-04-30 14:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:03:56] [INFO] Checking activity reminders 
[2026-04-30 14:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:04:27] [INFO] Checking activity reminders 
[2026-04-30 14:04:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:04:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:04:57] [INFO] Checking activity reminders 
[2026-04-30 14:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:05:07] [INFO] Checking activity reminders 
[2026-04-30 14:05:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:05:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:05:10] [INFO] Checking activity reminders 
[2026-04-30 14:05:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:05:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:05:16] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 14:05:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:05:37] [INFO] Checking activity reminders 
[2026-04-30 14:05:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:05:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:06:08] [INFO] Checking activity reminders 
[2026-04-30 14:06:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:06:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:17:33] [INFO] Checking activity reminders 
[2026-04-30 14:17:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:17:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:18:03] [INFO] Checking activity reminders 
[2026-04-30 14:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:18:34] [INFO] Checking activity reminders 
[2026-04-30 14:18:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:18:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:19:04] [INFO] Checking activity reminders 
[2026-04-30 14:19:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:19:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:19:34] [INFO] Checking activity reminders 
[2026-04-30 14:19:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:19:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:19:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 14:19:52] [INFO] Checking activity reminders 
[2026-04-30 14:19:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:19:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:20:05] [INFO] Checking activity reminders 
[2026-04-30 14:20:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:20:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:20:36] [INFO] Checking activity reminders 
[2026-04-30 14:20:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:20:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:21:06] [INFO] Checking activity reminders 
[2026-04-30 14:21:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:21:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:21:36] [INFO] Checking activity reminders 
[2026-04-30 14:21:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:21:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:22:06] [INFO] Checking activity reminders 
[2026-04-30 14:22:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:22:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:22:36] [INFO] Checking activity reminders 
[2026-04-30 14:22:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:22:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:23:06] [INFO] Checking activity reminders 
[2026-04-30 14:23:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:23:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:23:36] [INFO] Checking activity reminders 
[2026-04-30 14:23:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:23:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:24:06] [INFO] Checking activity reminders 
[2026-04-30 14:24:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:24:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:24:36] [INFO] Checking activity reminders 
[2026-04-30 14:24:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:24:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:25:06] [INFO] Checking activity reminders 
[2026-04-30 14:25:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:25:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:25:36] [INFO] Checking activity reminders 
[2026-04-30 14:25:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:25:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:26:06] [INFO] Checking activity reminders 
[2026-04-30 14:26:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:26:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:26:37] [INFO] Checking activity reminders 
[2026-04-30 14:26:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:26:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:27:07] [INFO] Checking activity reminders 
[2026-04-30 14:27:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:27:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:27:37] [INFO] Checking activity reminders 
[2026-04-30 14:27:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:27:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:28:07] [INFO] Checking activity reminders 
[2026-04-30 14:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:28:37] [INFO] Checking activity reminders 
[2026-04-30 14:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:29:07] [INFO] Checking activity reminders 
[2026-04-30 14:29:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:29:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:29:37] [INFO] Checking activity reminders 
[2026-04-30 14:29:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:29:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:30:07] [INFO] Checking activity reminders 
[2026-04-30 14:30:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:30:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:30:54] [INFO] Checking activity reminders 
[2026-04-30 14:30:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:30:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:31:24] [INFO] Checking activity reminders 
[2026-04-30 14:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:31:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:31:54] [INFO] Checking activity reminders 
[2026-04-30 14:31:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:31:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:32:24] [INFO] Checking activity reminders 
[2026-04-30 14:32:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:32:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:32:54] [INFO] Checking activity reminders 
[2026-04-30 14:32:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:32:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:33:24] [INFO] Checking activity reminders 
[2026-04-30 14:33:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:33:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:33:54] [INFO] Checking activity reminders 
[2026-04-30 14:33:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:33:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:34:24] [INFO] Checking activity reminders 
[2026-04-30 14:34:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:34:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:34:54] [INFO] Checking activity reminders 
[2026-04-30 14:34:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:34:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:35:24] [INFO] Checking activity reminders 
[2026-04-30 14:35:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:35:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:35:54] [INFO] Checking activity reminders 
[2026-04-30 14:35:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:35:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:36:24] [INFO] Checking activity reminders 
[2026-04-30 14:36:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:36:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:36:55] [INFO] Checking activity reminders 
[2026-04-30 14:36:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:36:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:37:25] [INFO] Checking activity reminders 
[2026-04-30 14:37:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:37:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:37:55] [INFO] Checking activity reminders 
[2026-04-30 14:37:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:37:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:38:25] [INFO] Checking activity reminders 
[2026-04-30 14:38:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:38:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:38:55] [INFO] Checking activity reminders 
[2026-04-30 14:38:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:38:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:39:25] [INFO] Checking activity reminders 
[2026-04-30 14:39:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:39:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:39:55] [INFO] Checking activity reminders 
[2026-04-30 14:39:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:39:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:40:25] [INFO] Checking activity reminders 
[2026-04-30 14:40:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:40:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:40:55] [INFO] Checking activity reminders 
[2026-04-30 14:40:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:40:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:41:25] [INFO] Checking activity reminders 
[2026-04-30 14:41:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:41:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:41:55] [INFO] Checking activity reminders 
[2026-04-30 14:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:42:25] [INFO] Checking activity reminders 
[2026-04-30 14:42:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:42:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:42:55] [INFO] Checking activity reminders 
[2026-04-30 14:42:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:42:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:43:25] [INFO] Checking activity reminders 
[2026-04-30 14:43:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:43:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:43:45] [INFO] Checking activity reminders 
[2026-04-30 14:43:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:43:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:44:15] [INFO] Checking activity reminders 
[2026-04-30 14:44:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:44:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:44:45] [INFO] Checking activity reminders 
[2026-04-30 14:44:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:44:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:45:15] [INFO] Checking activity reminders 
[2026-04-30 14:45:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:45:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:45:45] [INFO] Checking activity reminders 
[2026-04-30 14:45:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:45:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:46:15] [INFO] Checking activity reminders 
[2026-04-30 14:46:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:46:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:46:45] [INFO] Checking activity reminders 
[2026-04-30 14:46:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:46:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:47:07] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"check_reminders"}
[2026-04-30 14:47:07] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:07] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:08] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:08] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:09] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:09] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:16] [INFO] Checking activity reminders 
[2026-04-30 14:47:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:47:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:47:17] [WARNING] Auth check failed - not authenticated {"session_id":"k1b31kne6554r1i0f8gbfh0ka8","session_keys":[],"action":"log_client_event"}
[2026-04-30 14:47:17] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-30 14:47:17] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-30 14:47:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 14:47:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 14:47:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 14:47:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 14:47:24] [INFO] Checking activity reminders 
[2026-04-30 14:47:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:47:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:47:29] [INFO] Checking activity reminders 
[2026-04-30 14:47:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:47:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:47:40] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["9908810996","09908810996"]}
[2026-04-30 14:47:40] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["9908810996","09908810996"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-04-30 14:47:40] [INFO] Didar write disabled; creating local lead only {"owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","mobile":"9908810996","full_name":"لید جدید"}
[2026-04-30 14:47:40] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-04-30 14:47:40] [INFO] Notification created {"notification_id":"686","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","type":"lead_assigned","show_popup":true}
[2026-04-30 14:47:46] [INFO] Checking activity reminders 
[2026-04-30 14:47:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:47:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:48:16] [INFO] Checking activity reminders 
[2026-04-30 14:48:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:48:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:48:46] [INFO] Checking activity reminders 
[2026-04-30 14:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:49:16] [INFO] Checking activity reminders 
[2026-04-30 14:49:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:49:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:49:34] [INFO] Checking activity reminders 
[2026-04-30 14:49:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:49:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:49:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:49:46] [INFO] Checking activity reminders 
[2026-04-30 14:49:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:49:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:50:04] [INFO] Checking activity reminders 
[2026-04-30 14:50:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:50:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:50:14] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 14:50:14","session_id":"k1b31kne6554r1i0f8gbfh0ka8"}
[2026-04-30 14:50:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:50:14] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان","contact_id":"12744","is_new_deal":false}
[2026-04-30 14:50:14] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان"}
[2026-04-30 14:50:14] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 14:50:14] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان"}
[2026-04-30 14:50:14] [INFO] getContactPrimaryPhone called {"contact_id":"12744"}
[2026-04-30 14:50:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:50:14] [INFO] getContactPrimaryPhone result {"contact_id":"12744","person_found":true,"primary_phone":"9387121570"}
[2026-04-30 14:50:14] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9387121570"}
[2026-04-30 14:50:14] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9387121570","contact_id":"12744","deal_id":"local_69c7fa564ab056.29171629","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 14:50:14"}
[2026-04-30 14:50:14] [INFO] DealController.save existing deal lookup {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","existing_deal_found":true,"existing_contact_id":"12744","existing_title":"معامله اول 9387121570 | کانال VIP با پشتیبانی","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 14:50:14"}
[2026-04-30 14:50:14] [INFO] DealController.save validated payments {"deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","payments_count":3,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-04-30 14:50:14] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"12744","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-30 14:50:14] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69c7fa564ab056.29171629","contact_didar_id":"12744","title":"معامله اول 9387121570 | کانال VIP بدون پشتیبان","base_title_used":"معامله اول 9387121570","services_text":"کانال VIP بدون پشتیبان","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":54000000,"payment_amount":44000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"محمدحسین معتمدی","existing_deal":"YES","existing_deal_id":"local_69c7fa564ab056.29171629","existing_deal_status":"Pending","server_time":"2026-04-30 14:50:14","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-30 14:50:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:50:14] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69c7fa564ab056.29171629","contact_id":"12744","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9387121570 | کانال VIP بدون پشتیبان","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":54000000,"payment_amount":44000000,"server_time":"2026-04-30 14:50:14","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 14:50:14] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 14:50:16] [INFO] Checking activity reminders 
[2026-04-30 14:50:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:50:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:50:46] [INFO] Checking activity reminders 
[2026-04-30 14:50:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:50:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:51:16] [INFO] Checking activity reminders 
[2026-04-30 14:51:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:51:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:51:26] [INFO] Checking activity reminders 
[2026-04-30 14:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:51:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-04-30 14:51:46] [INFO] Checking activity reminders 
[2026-04-30 14:51:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:51:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:51:56] [INFO] Checking activity reminders 
[2026-04-30 14:51:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:51:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:52:07] [INFO] Checking activity reminders 
[2026-04-30 14:52:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:52:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:52:16] [INFO] Checking activity reminders 
[2026-04-30 14:52:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:52:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:52:46] [INFO] Checking activity reminders 
[2026-04-30 14:52:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:52:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:53:16] [INFO] Checking activity reminders 
[2026-04-30 14:53:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:53:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:53:46] [INFO] Checking activity reminders 
[2026-04-30 14:53:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:53:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:54:16] [INFO] Checking activity reminders 
[2026-04-30 14:54:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:54:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:54:47] [INFO] Checking activity reminders 
[2026-04-30 14:54:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:54:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:55:17] [INFO] Checking activity reminders 
[2026-04-30 14:55:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:55:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:55:47] [INFO] Checking activity reminders 
[2026-04-30 14:55:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:55:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:59:07] [INFO] Checking activity reminders 
[2026-04-30 14:59:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 14:59:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 14:59:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12287","person_id":"11481"}
[2026-04-30 15:01:06] [INFO] Checking activity reminders 
[2026-04-30 15:01:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:01:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:01:36] [INFO] Checking activity reminders 
[2026-04-30 15:01:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:01:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:02:06] [INFO] Checking activity reminders 
[2026-04-30 15:02:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:02:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:02:36] [INFO] Checking activity reminders 
[2026-04-30 15:02:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:02:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:05:19] [INFO] Checking activity reminders 
[2026-04-30 15:05:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:05:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:05:31] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12744","person_id":"14262"}
[2026-04-30 15:47:55] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 15:47:55] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-04-30 15:47:55] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-04-30 15:47:55] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-04-30 15:47:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-04-30 15:47:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-04-30 15:47:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-04-30 15:48:05] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:10] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:10] [INFO] generateDealTitle result {"contact_id":"16850","person_name":"9910709571","mobile":"9910709571","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9910709571"}
[2026-04-30 15:48:25] [INFO] Checking activity reminders 
[2026-04-30 15:48:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 15:48:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 15:48:26] [INFO] DealController.save start {"is_new":true,"incoming_title":"کارشناسی حضوری","contact_id":"16850","deal_id":"","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 15:48:26","session_id":"r5h5dnmq79si3cfoa19eago8j8"}
[2026-04-30 15:48:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:26] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کارشناسی حضوری","contact_id":"16850","is_new_deal":true}
[2026-04-30 15:48:26] [INFO] extractPhoneFromDealTitle called {"input_title":"کارشناسی حضوری"}
[2026-04-30 15:48:26] [INFO] extractPhoneFromDealTitle processing {"title_part":"کارشناسی حضوری"}
[2026-04-30 15:48:26] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کارشناسی حضوری"}
[2026-04-30 15:48:26] [INFO] getContactPrimaryPhone called {"contact_id":"16850"}
[2026-04-30 15:48:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:26] [INFO] getContactPrimaryPhone result {"contact_id":"16850","person_found":true,"primary_phone":"9910709571"}
[2026-04-30 15:48:26] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9910709571"}
[2026-04-30 15:48:26] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9910709571","contact_id":"16850","deal_id":"","is_new_deal":true,"incoming_title":"کارشناسی حضوری","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 15:48:26"}
[2026-04-30 15:48:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:26] [INFO] generateDealTitle result {"contact_id":"16850","person_name":"9910709571","mobile":"9910709571","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9910709571"}
[2026-04-30 15:48:26] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"16850","payments_count":0,"status":"pending","pipeline_stage":"معامله جدید"}
[2026-04-30 15:48:26] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"16850","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-30 15:48:26] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"16850","title":"معامله دوم 9910709571 | کارشناسی حضوری","base_title_used":"معامله دوم 9910709571","services_text":"کارشناسی حضوری","requested_services_count":1,"pipeline_stage":"معامله جدید","status":"pending","payable_amount":10000000,"payment_amount":0,"payments_present":false,"requested_services":["کارشناسی حضوری"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"9910709571","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-04-30 15:48:26","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-30 15:48:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 15:48:26] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-04-30 15:48:26] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"16850","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله دوم 9910709571 | کارشناسی حضوری","deal_status":"pending","pipeline_stage":"معامله جدید","payable_amount":10000000,"payment_amount":0,"server_time":"2026-04-30 15:48:26","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 15:48:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 16:18:17] [INFO] Checking activity reminders 
[2026-04-30 16:18:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 16:18:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 16:18:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"1365","deal_id":"local_6942675de2a059.96180156","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-04-30 16:18:45","session_id":"r5h5dnmq79si3cfoa19eago8j8"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"1365","is_new_deal":false}
[2026-04-30 16:18:45] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-04-30 16:18:45] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-04-30 16:18:45] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-04-30 16:18:45] [INFO] getContactPrimaryPhone called {"contact_id":"1365"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [INFO] getContactPrimaryPhone result {"contact_id":"1365","person_found":true,"primary_phone":"9371431616"}
[2026-04-30 16:18:45] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9371431616"}
[2026-04-30 16:18:45] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9371431616","contact_id":"1365","deal_id":"local_6942675de2a059.96180156","is_new_deal":false,"incoming_title":"CIP","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 16:18:45"}
[2026-04-30 16:18:45] [INFO] DealController.save existing deal lookup {"deal_id":"local_6942675de2a059.96180156","contact_id":"1365","existing_deal_found":true,"existing_contact_id":"1365","existing_title":"معامله اول 9371431616 | معامله اول 9371431616","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","server_time":"2026-04-30 16:18:45"}
[2026-04-30 16:18:45] [INFO] DealController.save validated payments {"deal_id":"local_6942675de2a059.96180156","contact_id":"1365","payments_count":1,"status":"won","pipeline_stage":"برگزاری دوره"}
[2026-04-30 16:18:45] [INFO] DealController.save validating permissions {"current_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_id":"1365","is_admin_or_crm":true,"permission_check_passed":true}
[2026-04-30 16:18:45] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_6942675de2a059.96180156","contact_didar_id":"1365","title":"معامله اول 9371431616 | CIP","base_title_used":"معامله اول 9371431616","services_text":"CIP","requested_services_count":1,"pipeline_stage":"برگزاری دوره","status":"won","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","contact_name":"طاهرخانی","existing_deal":"YES","existing_deal_id":"local_6942675de2a059.96180156","existing_deal_status":"Pending","server_time":"2026-04-30 16:18:45","session_data":{"didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","name":"امیر سهرابی ","user_id":"6"}}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [INFO] Deal success processed {"contact_id":"1365","person_name":"طاهرخانی","products_count":1}
[2026-04-30 16:18:45] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_6942675de2a059.96180156","contact_id":"1365","contact_owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","user_name":"امیر سهرابی ","deal_title":"معامله اول 9371431616 | CIP","deal_status":"won","pipeline_stage":"برگزاری دوره","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-04-30 16:18:45","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:45] [INFO] Updating virtual stage {"contact_id":"1365","stage_name":"with_purchase","force":true}
[2026-04-30 16:18:45] [INFO] Virtual stage successfully saved {"contact_id":"1365","stage_name":"with_purchase"}
[2026-04-30 16:18:45] [INFO] Moved contact out of kariz after successful deal {"contact_id":"1365","deal_id":"local_6942675de2a059.96180156","target_stage":"with_purchase"}
[2026-04-30 16:18:45] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:50] [INFO] Checking activity reminders 
[2026-04-30 16:18:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 16:18:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 16:18:56] [INFO] Lead update received {"contact_id":"1365","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-04-30 16:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:18:56] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"1365"}
[2026-04-30 16:18:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-04-30 16:21:39] [INFO] Checking activity reminders 
[2026-04-30 16:21:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-04-30 16:21:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-04-30 16:21:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-04-30 16:21:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-04-30 16:21:59] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-04-30 17:19:07] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:19:07] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"check_reminders"}
[2026-04-30 17:19:07] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:19:08] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:19:08] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"check_reminders"}
[2026-04-30 17:19:08] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:19:09] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:21:09] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:21:09] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"check_reminders"}
[2026-04-30 17:21:09] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:24:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:24:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"check_reminders"}
[2026-04-30 17:24:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:27:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-04-30 17:27:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"check_reminders"}
[2026-04-30 17:27:10] [WARNING] Auth check failed - not authenticated {"session_id":"r5h5dnmq79si3cfoa19eago8j8","session_keys":[],"action":"log_client_event"}
[2026-05-01 11:46:52] [WARNING] Auth check failed - not authenticated {"session_id":"g7odden4ghqau9mot84hd7qerb","session_keys":[],"action":"log_client_event"}
[2026-05-01 11:46:52] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-05-01 11:46:52] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-01 11:47:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:22] [INFO] Checking activity reminders 
[2026-05-01 11:47:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:47:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:47:48] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"local_69f31e89824c87.76788598","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"واریز شد سی ای پی","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-01 11:47:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:48] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-01 11:47:48] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-01 11:47:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:48] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-05-01 11:47:48] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-01 11:47:48] [WARNING] Pipeline stage change to success blocked: no payments {"deal_id":"local_69f31e89824c87.76788598","contact_id":"21324"}
[2026-05-01 11:47:48] [ERROR] Error updating deal pipeline stage after activity {"deal_id":"local_69f31e89824c87.76788598","stage":"پرداخت","exception":{"message":"برای ثبت معامله موفق، پرداخت کامل ثبت نشده است","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/ActivityService.php","line":662,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/ActivityController.php(108): App\\Services\\ActivityService->saveActivity()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(870): App\\Controllers\\ActivityController->save()\n#2 {main}"}}
[2026-05-01 11:47:48] [ERROR] Error saving activity {"data":{"didar_activity_id":"","contact_didar_id":"21324","deal_didar_id":"local_69f31e89824c87.76788598","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"واریز شد سی ای پی","activity_duration":5,"direction":"outgoing","is_done":0,"due_date":"","reminder_enabled":"0","reminder_offset_minutes":1440,"register_date":"2026-05-01 11:47:48","last_sync":"2026-05-01 11:47:48","requested_services":"","financial_level":null,"asset_estimation":null,"income_estimation":null,"failure_reason":"","failure_other_description":"","city":null,"job_title":null,"job_description":null,"acquaintance_duration":null,"extra_info":null},"exception":{"message":"برای ثبت معامله موفق، پرداخت کامل ثبت نشده است","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/ActivityService.php","line":662,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/ActivityController.php(108): App\\Services\\ActivityService->saveActivity()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(870): App\\Controllers\\ActivityController->save()\n#2 {main}"}}
[2026-05-01 11:47:53] [INFO] Checking activity reminders 
[2026-05-01 11:47:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:47:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:47:55] [INFO] Activity save request {"post_data":{"contact_id":"21324","deal_id":"local_69f31e89824c87.76788598","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"واریز شد سی ای پی","activity_duration":"5","direction":"outgoing","current_stage":"ارسال لینک پرداخت","pipeline_stage":"ارسال لینک پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:55] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-01 11:47:55] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:55] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"21324","note_was_empty":true}
[2026-05-01 11:47:55] [INFO] Didar write disabled; saving activity locally {"contact_id":"21324","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:55] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-05-01 11:47:55] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-05-01 11:47:55] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-05-01 11:47:55] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69f31e89824c87.76788598","stage":"ارسال لینک پرداخت","status_change":null}
[2026-05-01 11:47:55] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f461b30e51e8.49913812","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:55] [INFO] Activity saved successfully {"activity_id":"local_activity_69f461b30e51e8.49913812"}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:47:55] [INFO] Updating virtual stage {"contact_id":"21324","stage_name":"deal_registered","force":false}
[2026-05-01 11:47:55] [INFO] Virtual stage successfully saved {"contact_id":"21324","stage_name":"deal_registered"}
[2026-05-01 11:47:55] [INFO] Virtual stage updated after activity save {"contact_id":"21324"}
[2026-05-01 11:47:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:49:13] [INFO] Checking activity reminders 
[2026-05-01 11:49:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:49:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:49:25] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP","contact_id":"21324","deal_id":"local_69f31e89824c87.76788598","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-01 11:49:25","session_id":"g7odden4ghqau9mot84hd7qerb"}
[2026-05-01 11:49:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:49:25] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP","contact_id":"21324","is_new_deal":false}
[2026-05-01 11:49:25] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP"}
[2026-05-01 11:49:25] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP"}
[2026-05-01 11:49:25] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP"}
[2026-05-01 11:49:25] [INFO] getContactPrimaryPhone called {"contact_id":"21324"}
[2026-05-01 11:49:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:49:25] [INFO] getContactPrimaryPhone result {"contact_id":"21324","person_found":true,"primary_phone":"9121000970"}
[2026-05-01 11:49:25] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121000970"}
[2026-05-01 11:49:25] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121000970","contact_id":"21324","deal_id":"local_69f31e89824c87.76788598","is_new_deal":false,"incoming_title":"CIP","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-01 11:49:25"}
[2026-05-01 11:49:25] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f31e89824c87.76788598","contact_id":"21324","existing_deal_found":true,"existing_contact_id":"21324","existing_title":"معامله چهارم 9121000970 | CIP","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-01 11:49:25"}
[2026-05-01 11:49:25] [INFO] DealController.save validated payments {"deal_id":"local_69f31e89824c87.76788598","contact_id":"21324","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-01 11:49:25] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"21324","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-01 11:49:25] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f31e89824c87.76788598","contact_didar_id":"21324","title":"معامله چهارم 9121000970 | CIP","base_title_used":"معامله چهارم 9121000970","services_text":"CIP","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":200000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمد ترحمی","existing_deal":"YES","existing_deal_id":"local_69f31e89824c87.76788598","existing_deal_status":"Pending","server_time":"2026-05-01 11:49:25","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-05-01 11:49:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:49:25] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f31e89824c87.76788598","contact_id":"21324","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله چهارم 9121000970 | CIP","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":200000000,"payment_amount":200000000,"server_time":"2026-05-01 11:49:25","ip_address":"204.18.149.18","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"}
[2026-05-01 11:49:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21324","person_id":"12566"}
[2026-05-01 11:49:45] [INFO] Checking activity reminders 
[2026-05-01 11:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:49:52] [INFO] Checking activity reminders 
[2026-05-01 11:49:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:49:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:49:59] [INFO] Checking activity reminders 
[2026-05-01 11:49:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:49:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:50:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:50:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:50:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:50:12] [INFO] generateDealTitle result {"contact_id":"9311","person_name":"محمدی","mobile":"9170500380","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9170500380"}
[2026-05-01 11:50:29] [INFO] Checking activity reminders 
[2026-05-01 11:50:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:50:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:51:07] [INFO] Checking activity reminders 
[2026-05-01 11:51:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 11:51:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 11:51:17] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9311","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-01 11:51:17","session_id":"g7odden4ghqau9mot84hd7qerb"}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:51:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"9311","is_new_deal":true}
[2026-05-01 11:51:17] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-01 11:51:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-01 11:51:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-01 11:51:17] [INFO] getContactPrimaryPhone called {"contact_id":"9311"}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:51:17] [INFO] getContactPrimaryPhone result {"contact_id":"9311","person_found":true,"primary_phone":"9170500380"}
[2026-05-01 11:51:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9170500380"}
[2026-05-01 11:51:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9170500380","contact_id":"9311","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-01 11:51:17"}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:51:17] [INFO] generateDealTitle result {"contact_id":"9311","person_name":"محمدی","mobile":"9170500380","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9170500380"}
[2026-05-01 11:51:17] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"9311","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-01 11:51:17] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9311","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-01 11:51:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"9311","title":"معامله دوم 9170500380 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله دوم 9170500380","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"محمدی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-05-01 11:51:17","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 11:51:17] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-05-01 11:51:17] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"9311","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9170500380 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-05-01 11:51:17","ip_address":"204.18.149.18","user_agent":"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/144.0.0.0 Safari\/537.36"}
[2026-05-01 11:51:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 16:12:36] [WARNING] Auth check failed - not authenticated {"session_id":"199knvmnv8tatsfms98q5f62rf","session_keys":[],"action":"log_client_event"}
[2026-05-01 16:12:37] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-01 16:12:37] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-01 16:12:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-01 16:12:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-01 16:12:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-01 16:12:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-01 16:12:56] [INFO] Checking activity reminders 
[2026-05-01 16:12:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 16:12:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 16:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9311","person_id":"2686"}
[2026-05-01 16:13:26] [INFO] Checking activity reminders 
[2026-05-01 16:13:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 16:13:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:45:22] [WARNING] Auth check failed - not authenticated {"session_id":"aef8v24fltd69v6566pcu0f1d2","session_keys":[],"action":"log_client_event"}
[2026-05-01 23:45:22] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-01 23:45:22] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-01 23:45:22] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-01 23:45:22] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-01 23:45:22] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-01 23:45:22] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-01 23:45:26] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-01 23:45:26] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-01 23:45:26] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-01 23:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-01 23:45:48] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-01 23:45:52] [INFO] Checking activity reminders 
[2026-05-01 23:45:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:45:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:46:23] [INFO] Checking activity reminders 
[2026-05-01 23:46:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:46:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:46:54] [INFO] Checking activity reminders 
[2026-05-01 23:46:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:46:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:47:25] [INFO] Checking activity reminders 
[2026-05-01 23:47:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:47:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:47:55] [INFO] Checking activity reminders 
[2026-05-01 23:47:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:47:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:48:27] [INFO] Checking activity reminders 
[2026-05-01 23:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:50:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-01 23:50:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-01 23:50:11] [INFO] Checking activity reminders 
[2026-05-01 23:50:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:50:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-01 23:50:53] [INFO] Checking activity reminders 
[2026-05-01 23:50:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-01 23:50:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 00:17:25] [INFO] Checking activity reminders 
[2026-05-02 00:17:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 00:17:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 00:17:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 00:17:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 00:17:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 00:17:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 00:17:29] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f309eac70017.31842668","person_id":"22461"}
[2026-05-02 00:17:36] [INFO] Notification created {"notification_id":"687","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"test","show_popup":true}
[2026-05-02 00:17:39] [INFO] Checking activity reminders 
[2026-05-02 00:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 00:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 00:17:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-05-02 00:17:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69e8bec33093f2.68192812","person_id":"22230"}
[2026-05-02 00:17:52] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 00:17:52] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 00:17:52] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 00:17:52] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:52] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:55] [INFO] KPI calculation completed {"kpi_mode":"global","kpi_keys":["sales","settled","outstanding","lost_sales","won_sales","open_pipeline","deals_without_payments","product_sales","deal_conversion","lead_conversion","time_to_conversion","daily_sales","daily_operational","advanced_tables","target_achievement","kpi_mode"]}
[2026-05-02 00:17:55] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:55] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:55] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:55] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa"}
[2026-05-02 00:17:55] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 00:17:55] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 00:17:55] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 00:17:55] [INFO] Checking activity reminders 
[2026-05-02 00:17:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 00:17:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 09:39:53] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-05-02 09:39:54] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:02:19] [WARNING] Auth check failed - not authenticated {"session_id":"kh3pdn550gm5t28c1viabkb4uq","session_keys":[],"action":"log_client_event"}
[2026-05-02 10:02:19] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-05-02 10:02:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:02:50] [INFO] Checking activity reminders 
[2026-05-02 10:02:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:02:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:03:20] [INFO] Checking activity reminders 
[2026-05-02 10:03:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:03:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:03:50] [INFO] Checking activity reminders 
[2026-05-02 10:03:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:03:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:04:20] [INFO] Checking activity reminders 
[2026-05-02 10:04:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:04:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:04:50] [INFO] Checking activity reminders 
[2026-05-02 10:04:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:04:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:05:20] [INFO] Checking activity reminders 
[2026-05-02 10:05:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:05:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:05:50] [INFO] Checking activity reminders 
[2026-05-02 10:05:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:05:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:06:20] [INFO] Checking activity reminders 
[2026-05-02 10:06:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:06:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:06:51] [INFO] Checking activity reminders 
[2026-05-02 10:06:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:06:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:07:21] [INFO] Checking activity reminders 
[2026-05-02 10:07:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:07:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:07:51] [INFO] Checking activity reminders 
[2026-05-02 10:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:08:21] [INFO] Checking activity reminders 
[2026-05-02 10:08:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:08:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:08:51] [INFO] Checking activity reminders 
[2026-05-02 10:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:09:21] [INFO] Checking activity reminders 
[2026-05-02 10:09:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:09:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:09:51] [INFO] Checking activity reminders 
[2026-05-02 10:09:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:09:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:10:21] [INFO] Checking activity reminders 
[2026-05-02 10:10:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:10:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:10:51] [INFO] Checking activity reminders 
[2026-05-02 10:10:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:10:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:11:00] [INFO] Checking activity reminders 
[2026-05-02 10:11:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:11:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:11:19] [INFO] Checking activity reminders 
[2026-05-02 10:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:11:21] [INFO] Checking activity reminders 
[2026-05-02 10:11:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:11:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:11:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:11:50] [INFO] Checking activity reminders 
[2026-05-02 10:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:11:52] [INFO] Checking activity reminders 
[2026-05-02 10:11:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:11:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:12:20] [INFO] Checking activity reminders 
[2026-05-02 10:12:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:12:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:12:22] [INFO] Checking activity reminders 
[2026-05-02 10:12:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:12:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:12:50] [INFO] Checking activity reminders 
[2026-05-02 10:12:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:12:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:12:52] [INFO] Checking activity reminders 
[2026-05-02 10:12:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:12:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:13:20] [INFO] Checking activity reminders 
[2026-05-02 10:13:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:13:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:13:22] [INFO] Checking activity reminders 
[2026-05-02 10:13:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:13:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:13:50] [INFO] Checking activity reminders 
[2026-05-02 10:13:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:13:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:13:52] [INFO] Checking activity reminders 
[2026-05-02 10:13:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:13:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:14:20] [INFO] Checking activity reminders 
[2026-05-02 10:14:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:14:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:14:21] [INFO] Activity save request {"post_data":{"contact_id":"1365","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال برج 10 تکمیل زده \/ سی ای پی هست تمدید یکبار انجام داده \r\nپشتیبانی ","activity_duration":"25","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 10:14:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:14:21] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 10:14:21] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 10:14:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:14:21] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"1365","note_was_empty":true}
[2026-05-02 10:14:21] [INFO] Didar write disabled; saving activity locally {"contact_id":"1365","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 10:14:21] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f59d45ba2137.45583531","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 10:14:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:14:21] [INFO] Activity saved successfully {"activity_id":"local_activity_69f59d45ba2137.45583531"}
[2026-05-02 10:14:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:14:21] [INFO] Updating virtual stage {"contact_id":"1365","stage_name":"with_purchase","force":false}
[2026-05-02 10:14:21] [INFO] Virtual stage successfully saved {"contact_id":"1365","stage_name":"with_purchase"}
[2026-05-02 10:14:21] [INFO] Virtual stage updated after activity save {"contact_id":"1365"}
[2026-05-02 10:14:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"1365","person_id":"7010"}
[2026-05-02 10:14:22] [INFO] Checking activity reminders 
[2026-05-02 10:14:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:14:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:14:50] [INFO] Checking activity reminders 
[2026-05-02 10:14:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:14:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:15:02] [INFO] Checking activity reminders 
[2026-05-02 10:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:15:20] [INFO] Checking activity reminders 
[2026-05-02 10:15:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:15:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:15:35] [INFO] Checking activity reminders 
[2026-05-02 10:15:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:15:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:15:50] [INFO] Checking activity reminders 
[2026-05-02 10:15:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:15:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:16:05] [INFO] Checking activity reminders 
[2026-05-02 10:16:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:16:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:16:21] [INFO] Checking activity reminders 
[2026-05-02 10:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:16:35] [INFO] Checking activity reminders 
[2026-05-02 10:16:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:16:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:16:51] [INFO] Checking activity reminders 
[2026-05-02 10:16:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:16:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:17:05] [INFO] Checking activity reminders 
[2026-05-02 10:17:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:17:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:17:21] [INFO] Checking activity reminders 
[2026-05-02 10:17:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:17:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:17:35] [INFO] Checking activity reminders 
[2026-05-02 10:17:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:17:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:17:51] [INFO] Checking activity reminders 
[2026-05-02 10:17:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:17:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:18:21] [INFO] Checking activity reminders 
[2026-05-02 10:18:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:18:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:18:42] [WARNING] Auth check failed - not authenticated {"session_id":"3ib1g89stbbu5n29e6j5f7lguv","session_keys":[],"action":"log_client_event"}
[2026-05-02 10:18:42] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-02 10:18:42] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-02 10:18:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:18:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 10:18:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 10:18:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 10:18:51] [INFO] Checking activity reminders 
[2026-05-02 10:18:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:18:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:18:58] [INFO] Checking activity reminders 
[2026-05-02 10:18:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:18:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:19:21] [INFO] Checking activity reminders 
[2026-05-02 10:19:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:19:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:20:11] [INFO] Checking activity reminders 
[2026-05-02 10:20:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:20:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:20:41] [INFO] Checking activity reminders 
[2026-05-02 10:20:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:20:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:21:11] [INFO] Checking activity reminders 
[2026-05-02 10:21:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:21:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:21:41] [INFO] Checking activity reminders 
[2026-05-02 10:21:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:21:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:22:11] [INFO] Checking activity reminders 
[2026-05-02 10:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:22:41] [INFO] Checking activity reminders 
[2026-05-02 10:22:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:22:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:22:51] [INFO] User logged in {"user_id":"8","email":"hfishakiba@gmail.com","role":"agent","via_master":false}
[2026-05-02 10:22:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:23:11] [INFO] Checking activity reminders 
[2026-05-02 10:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:23:21] [INFO] Checking activity reminders 
[2026-05-02 10:23:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:23:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:23:41] [INFO] Checking activity reminders 
[2026-05-02 10:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:23:51] [INFO] Checking activity reminders 
[2026-05-02 10:23:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:23:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:23:53] [WARNING] Auth check failed - not authenticated {"session_id":"aef8v24fltd69v6566pcu0f1d2","session_keys":[],"action":"log_client_event"}
[2026-05-02 10:23:54] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 10:23:54] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 10:23:59] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:23:59] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 10:23:59] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 10:23:59] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 10:24:11] [INFO] Checking activity reminders 
[2026-05-02 10:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:24:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:24:21] [INFO] Checking activity reminders 
[2026-05-02 10:24:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:24:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:24:30] [INFO] Checking activity reminders 
[2026-05-02 10:24:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:24:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:24:42] [INFO] Checking activity reminders 
[2026-05-02 10:24:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:24:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:24:50] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP 300","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","user_name":"حمیدرضا مکرمی","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:24:50","session_id":"aef8v24fltd69v6566pcu0f1d2"}
[2026-05-02 10:24:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:24:50] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"986","is_new_deal":false}
[2026-05-02 10:24:50] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-05-02 10:24:50] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-05-02 10:24:50] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-05-02 10:24:50] [INFO] getContactPrimaryPhone called {"contact_id":"986"}
[2026-05-02 10:24:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:24:50] [INFO] getContactPrimaryPhone result {"contact_id":"986","person_found":true,"primary_phone":"9357585859"}
[2026-05-02 10:24:50] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9357585859"}
[2026-05-02 10:24:50] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9357585859","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","is_new_deal":false,"incoming_title":"CIP 300","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","user_name":"حمیدرضا مکرمی","server_time":"2026-05-02 10:24:50"}
[2026-05-02 10:24:50] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","existing_deal_found":true,"existing_contact_id":"986","existing_title":"معامله پنجم 9357585859 | CIP","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","user_name":"حمیدرضا مکرمی","server_time":"2026-05-02 10:24:50"}
[2026-05-02 10:24:50] [INFO] DealController.save validated payments {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","payments_count":1,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-05-02 10:24:50] [INFO] DealController.save validating permissions {"current_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"986","is_admin_or_crm":true,"permission_check_passed":true}
[2026-05-02 10:24:50] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f1d98a81fd32.88085953","contact_didar_id":"986","title":"معامله پنجم 9357585859 | CIP 300","base_title_used":"معامله پنجم 9357585859","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":300000000,"payment_amount":20000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","user_name":"حمیدرضا مکرمی","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سینا حسینی","existing_deal":"YES","existing_deal_id":"local_69f1d98a81fd32.88085953","existing_deal_status":"Pending","server_time":"2026-05-02 10:24:50","session_data":{"didar_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","name":"حمیدرضا مکرمی","user_id":"11"}}
[2026-05-02 10:24:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:24:50] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","user_name":"حمیدرضا مکرمی","deal_title":"معامله پنجم 9357585859 | CIP 300","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":300000000,"payment_amount":20000000,"server_time":"2026-05-02 10:24:50","ip_address":"5.112.114.3","user_agent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Mobile Safari\/537.36"}
[2026-05-02 10:24:50] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:24:51] [INFO] Checking activity reminders 
[2026-05-02 10:24:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:24:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:25:02] [INFO] Checking activity reminders 
[2026-05-02 10:25:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:25:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:25:21] [INFO] Checking activity reminders 
[2026-05-02 10:25:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:25:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:25:28] [INFO] Checking activity reminders 
[2026-05-02 10:25:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:25:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:26:02] [INFO] Checking activity reminders 
[2026-05-02 10:26:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:26:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:26:32] [INFO] Checking activity reminders 
[2026-05-02 10:26:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:26:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:27:02] [INFO] Checking activity reminders 
[2026-05-02 10:27:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:27:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:27:32] [INFO] Checking activity reminders 
[2026-05-02 10:27:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:27:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:28:02] [INFO] Checking activity reminders 
[2026-05-02 10:28:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:28:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:28:32] [INFO] Checking activity reminders 
[2026-05-02 10:28:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:28:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:29:02] [INFO] Checking activity reminders 
[2026-05-02 10:29:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:29:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:29:32] [INFO] Checking activity reminders 
[2026-05-02 10:29:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:29:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:30:02] [INFO] Checking activity reminders 
[2026-05-02 10:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:30:02] [INFO] Checking activity reminders 
[2026-05-02 10:30:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:30:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:30:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:30:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:30:32] [INFO] Checking activity reminders 
[2026-05-02 10:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:30:32] [INFO] Checking activity reminders 
[2026-05-02 10:30:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:30:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:30:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:02] [INFO] Checking activity reminders 
[2026-05-02 10:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:31:02] [INFO] Checking activity reminders 
[2026-05-02 10:31:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:31:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:31:32] [INFO] Checking activity reminders 
[2026-05-02 10:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:31:32] [INFO] Checking activity reminders 
[2026-05-02 10:31:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:31:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:31:39] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP 300","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:31:39","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 10:31:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:39] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"986","is_new_deal":false}
[2026-05-02 10:31:39] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-05-02 10:31:39] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-05-02 10:31:39] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-05-02 10:31:39] [INFO] getContactPrimaryPhone called {"contact_id":"986"}
[2026-05-02 10:31:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:39] [INFO] getContactPrimaryPhone result {"contact_id":"986","person_found":true,"primary_phone":"9357585859"}
[2026-05-02 10:31:39] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9357585859"}
[2026-05-02 10:31:39] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9357585859","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","is_new_deal":false,"incoming_title":"CIP 300","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:31:39"}
[2026-05-02 10:31:39] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","existing_deal_found":true,"existing_contact_id":"986","existing_title":"معامله پنجم 9357585859 | CIP 300","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:31:39"}
[2026-05-02 10:31:39] [INFO] DealController.save validated payments {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","payments_count":2,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-05-02 10:31:39] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"986","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 10:31:39] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f1d98a81fd32.88085953","contact_didar_id":"986","title":"معامله پنجم 9357585859 | CIP 300","base_title_used":"معامله پنجم 9357585859","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":300000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سینا حسینی","existing_deal":"YES","existing_deal_id":"local_69f1d98a81fd32.88085953","existing_deal_status":"Pending","server_time":"2026-05-02 10:31:39","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 10:31:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:39] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9357585859 | CIP 300","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":300000000,"payment_amount":200000000,"server_time":"2026-05-02 10:31:39","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 10:31:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP 300","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:31:51","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"986","is_new_deal":false}
[2026-05-02 10:31:51] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-05-02 10:31:51] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-05-02 10:31:51] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-05-02 10:31:51] [INFO] getContactPrimaryPhone called {"contact_id":"986"}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [INFO] getContactPrimaryPhone result {"contact_id":"986","person_found":true,"primary_phone":"9357585859"}
[2026-05-02 10:31:51] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9357585859"}
[2026-05-02 10:31:51] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9357585859","contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","is_new_deal":false,"incoming_title":"CIP 300","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:31:51"}
[2026-05-02 10:31:51] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","existing_deal_found":true,"existing_contact_id":"986","existing_title":"معامله پنجم 9357585859 | CIP 300","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:31:51"}
[2026-05-02 10:31:51] [INFO] DealController.save validated payments {"deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","payments_count":2,"status":"won","pipeline_stage":"پیگیری مانده حساب"}
[2026-05-02 10:31:51] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"986","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 10:31:51] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f1d98a81fd32.88085953","contact_didar_id":"986","title":"معامله پنجم 9357585859 | CIP 300","base_title_used":"معامله پنجم 9357585859","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"won","payable_amount":300000000,"payment_amount":200000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"سینا حسینی","existing_deal":"YES","existing_deal_id":"local_69f1d98a81fd32.88085953","existing_deal_status":"Pending","server_time":"2026-05-02 10:31:51","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [INFO] Deal success processed {"contact_id":"986","person_name":"سینا حسینی","products_count":1}
[2026-05-02 10:31:51] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f1d98a81fd32.88085953","contact_id":"986","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله پنجم 9357585859 | CIP 300","deal_status":"won","pipeline_stage":"پیگیری مانده حساب","payable_amount":300000000,"payment_amount":200000000,"server_time":"2026-05-02 10:31:51","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:31:51] [INFO] Updating virtual stage {"contact_id":"986","stage_name":"with_purchase","force":true}
[2026-05-02 10:31:51] [INFO] Virtual stage successfully saved {"contact_id":"986","stage_name":"with_purchase"}
[2026-05-02 10:31:51] [INFO] Moved contact out of kariz after successful deal {"contact_id":"986","deal_id":"local_69f1d98a81fd32.88085953","target_stage":"with_purchase"}
[2026-05-02 10:31:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:03] [INFO] Checking activity reminders 
[2026-05-02 10:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:32:03] [INFO] Checking activity reminders 
[2026-05-02 10:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:32:26] [INFO] Activity save request {"post_data":{"contact_id":"986","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"300 واریز 900 سود پرتفو \r\nارسال شبا تجارت تسویه \r\nدر گروه ارسال شد ","activity_duration":"3","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 10:32:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:26] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 10:32:26] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 10:32:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:26] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"986","note_was_empty":true}
[2026-05-02 10:32:26] [INFO] Didar write disabled; saving activity locally {"contact_id":"986","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 10:32:26] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5a18257f759.92586095","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 10:32:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:26] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5a18257f759.92586095"}
[2026-05-02 10:32:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:26] [INFO] Updating virtual stage {"contact_id":"986","stage_name":"with_purchase","force":false}
[2026-05-02 10:32:26] [INFO] Virtual stage successfully saved {"contact_id":"986","stage_name":"with_purchase"}
[2026-05-02 10:32:26] [INFO] Virtual stage updated after activity save {"contact_id":"986"}
[2026-05-02 10:32:26] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 10:32:33] [INFO] Checking activity reminders 
[2026-05-02 10:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:32:33] [INFO] Checking activity reminders 
[2026-05-02 10:32:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:32:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:33:03] [INFO] Checking activity reminders 
[2026-05-02 10:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:33:03] [INFO] Checking activity reminders 
[2026-05-02 10:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:33:33] [INFO] Checking activity reminders 
[2026-05-02 10:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:33:33] [INFO] Checking activity reminders 
[2026-05-02 10:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:34:03] [INFO] Checking activity reminders 
[2026-05-02 10:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:34:03] [INFO] Checking activity reminders 
[2026-05-02 10:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:34:33] [INFO] Checking activity reminders 
[2026-05-02 10:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:34:33] [INFO] Checking activity reminders 
[2026-05-02 10:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:34:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:35:03] [INFO] Checking activity reminders 
[2026-05-02 10:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:35:03] [INFO] Checking activity reminders 
[2026-05-02 10:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:35:33] [INFO] Checking activity reminders 
[2026-05-02 10:35:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:35:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:36:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:36:00","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 10:36:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","is_new_deal":false}
[2026-05-02 10:36:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:00] [INFO] getContactPrimaryPhone called {"contact_id":"6796"}
[2026-05-02 10:36:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:00] [INFO] getContactPrimaryPhone result {"contact_id":"6796","person_found":true,"primary_phone":"9197705480"}
[2026-05-02 10:36:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197705480"}
[2026-05-02 10:36:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197705480","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:36:00"}
[2026-05-02 10:36:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","existing_deal_found":true,"existing_contact_id":"6796","existing_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:36:00"}
[2026-05-02 10:36:00] [INFO] DealController.save validated payments {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-02 10:36:00] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6796","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 10:36:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6239163a1d8.62657493","contact_didar_id":"6796","title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9197705480","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی صفایی","existing_deal":"YES","existing_deal_id":"local_69d6239163a1d8.62657493","existing_deal_status":"Pending","server_time":"2026-05-02 10:36:00","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 10:36:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-05-02 10:36:00","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 10:36:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:03] [INFO] Checking activity reminders 
[2026-05-02 10:36:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:36:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:36:09] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:36:09","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:09] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP بدون پشتیبان شش ماهه","contact_id":"6796","is_new_deal":false}
[2026-05-02 10:36:09] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:09] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:09] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP بدون پشتیبان شش ماهه"}
[2026-05-02 10:36:09] [INFO] getContactPrimaryPhone called {"contact_id":"6796"}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:09] [INFO] getContactPrimaryPhone result {"contact_id":"6796","person_found":true,"primary_phone":"9197705480"}
[2026-05-02 10:36:09] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9197705480"}
[2026-05-02 10:36:09] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9197705480","contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","is_new_deal":false,"incoming_title":"کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:36:09"}
[2026-05-02 10:36:09] [INFO] DealController.save existing deal lookup {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","existing_deal_found":true,"existing_contact_id":"6796","existing_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 10:36:09"}
[2026-05-02 10:36:09] [INFO] DealController.save validated payments {"deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-05-02 10:36:09] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"6796","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 10:36:09] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69d6239163a1d8.62657493","contact_didar_id":"6796","title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","base_title_used":"معامله سوم 9197705480","services_text":"کانال VIP بدون پشتیبان شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":27000000,"payment_amount":27000000,"payments_present":true,"requested_services":["کانال VIP بدون پشتیبان شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"علی صفایی","existing_deal":"YES","existing_deal_id":"local_69d6239163a1d8.62657493","existing_deal_status":"Pending","server_time":"2026-05-02 10:36:09","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:09] [INFO] Deal success processed {"contact_id":"6796","person_name":"علی صفایی","products_count":1}
[2026-05-02 10:36:09] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69d6239163a1d8.62657493","contact_id":"6796","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9197705480 | کانال VIP بدون پشتیبان شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":27000000,"payment_amount":27000000,"server_time":"2026-05-02 10:36:09","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:09] [INFO] Updating virtual stage {"contact_id":"6796","stage_name":"with_purchase","force":true}
[2026-05-02 10:36:09] [INFO] Virtual stage successfully saved {"contact_id":"6796","stage_name":"with_purchase"}
[2026-05-02 10:36:09] [INFO] Moved contact out of kariz after successful deal {"contact_id":"6796","deal_id":"local_69d6239163a1d8.62657493","target_stage":"with_purchase"}
[2026-05-02 10:36:09] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 10:36:33] [INFO] Checking activity reminders 
[2026-05-02 10:36:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:36:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:37:04] [INFO] Checking activity reminders 
[2026-05-02 10:37:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:37:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:41:27] [INFO] Checking activity reminders 
[2026-05-02 10:41:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:41:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:41:57] [INFO] Checking activity reminders 
[2026-05-02 10:41:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:41:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:42:35] [INFO] Checking activity reminders 
[2026-05-02 10:42:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:42:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:42:37] [INFO] Checking activity reminders 
[2026-05-02 10:42:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:42:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:42:37] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:42:55] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 10:43:05] [INFO] Checking activity reminders 
[2026-05-02 10:43:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:43:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:43:07] [INFO] Checking activity reminders 
[2026-05-02 10:43:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:43:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:43:35] [INFO] Checking activity reminders 
[2026-05-02 10:43:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:43:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:43:38] [INFO] Checking activity reminders 
[2026-05-02 10:43:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:43:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:44:05] [INFO] Checking activity reminders 
[2026-05-02 10:44:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:44:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:44:08] [INFO] Checking activity reminders 
[2026-05-02 10:44:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:44:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:44:36] [INFO] Checking activity reminders 
[2026-05-02 10:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:44:38] [INFO] Checking activity reminders 
[2026-05-02 10:44:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:44:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:45:06] [INFO] Checking activity reminders 
[2026-05-02 10:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:45:08] [INFO] Checking activity reminders 
[2026-05-02 10:45:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:45:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:45:36] [INFO] Checking activity reminders 
[2026-05-02 10:45:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:45:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:45:38] [INFO] Checking activity reminders 
[2026-05-02 10:45:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:45:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:46:06] [INFO] Checking activity reminders 
[2026-05-02 10:46:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:46:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:46:08] [INFO] Checking activity reminders 
[2026-05-02 10:46:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:46:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:46:36] [INFO] Checking activity reminders 
[2026-05-02 10:46:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:46:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:46:38] [INFO] Checking activity reminders 
[2026-05-02 10:46:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:46:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:47:07] [INFO] Checking activity reminders 
[2026-05-02 10:47:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:47:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:47:09] [INFO] Checking activity reminders 
[2026-05-02 10:47:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:47:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:47:37] [INFO] Checking activity reminders 
[2026-05-02 10:47:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:47:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:47:39] [INFO] Checking activity reminders 
[2026-05-02 10:47:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:47:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:47:52] [WARNING] Auth check failed - not authenticated {"session_id":"3vkb81rcp9mcs75isgslqpidsu","session_keys":[],"action":"log_client_event"}
[2026-05-02 10:47:52] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-02 10:47:52] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-02 10:47:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 10:47:53] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 10:47:53] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 10:47:53] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 10:48:07] [INFO] Checking activity reminders 
[2026-05-02 10:48:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:48:09] [INFO] Checking activity reminders 
[2026-05-02 10:48:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:48:23] [INFO] Checking activity reminders 
[2026-05-02 10:48:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:48:37] [INFO] Checking activity reminders 
[2026-05-02 10:48:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:48:39] [INFO] Checking activity reminders 
[2026-05-02 10:48:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:48:53] [INFO] Checking activity reminders 
[2026-05-02 10:48:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:48:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:08] [INFO] Checking activity reminders 
[2026-05-02 10:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:09] [INFO] Checking activity reminders 
[2026-05-02 10:49:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:23] [INFO] Checking activity reminders 
[2026-05-02 10:49:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:38] [INFO] Checking activity reminders 
[2026-05-02 10:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:40] [INFO] Checking activity reminders 
[2026-05-02 10:49:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:49:53] [INFO] Checking activity reminders 
[2026-05-02 10:49:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:49:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:08] [INFO] Checking activity reminders 
[2026-05-02 10:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:10] [INFO] Checking activity reminders 
[2026-05-02 10:50:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:23] [INFO] Checking activity reminders 
[2026-05-02 10:50:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:38] [INFO] Checking activity reminders 
[2026-05-02 10:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:40] [INFO] Checking activity reminders 
[2026-05-02 10:50:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:50:54] [INFO] Checking activity reminders 
[2026-05-02 10:50:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:50:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:09] [INFO] Checking activity reminders 
[2026-05-02 10:51:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:10] [INFO] Checking activity reminders 
[2026-05-02 10:51:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:24] [INFO] Checking activity reminders 
[2026-05-02 10:51:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:39] [INFO] Checking activity reminders 
[2026-05-02 10:51:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:41] [INFO] Checking activity reminders 
[2026-05-02 10:51:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:51:54] [INFO] Checking activity reminders 
[2026-05-02 10:51:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:51:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:09] [INFO] Checking activity reminders 
[2026-05-02 10:52:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:11] [INFO] Checking activity reminders 
[2026-05-02 10:52:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:24] [INFO] Checking activity reminders 
[2026-05-02 10:52:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:39] [INFO] Checking activity reminders 
[2026-05-02 10:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:41] [INFO] Checking activity reminders 
[2026-05-02 10:52:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:52:52] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:52:54] [INFO] Checking activity reminders 
[2026-05-02 10:52:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:52:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:10] [INFO] Checking activity reminders 
[2026-05-02 10:53:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:11] [INFO] Checking activity reminders 
[2026-05-02 10:53:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:24] [INFO] Checking activity reminders 
[2026-05-02 10:53:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:40] [INFO] Checking activity reminders 
[2026-05-02 10:53:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:41] [INFO] Checking activity reminders 
[2026-05-02 10:53:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:53:54] [INFO] Checking activity reminders 
[2026-05-02 10:53:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:53:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:00] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 10:54:00","session_id":"7ru1ntot76p3qhndbi8diq2e5n"}
[2026-05-02 10:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:00] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"11224","is_new_deal":false}
[2026-05-02 10:54:00] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-05-02 10:54:00] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-05-02 10:54:00] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-05-02 10:54:00] [INFO] getContactPrimaryPhone called {"contact_id":"11224"}
[2026-05-02 10:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:00] [INFO] getContactPrimaryPhone result {"contact_id":"11224","person_found":true,"primary_phone":"9367776843"}
[2026-05-02 10:54:00] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9367776843"}
[2026-05-02 10:54:00] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9367776843","contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-02 10:54:00"}
[2026-05-02 10:54:00] [INFO] DealController.save existing deal lookup {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","existing_deal_found":true,"existing_contact_id":"11224","existing_title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-02 10:54:00"}
[2026-05-02 10:54:00] [INFO] DealController.save validated payments {"deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","payments_count":4,"status":"pending","pipeline_stage":"پیگیری مانده حساب"}
[2026-05-02 10:54:00] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"11224","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 10:54:00] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69bd03f8b5e821.80397397","contact_didar_id":"11224","title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","base_title_used":"معامله سوم 9367776843","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پیگیری مانده حساب","status":"pending","payable_amount":79000000,"payment_amount":69000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"زارعی زارعی","existing_deal":"YES","existing_deal_id":"local_69bd03f8b5e821.80397397","existing_deal_status":"Pending","server_time":"2026-05-02 10:54:00","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-05-02 10:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:00] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69bd03f8b5e821.80397397","contact_id":"11224","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله سوم 9367776843 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پیگیری مانده حساب","payable_amount":79000000,"payment_amount":69000000,"server_time":"2026-05-02 10:54:00","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 10:54:00] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:10] [INFO] Checking activity reminders 
[2026-05-02 10:54:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:11] [INFO] Checking activity reminders 
[2026-05-02 10:54:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:18] [INFO] Activity save request {"post_data":{"contact_id":"11224","deal_id":"local_69bd03f8b5e821.80397397","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"10 دیگه مانده داره \/ امروز 14زد","activity_duration":"5","direction":"incoming","current_stage":"پیگیری مانده حساب","pipeline_stage":"پیگیری مانده حساب","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:18] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 10:54:18] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:18] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"11224","note_was_empty":true}
[2026-05-02 10:54:18] [INFO] Didar write disabled; saving activity locally {"contact_id":"11224","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:18] [INFO] Updating virtual stage {"contact_id":"11224","stage_name":"deal_registered","force":false}
[2026-05-02 10:54:18] [INFO] Virtual stage successfully saved {"contact_id":"11224","stage_name":"deal_registered"}
[2026-05-02 10:54:18] [INFO] Virtual stage updated after activity save {"contact_id":"11224"}
[2026-05-02 10:54:18] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69bd03f8b5e821.80397397","stage":"پیگیری مانده حساب","status_change":null}
[2026-05-02 10:54:18] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5a6a2954fe9.30673956","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:18] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5a6a2954fe9.30673956"}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:18] [INFO] Updating virtual stage {"contact_id":"11224","stage_name":"deal_registered","force":false}
[2026-05-02 10:54:18] [INFO] Virtual stage successfully saved {"contact_id":"11224","stage_name":"deal_registered"}
[2026-05-02 10:54:18] [INFO] Virtual stage updated after activity save {"contact_id":"11224"}
[2026-05-02 10:54:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11224","person_id":"10334"}
[2026-05-02 10:54:24] [INFO] Checking activity reminders 
[2026-05-02 10:54:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:40] [INFO] Checking activity reminders 
[2026-05-02 10:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:41] [INFO] Checking activity reminders 
[2026-05-02 10:54:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:54:54] [INFO] Checking activity reminders 
[2026-05-02 10:54:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:54:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:02] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 10:55:02] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 10:55:02] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 10:55:10] [INFO] Checking activity reminders 
[2026-05-02 10:55:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:11] [INFO] Checking activity reminders 
[2026-05-02 10:55:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:24] [INFO] Checking activity reminders 
[2026-05-02 10:55:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:40] [INFO] Checking activity reminders 
[2026-05-02 10:55:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:41] [INFO] Checking activity reminders 
[2026-05-02 10:55:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:55:55] [INFO] Checking activity reminders 
[2026-05-02 10:55:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:55:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:10] [INFO] Checking activity reminders 
[2026-05-02 10:56:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:11] [INFO] Checking activity reminders 
[2026-05-02 10:56:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:25] [INFO] Checking activity reminders 
[2026-05-02 10:56:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:40] [INFO] Checking activity reminders 
[2026-05-02 10:56:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:41] [INFO] Checking activity reminders 
[2026-05-02 10:56:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:56:55] [INFO] Checking activity reminders 
[2026-05-02 10:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:10] [INFO] Checking activity reminders 
[2026-05-02 10:57:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:11] [INFO] Checking activity reminders 
[2026-05-02 10:57:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:25] [INFO] Checking activity reminders 
[2026-05-02 10:57:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:40] [INFO] Checking activity reminders 
[2026-05-02 10:57:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:41] [INFO] Checking activity reminders 
[2026-05-02 10:57:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:57:55] [INFO] Checking activity reminders 
[2026-05-02 10:57:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:57:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:11] [INFO] Checking activity reminders 
[2026-05-02 10:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:11] [INFO] Checking activity reminders 
[2026-05-02 10:58:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:25] [INFO] Checking activity reminders 
[2026-05-02 10:58:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:41] [INFO] Checking activity reminders 
[2026-05-02 10:58:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:42] [INFO] Checking activity reminders 
[2026-05-02 10:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:58:55] [INFO] Checking activity reminders 
[2026-05-02 10:58:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:58:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:11] [INFO] Checking activity reminders 
[2026-05-02 10:59:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:12] [INFO] Checking activity reminders 
[2026-05-02 10:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:25] [INFO] Checking activity reminders 
[2026-05-02 10:59:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 10:59:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 10:59:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 10:59:41] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:41] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:41] [INFO] Checking activity reminders 
[2026-05-02 10:59:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:42] [INFO] Checking activity reminders 
[2026-05-02 10:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 10:59:44] [INFO] KPI calculation completed {"kpi_mode":"global","kpi_keys":["sales","settled","outstanding","lost_sales","won_sales","open_pipeline","deals_without_payments","product_sales","deal_conversion","lead_conversion","time_to_conversion","daily_sales","daily_operational","advanced_tables","target_achievement","kpi_mode"]}
[2026-05-02 10:59:44] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:44] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:44] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:44] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 10:59:55] [INFO] Checking activity reminders 
[2026-05-02 10:59:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 10:59:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:11] [INFO] Checking activity reminders 
[2026-05-02 11:00:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:12] [INFO] Checking activity reminders 
[2026-05-02 11:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:26] [INFO] Checking activity reminders 
[2026-05-02 11:00:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:41] [INFO] Checking activity reminders 
[2026-05-02 11:00:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:42] [INFO] Checking activity reminders 
[2026-05-02 11:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:00:56] [INFO] Checking activity reminders 
[2026-05-02 11:00:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:00:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:11] [INFO] Checking activity reminders 
[2026-05-02 11:01:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:12] [INFO] Checking activity reminders 
[2026-05-02 11:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:26] [INFO] Checking activity reminders 
[2026-05-02 11:01:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:41] [INFO] Checking activity reminders 
[2026-05-02 11:01:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:42] [INFO] Checking activity reminders 
[2026-05-02 11:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:01:56] [INFO] Checking activity reminders 
[2026-05-02 11:01:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:01:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:11] [INFO] Checking activity reminders 
[2026-05-02 11:02:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:12] [INFO] Checking activity reminders 
[2026-05-02 11:02:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:26] [INFO] Checking activity reminders 
[2026-05-02 11:02:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:42] [INFO] Checking activity reminders 
[2026-05-02 11:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:42] [INFO] Checking activity reminders 
[2026-05-02 11:02:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:02:56] [INFO] Checking activity reminders 
[2026-05-02 11:02:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:02:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:03:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 11:03:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 11:03:12] [INFO] Checking activity reminders 
[2026-05-02 11:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:23] [INFO] Checking activity reminders 
[2026-05-02 11:03:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:26] [INFO] Checking activity reminders 
[2026-05-02 11:03:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:30] [INFO] Checking activity reminders 
[2026-05-02 11:03:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:42] [INFO] Checking activity reminders 
[2026-05-02 11:03:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:03:56] [INFO] Checking activity reminders 
[2026-05-02 11:03:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:03:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:00] [INFO] Checking activity reminders 
[2026-05-02 11:04:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:12] [INFO] Checking activity reminders 
[2026-05-02 11:04:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:20] [INFO] Activity save request {"post_data":{"contact_id":"6796","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"جهت تسویه کانال و دسترسی به کانال تماس گرفته شد \r\nارسال شماره شبا \r\n","activity_duration":"5","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 11:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:04:20] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 11:04:20] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 11:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:04:20] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"6796","note_was_empty":true}
[2026-05-02 11:04:20] [INFO] Didar write disabled; saving activity locally {"contact_id":"6796","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 11:04:20] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5a8fce723f4.38654091","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 11:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:04:20] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5a8fce723f4.38654091"}
[2026-05-02 11:04:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:04:20] [INFO] Updating virtual stage {"contact_id":"6796","stage_name":"with_purchase","force":false}
[2026-05-02 11:04:20] [INFO] Virtual stage successfully saved {"contact_id":"6796","stage_name":"with_purchase"}
[2026-05-02 11:04:20] [INFO] Virtual stage updated after activity save {"contact_id":"6796"}
[2026-05-02 11:04:21] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:04:26] [INFO] Checking activity reminders 
[2026-05-02 11:04:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:30] [INFO] Checking activity reminders 
[2026-05-02 11:04:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:42] [INFO] Checking activity reminders 
[2026-05-02 11:04:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:04:57] [INFO] Checking activity reminders 
[2026-05-02 11:04:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:04:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:00] [INFO] Checking activity reminders 
[2026-05-02 11:05:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:12] [INFO] Checking activity reminders 
[2026-05-02 11:05:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:27] [INFO] Checking activity reminders 
[2026-05-02 11:05:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:31] [INFO] Checking activity reminders 
[2026-05-02 11:05:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:42] [INFO] Checking activity reminders 
[2026-05-02 11:05:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:05:57] [INFO] Checking activity reminders 
[2026-05-02 11:05:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:05:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:01] [INFO] Checking activity reminders 
[2026-05-02 11:06:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:12] [INFO] Checking activity reminders 
[2026-05-02 11:06:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:27] [INFO] Checking activity reminders 
[2026-05-02 11:06:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:31] [INFO] Checking activity reminders 
[2026-05-02 11:06:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:38] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:06:42] [INFO] Checking activity reminders 
[2026-05-02 11:06:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:06:57] [INFO] Checking activity reminders 
[2026-05-02 11:06:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:06:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:01] [INFO] Checking activity reminders 
[2026-05-02 11:07:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:09] [INFO] Checking activity reminders 
[2026-05-02 11:07:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:12] [INFO] Checking activity reminders 
[2026-05-02 11:07:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:27] [INFO] Checking activity reminders 
[2026-05-02 11:07:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:39] [INFO] Checking activity reminders 
[2026-05-02 11:07:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:43] [INFO] Checking activity reminders 
[2026-05-02 11:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:07:57] [INFO] Checking activity reminders 
[2026-05-02 11:07:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:07:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:09] [INFO] Checking activity reminders 
[2026-05-02 11:08:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:08:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:13] [INFO] Checking activity reminders 
[2026-05-02 11:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:21] [WARNING] Auth check failed - not authenticated {"session_id":"33ipg365afilsp3mb3ei1kg2i5","session_keys":[],"action":"log_client_event"}
[2026-05-02 11:08:21] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 11:08:21] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 11:08:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:08:21] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:08:21] [INFO] [DEBUG] getDidarUsers - Found users {"count":10,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"}]}
[2026-05-02 11:08:21] [INFO] [DEBUG] getDidarUsers - Returning users {"count":10,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1}]}
[2026-05-02 11:08:30] [WARNING] Auth check failed - not authenticated {"session_id":"3vkb81rcp9mcs75isgslqpidsu","session_keys":[],"action":"log_client_event"}
[2026-05-02 11:08:30] [INFO] Master password used for login {"user_id":"1","identifier":"خانم توانا","role":"agent"}
[2026-05-02 11:08:30] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":true}
[2026-05-02 11:08:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:08:39] [INFO] Checking activity reminders 
[2026-05-02 11:08:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:08:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:43] [INFO] Checking activity reminders 
[2026-05-02 11:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:51] [INFO] Checking activity reminders 
[2026-05-02 11:08:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:08:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:08:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:09:00] [INFO] Checking activity reminders 
[2026-05-02 11:09:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:09] [INFO] Checking activity reminders 
[2026-05-02 11:09:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:13] [INFO] Checking activity reminders 
[2026-05-02 11:09:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:23] [INFO] Checking activity reminders 
[2026-05-02 11:09:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:30] [INFO] Checking activity reminders 
[2026-05-02 11:09:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:39] [INFO] Checking activity reminders 
[2026-05-02 11:09:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:43] [INFO] Checking activity reminders 
[2026-05-02 11:09:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:09:53] [INFO] Checking activity reminders 
[2026-05-02 11:09:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:09:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:00] [INFO] Checking activity reminders 
[2026-05-02 11:10:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:09] [INFO] Checking activity reminders 
[2026-05-02 11:10:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:13] [INFO] Checking activity reminders 
[2026-05-02 11:10:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:10:23] [INFO] Checking activity reminders 
[2026-05-02 11:10:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:30] [INFO] Checking activity reminders 
[2026-05-02 11:10:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:10:39] [INFO] Checking activity reminders 
[2026-05-02 11:10:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:43] [INFO] Checking activity reminders 
[2026-05-02 11:10:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:10:48] [WARNING] Auth check failed - not authenticated {"session_id":"firaptbrsrs7g6spdohl4jlfbe","session_keys":[],"action":"log_client_event"}
[2026-05-02 11:10:48] [INFO] User logged in {"user_id":"1718","email":"f.mazaheriii23@gmail.com","role":"project","via_master":false}
[2026-05-02 11:10:49] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:10:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:10:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:10:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:10:53] [INFO] Checking activity reminders 
[2026-05-02 11:10:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:10:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:11:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:11:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:11:01] [INFO] Checking activity reminders 
[2026-05-02 11:11:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:11:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:11:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:11:09] [INFO] Checking activity reminders 
[2026-05-02 11:11:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:13] [INFO] Checking activity reminders 
[2026-05-02 11:11:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:19] [INFO] Checking activity reminders 
[2026-05-02 11:11:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 11:11:20] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 11:11:23] [INFO] Checking activity reminders 
[2026-05-02 11:11:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:29] [INFO] Checking activity reminders 
[2026-05-02 11:11:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:30] [INFO] Checking activity reminders 
[2026-05-02 11:11:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:31] [INFO] Checking activity reminders 
[2026-05-02 11:11:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 11:11:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f33a5483b1f1.93496532","person_id":"22466"}
[2026-05-02 11:11:43] [INFO] Checking activity reminders 
[2026-05-02 11:11:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:49] [INFO] Checking activity reminders 
[2026-05-02 11:11:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:11:53] [INFO] Checking activity reminders 
[2026-05-02 11:11:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:11:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:01] [INFO] Checking activity reminders 
[2026-05-02 11:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:01] [INFO] Checking activity reminders 
[2026-05-02 11:12:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:19] [INFO] Checking activity reminders 
[2026-05-02 11:12:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:23] [INFO] Checking activity reminders 
[2026-05-02 11:12:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:31] [INFO] Checking activity reminders 
[2026-05-02 11:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:31] [INFO] Checking activity reminders 
[2026-05-02 11:12:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:39] [INFO] Lead update received {"contact_id":"16850","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-05-02 11:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:12:39] [DEBUG] findByPhone: Found person {"phones":["9125759224"],"found_id":"21402","found_didar_id":"local_695122e6c05af9.97801547","found_name":"تست تست"}
[2026-05-02 11:12:39] [INFO] Duplicate phone found in resolveDuplicateMatchLocalOnly {"phone":"9125759224","found_didar_id":"local_695122e6c05af9.97801547","found_local_id":"21402","found_name":"تست تست"}
[2026-05-02 11:12:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_695122e6c05af9.97801547","person_id":"21402"}
[2026-05-02 11:12:39] [INFO] checkForDuplicates: REAL duplicate found {"phone":"9125759224","found_id":"21402","found_didar_id":"local_695122e6c05af9.97801547","exclude_id":7674,"exclude_didar_id":"16850"}
[2026-05-02 11:12:39] [ERROR] API Error {"action":"update_lead","exception":{"message":"این شماره قبلاً برای تست تست (مسئول: لید استخر) ثبت شده است.","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php","line":777,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/LeadService.php(977): App\\Services\\LeadService->checkForDuplicates()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/LeadController.php(487): App\\Services\\LeadService->updateLead()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(636): App\\Controllers\\LeadController->update()\n#3 {main}"}}
[2026-05-02 11:12:49] [INFO] Checking activity reminders 
[2026-05-02 11:12:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:12:53] [INFO] Checking activity reminders 
[2026-05-02 11:12:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:12:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:01] [INFO] Checking activity reminders 
[2026-05-02 11:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:01] [INFO] Checking activity reminders 
[2026-05-02 11:13:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:11] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:13:11] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:13:11] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:13:16] [INFO] Lead update received {"contact_id":"16850","has_previous_purchase":"0","previous_purchase_number":"not_set","activity_has_purchase":"not_set","activity_previous_number":""}
[2026-05-02 11:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:13:16] [INFO] CRM Transfer Check - No transfer needed {"has_previous_purchase":"0","contact_id":"16850"}
[2026-05-02 11:13:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:13:19] [INFO] Checking activity reminders 
[2026-05-02 11:13:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:23] [INFO] Checking activity reminders 
[2026-05-02 11:13:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:13:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:13:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:13:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:13:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:13:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:13:31] [INFO] Checking activity reminders 
[2026-05-02 11:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:31] [INFO] Checking activity reminders 
[2026-05-02 11:13:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:49] [INFO] Checking activity reminders 
[2026-05-02 11:13:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:13:53] [INFO] Checking activity reminders 
[2026-05-02 11:13:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:13:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:01] [INFO] Checking activity reminders 
[2026-05-02 11:14:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:01] [INFO] Checking activity reminders 
[2026-05-02 11:14:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:19] [INFO] Checking activity reminders 
[2026-05-02 11:14:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:23] [INFO] Checking activity reminders 
[2026-05-02 11:14:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:31] [INFO] Checking activity reminders 
[2026-05-02 11:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:14:31] [INFO] Checking activity reminders 
[2026-05-02 11:14:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:14:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:15:01] [INFO] Checking activity reminders 
[2026-05-02 11:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:15:01] [INFO] Checking activity reminders 
[2026-05-02 11:15:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:15:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:15:31] [INFO] Checking activity reminders 
[2026-05-02 11:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:15:31] [INFO] Checking activity reminders 
[2026-05-02 11:15:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:15:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:15:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:16:01] [INFO] Checking activity reminders 
[2026-05-02 11:16:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:16:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:16:02] [INFO] Checking activity reminders 
[2026-05-02 11:16:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:16:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:16:31] [INFO] Checking activity reminders 
[2026-05-02 11:16:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:16:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:16:32] [INFO] Checking activity reminders 
[2026-05-02 11:16:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:16:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:17:01] [INFO] Checking activity reminders 
[2026-05-02 11:17:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:17:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:17:02] [INFO] Checking activity reminders 
[2026-05-02 11:17:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:17:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:17:22] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 11:17:22] [INFO] generateDealTitle result {"contact_id":"16850","person_name":"لید جدید","mobile":"9910709571","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9910709571"}
[2026-05-02 11:17:31] [INFO] Checking activity reminders 
[2026-05-02 11:17:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:17:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:17:32] [INFO] Checking activity reminders 
[2026-05-02 11:17:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:17:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:17:46] [INFO] Checking activity reminders 
[2026-05-02 11:17:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:17:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:02] [INFO] Checking activity reminders 
[2026-05-02 11:18:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:03] [INFO] Checking activity reminders 
[2026-05-02 11:18:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:16] [INFO] Checking activity reminders 
[2026-05-02 11:18:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:32] [INFO] Checking activity reminders 
[2026-05-02 11:18:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:33] [INFO] Checking activity reminders 
[2026-05-02 11:18:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:18:46] [INFO] Checking activity reminders 
[2026-05-02 11:18:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:18:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:19:02] [INFO] Checking activity reminders 
[2026-05-02 11:19:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:19:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:19:03] [INFO] Checking activity reminders 
[2026-05-02 11:19:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:19:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:19:32] [INFO] Checking activity reminders 
[2026-05-02 11:19:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:19:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:19:33] [INFO] Checking activity reminders 
[2026-05-02 11:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:19:35] [INFO] Activity save request {"post_data":{"contact_id":"14402","deal_id":"local_69ca8634dbb9a1.90826647","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در کار بازیگیری داره فعالیت میکنه \r\nهنوز سرمایه اش از شریکش دریافت نکرده \r\nسیگنال میخواست بهش گفتم بیا داخل کانال مسولیت سرمایه شماست نمیتونم بهتون اطلاعات بدم ","activity_duration":"10","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:19:35] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 11:19:35] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:19:35] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"14402","note_was_empty":true}
[2026-05-02 11:19:35] [INFO] Didar write disabled; saving activity locally {"contact_id":"14402","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:19:35] [INFO] Updating virtual stage {"contact_id":"14402","stage_name":"deal_registered","force":false}
[2026-05-02 11:19:35] [INFO] Virtual stage successfully saved {"contact_id":"14402","stage_name":"deal_registered"}
[2026-05-02 11:19:35] [INFO] Virtual stage updated after activity save {"contact_id":"14402"}
[2026-05-02 11:19:35] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca8634dbb9a1.90826647","stage":"تماس پیگیری","status_change":null}
[2026-05-02 11:19:35] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5ac8f5e1249.53159197","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:19:35] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5ac8f5e1249.53159197"}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:19:35] [INFO] Updating virtual stage {"contact_id":"14402","stage_name":"deal_registered","force":false}
[2026-05-02 11:19:35] [INFO] Virtual stage successfully saved {"contact_id":"14402","stage_name":"deal_registered"}
[2026-05-02 11:19:35] [INFO] Virtual stage updated after activity save {"contact_id":"14402"}
[2026-05-02 11:19:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14402","person_id":"13804"}
[2026-05-02 11:20:02] [INFO] Checking activity reminders 
[2026-05-02 11:20:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:20:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:20:03] [INFO] Checking activity reminders 
[2026-05-02 11:20:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:20:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:20:13] [INFO] Checking activity reminders 
[2026-05-02 11:20:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:20:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:20:32] [INFO] Checking activity reminders 
[2026-05-02 11:20:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:20:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:20:34] [INFO] Checking activity reminders 
[2026-05-02 11:20:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:20:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:21:02] [INFO] Checking activity reminders 
[2026-05-02 11:21:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:21:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:21:04] [INFO] Checking activity reminders 
[2026-05-02 11:21:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:21:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:21:32] [INFO] Checking activity reminders 
[2026-05-02 11:21:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:21:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:21:34] [INFO] Checking activity reminders 
[2026-05-02 11:21:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:21:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:22:04] [INFO] Checking activity reminders 
[2026-05-02 11:22:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:22:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:22:35] [INFO] Checking activity reminders 
[2026-05-02 11:22:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:22:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:23:05] [INFO] Checking activity reminders 
[2026-05-02 11:23:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:23:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:23:35] [INFO] Checking activity reminders 
[2026-05-02 11:23:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:23:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:24:05] [INFO] Checking activity reminders 
[2026-05-02 11:24:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:24:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:24:35] [INFO] Checking activity reminders 
[2026-05-02 11:24:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:24:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:25:05] [INFO] Checking activity reminders 
[2026-05-02 11:25:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:25:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:25:35] [INFO] Checking activity reminders 
[2026-05-02 11:25:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:25:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:25:43] [INFO] Checking activity reminders 
[2026-05-02 11:25:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:25:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:25:53] [INFO] Activity save request {"post_data":{"contact_id":"local_699d6db3c54894.05176022","deal_id":"local_699d6db3dabe0","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"در مورد مشاوره ملکی از استاد سوال داشت \r\nپرزنت مشاوره و کانال 405  ","activity_duration":"3","direction":"outgoing","current_stage":"تماس پیگیری","pipeline_stage":"تماس پیگیری","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:25:53] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 11:25:53] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:25:53] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"local_699d6db3c54894.05176022","note_was_empty":true}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:25:53] [INFO] Updating virtual stage {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered","force":false}
[2026-05-02 11:25:53] [INFO] Virtual stage successfully saved {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered"}
[2026-05-02 11:25:53] [INFO] Virtual stage updated after activity save {"contact_id":"local_699d6db3c54894.05176022"}
[2026-05-02 11:25:53] [INFO] Pipeline stage updated after activity save {"deal_id":"local_699d6db3dabe0","stage":"تماس پیگیری","status_change":null}
[2026-05-02 11:25:53] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5ae09553c81.01796095","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:25:53] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5ae09553c81.01796095"}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:25:53] [INFO] Updating virtual stage {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered","force":false}
[2026-05-02 11:25:53] [INFO] Virtual stage successfully saved {"contact_id":"local_699d6db3c54894.05176022","stage_name":"deal_registered"}
[2026-05-02 11:25:53] [INFO] Virtual stage updated after activity save {"contact_id":"local_699d6db3c54894.05176022"}
[2026-05-02 11:25:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_699d6db3c54894.05176022","person_id":"21788"}
[2026-05-02 11:26:05] [INFO] Checking activity reminders 
[2026-05-02 11:26:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:26:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:26:13] [INFO] Checking activity reminders 
[2026-05-02 11:26:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:26:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:26:26] [INFO] Checking activity reminders 
[2026-05-02 11:26:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:26:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:26:34] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:26:35] [INFO] Checking activity reminders 
[2026-05-02 11:26:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:26:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:26:56] [INFO] Checking activity reminders 
[2026-05-02 11:26:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:26:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:27:06] [INFO] Checking activity reminders 
[2026-05-02 11:27:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:27:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:27:26] [INFO] Checking activity reminders 
[2026-05-02 11:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:27:36] [INFO] Checking activity reminders 
[2026-05-02 11:27:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:27:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:27:56] [INFO] Checking activity reminders 
[2026-05-02 11:27:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:27:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:28:06] [INFO] Checking activity reminders 
[2026-05-02 11:28:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:28:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:28:26] [INFO] Checking activity reminders 
[2026-05-02 11:28:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:28:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:28:36] [INFO] Checking activity reminders 
[2026-05-02 11:28:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:28:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:28:57] [INFO] Checking activity reminders 
[2026-05-02 11:28:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:28:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:29:08] [INFO] Checking activity reminders 
[2026-05-02 11:29:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:29:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:29:27] [INFO] Checking activity reminders 
[2026-05-02 11:29:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:29:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:29:41] [INFO] Checking activity reminders 
[2026-05-02 11:29:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:29:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:29:57] [INFO] Checking activity reminders 
[2026-05-02 11:29:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:29:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:30:11] [INFO] Checking activity reminders 
[2026-05-02 11:30:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:30:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:30:27] [INFO] Checking activity reminders 
[2026-05-02 11:30:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:30:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:30:41] [INFO] Checking activity reminders 
[2026-05-02 11:30:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:30:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:30:57] [INFO] Checking activity reminders 
[2026-05-02 11:30:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:30:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:31:11] [INFO] Checking activity reminders 
[2026-05-02 11:31:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:31:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:31:27] [INFO] Checking activity reminders 
[2026-05-02 11:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:31:41] [INFO] Checking activity reminders 
[2026-05-02 11:31:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:31:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:31:57] [INFO] Checking activity reminders 
[2026-05-02 11:31:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:31:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:32:11] [INFO] Checking activity reminders 
[2026-05-02 11:32:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:32:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:32:27] [INFO] Checking activity reminders 
[2026-05-02 11:32:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:32:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:32:41] [INFO] Checking activity reminders 
[2026-05-02 11:32:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:32:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:32:57] [INFO] Checking activity reminders 
[2026-05-02 11:32:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:32:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:33:12] [INFO] Checking activity reminders 
[2026-05-02 11:33:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:33:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:33:27] [INFO] Checking activity reminders 
[2026-05-02 11:33:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:33:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:33:42] [INFO] Checking activity reminders 
[2026-05-02 11:33:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:33:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:33:57] [INFO] Checking activity reminders 
[2026-05-02 11:33:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:33:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:34:12] [INFO] Checking activity reminders 
[2026-05-02 11:34:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:34:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:34:28] [INFO] Checking activity reminders 
[2026-05-02 11:34:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:34:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:34:42] [INFO] Checking activity reminders 
[2026-05-02 11:34:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:34:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:34:58] [INFO] Checking activity reminders 
[2026-05-02 11:34:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:34:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:35:12] [INFO] Checking activity reminders 
[2026-05-02 11:35:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:35:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:35:28] [INFO] Checking activity reminders 
[2026-05-02 11:35:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:35:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:35:42] [INFO] Checking activity reminders 
[2026-05-02 11:35:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:35:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:35:58] [INFO] Checking activity reminders 
[2026-05-02 11:35:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:35:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:36:12] [INFO] Checking activity reminders 
[2026-05-02 11:36:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:36:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:36:28] [INFO] Checking activity reminders 
[2026-05-02 11:36:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:36:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:36:42] [INFO] Checking activity reminders 
[2026-05-02 11:36:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:36:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:36:58] [INFO] Checking activity reminders 
[2026-05-02 11:36:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:36:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:37:12] [INFO] Checking activity reminders 
[2026-05-02 11:37:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:37:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:37:28] [INFO] Checking activity reminders 
[2026-05-02 11:37:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:37:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:37:43] [INFO] Checking activity reminders 
[2026-05-02 11:37:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:37:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:38:13] [INFO] Checking activity reminders 
[2026-05-02 11:38:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:38:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:38:43] [INFO] Checking activity reminders 
[2026-05-02 11:38:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:38:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:39:13] [INFO] Checking activity reminders 
[2026-05-02 11:39:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:39:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:39:43] [INFO] Checking activity reminders 
[2026-05-02 11:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:40:13] [INFO] Checking activity reminders 
[2026-05-02 11:40:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:40:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:40:43] [INFO] Checking activity reminders 
[2026-05-02 11:40:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:40:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:41:00] [WARNING] Auth check failed - not authenticated {"session_id":"3vkb81rcp9mcs75isgslqpidsu","session_keys":[],"action":"log_client_event"}
[2026-05-02 11:41:00] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-02 11:41:00] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-02 11:41:01] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:41:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:41:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:41:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:41:09] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:41:09] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:41:09] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:41:31] [INFO] Checking activity reminders 
[2026-05-02 11:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:41:40] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 11:41:40] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 11:41:40] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 11:42:01] [INFO] Checking activity reminders 
[2026-05-02 11:42:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:42:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:44:33] [INFO] Checking activity reminders 
[2026-05-02 11:44:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:44:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:44:36] [INFO] Checking activity reminders 
[2026-05-02 11:44:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:44:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:45:06] [INFO] Checking activity reminders 
[2026-05-02 11:45:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:45:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:46:56] [INFO] Checking activity reminders 
[2026-05-02 11:46:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:46:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:47:26] [INFO] Checking activity reminders 
[2026-05-02 11:47:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:47:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:47:57] [INFO] Checking activity reminders 
[2026-05-02 11:47:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:47:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:48:00] [INFO] Checking activity reminders 
[2026-05-02 11:48:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:48:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:48:27] [INFO] Checking activity reminders 
[2026-05-02 11:48:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:48:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:48:30] [INFO] Checking activity reminders 
[2026-05-02 11:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:48:57] [INFO] Checking activity reminders 
[2026-05-02 11:48:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:48:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:49:00] [INFO] Checking activity reminders 
[2026-05-02 11:49:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:49:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:49:07] [INFO] Activity save request {"post_data":{"contact_id":"12741","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"خیلی درگیر کارهای قانونی و دادگاهی هست \r\nمیخواد سرمایه پرتفو وارد خرید و فروش خودرو کنه \r\nبهش گفتم سود و عدد پرتفو محقق شده \r\nپرزنت 405 \r\nمیگه خانمم باید انجام بده خودم قرص ارامبخش استفاده میکنم \r\nارسال اطلاعات در بله ","activity_duration":"10","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 11:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:49:07] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 11:49:07] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 11:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:49:07] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"12741","note_was_empty":true}
[2026-05-02 11:49:07] [INFO] Didar write disabled; saving activity locally {"contact_id":"12741","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 11:49:07] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5b37b1439e0.11857932","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 11:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:49:07] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5b37b1439e0.11857932"}
[2026-05-02 11:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:49:07] [INFO] Updating virtual stage {"contact_id":"12741","stage_name":"with_purchase","force":false}
[2026-05-02 11:49:07] [INFO] Virtual stage successfully saved {"contact_id":"12741","stage_name":"with_purchase"}
[2026-05-02 11:49:07] [INFO] Virtual stage updated after activity save {"contact_id":"12741"}
[2026-05-02 11:49:07] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"12741","person_id":"13765"}
[2026-05-02 11:49:30] [INFO] Checking activity reminders 
[2026-05-02 11:49:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:49:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:50:00] [INFO] Checking activity reminders 
[2026-05-02 11:50:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:50:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:50:56] [INFO] Checking activity reminders 
[2026-05-02 11:50:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:50:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:51:26] [INFO] Checking activity reminders 
[2026-05-02 11:51:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:51:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:53:21] [INFO] Checking activity reminders 
[2026-05-02 11:53:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:53:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:53:31] [INFO] Checking activity reminders 
[2026-05-02 11:53:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:53:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:53:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 11:53:51] [INFO] Checking activity reminders 
[2026-05-02 11:53:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:53:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:54:06] [WARNING] Auth check failed - not authenticated {"session_id":"m75dhg2l289b2gooj6cj8l5vlq","session_keys":[],"action":"log_client_event"}
[2026-05-02 11:54:07] [INFO] User logged in {"user_id":"1714","email":"shayeste2@hanafi.ir","role":"agent","via_master":false}
[2026-05-02 11:54:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:54:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 11:54:21] [INFO] Checking activity reminders 
[2026-05-02 11:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:54:39] [INFO] Checking activity reminders 
[2026-05-02 11:54:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:54:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:54:40] [INFO] Checking activity reminders 
[2026-05-02 11:54:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:54:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:54:44] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6796","person_id":"244"}
[2026-05-02 11:54:51] [INFO] Checking activity reminders 
[2026-05-02 11:54:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:54:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:54:53] [INFO] Checking activity reminders 
[2026-05-02 11:54:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:54:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:55:21] [INFO] Checking activity reminders 
[2026-05-02 11:55:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:55:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:55:42] [INFO] Checking activity reminders 
[2026-05-02 11:55:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:55:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:55:51] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:56:12] [INFO] Checking activity reminders 
[2026-05-02 11:56:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:56:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:56:42] [INFO] Checking activity reminders 
[2026-05-02 11:56:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:56:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:57:11] [INFO] Activity save request {"post_data":{"contact_id":"8698","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پشت موتور بود شرایط تماس نداشت \r\n","activity_duration":"1","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 11:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:57:11] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 11:57:11] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 11:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:57:11] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"8698","note_was_empty":true}
[2026-05-02 11:57:11] [INFO] Didar write disabled; saving activity locally {"contact_id":"8698","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 11:57:11] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5b55f83c700.37345174","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 11:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:57:11] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5b55f83c700.37345174"}
[2026-05-02 11:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:57:11] [INFO] Updating virtual stage {"contact_id":"8698","stage_name":"deal_registered","force":false}
[2026-05-02 11:57:11] [INFO] Virtual stage successfully saved {"contact_id":"8698","stage_name":"deal_registered"}
[2026-05-02 11:57:11] [INFO] Virtual stage updated after activity save {"contact_id":"8698"}
[2026-05-02 11:57:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"8698","person_id":"7777"}
[2026-05-02 11:57:12] [INFO] Checking activity reminders 
[2026-05-02 11:57:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:57:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:57:42] [INFO] Checking activity reminders 
[2026-05-02 11:57:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:57:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:58:12] [INFO] Checking activity reminders 
[2026-05-02 11:58:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:58:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:58:42] [INFO] Checking activity reminders 
[2026-05-02 11:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:59:12] [INFO] Checking activity reminders 
[2026-05-02 11:59:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:59:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 11:59:42] [INFO] Checking activity reminders 
[2026-05-02 11:59:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 11:59:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:00:12] [INFO] Checking activity reminders 
[2026-05-02 12:00:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:00:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:00:24] [WARNING] Auth check failed - not authenticated {"session_id":"firaptbrsrs7g6spdohl4jlfbe","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:00:24] [WARNING] Auth check failed - not authenticated {"session_id":"firaptbrsrs7g6spdohl4jlfbe","session_keys":[],"action":"check_reminders"}
[2026-05-02 12:00:24] [WARNING] Auth check failed - not authenticated {"session_id":"firaptbrsrs7g6spdohl4jlfbe","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:00:42] [INFO] Checking activity reminders 
[2026-05-02 12:00:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:00:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:01:12] [INFO] Checking activity reminders 
[2026-05-02 12:01:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:01:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:01:42] [INFO] Checking activity reminders 
[2026-05-02 12:01:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:01:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:02:13] [INFO] Checking activity reminders 
[2026-05-02 12:02:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:02:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:02:43] [INFO] Checking activity reminders 
[2026-05-02 12:02:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:02:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:03:13] [INFO] Checking activity reminders 
[2026-05-02 12:03:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:03:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:03:43] [INFO] Checking activity reminders 
[2026-05-02 12:03:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:03:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:04:13] [INFO] Checking activity reminders 
[2026-05-02 12:04:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:04:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:04:43] [INFO] Checking activity reminders 
[2026-05-02 12:04:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:04:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:05:13] [INFO] Checking activity reminders 
[2026-05-02 12:05:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:05:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:05:43] [INFO] Checking activity reminders 
[2026-05-02 12:05:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:05:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:06:13] [INFO] Checking activity reminders 
[2026-05-02 12:06:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:06:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:06:43] [INFO] Checking activity reminders 
[2026-05-02 12:06:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:06:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:07:13] [INFO] Checking activity reminders 
[2026-05-02 12:07:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:07:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:07:34] [INFO] Checking activity reminders 
[2026-05-02 12:07:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:07:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:07:43] [INFO] Checking activity reminders 
[2026-05-02 12:07:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:07:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:07:51] [INFO] Checking activity reminders 
[2026-05-02 12:07:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:07:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:08:08] [INFO] Checking activity reminders 
[2026-05-02 12:08:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:08:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:08:11] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 12:08:13] [INFO] Checking activity reminders 
[2026-05-02 12:08:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:08:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:08:43] [INFO] Checking activity reminders 
[2026-05-02 12:08:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:08:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:08:55] [INFO] Checking activity reminders 
[2026-05-02 12:08:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:08:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:09:14] [INFO] Checking activity reminders 
[2026-05-02 12:09:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:09:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:09:44] [INFO] Checking activity reminders 
[2026-05-02 12:09:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:09:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:10:14] [INFO] Checking activity reminders 
[2026-05-02 12:10:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:10:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:10:44] [INFO] Checking activity reminders 
[2026-05-02 12:10:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:10:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:11:14] [INFO] Checking activity reminders 
[2026-05-02 12:11:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:11:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:11:44] [INFO] Checking activity reminders 
[2026-05-02 12:11:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:11:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:12:14] [INFO] Checking activity reminders 
[2026-05-02 12:12:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:12:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:12:44] [INFO] Checking activity reminders 
[2026-05-02 12:12:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:12:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:13:14] [INFO] Checking activity reminders 
[2026-05-02 12:13:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:13:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:13:44] [INFO] Checking activity reminders 
[2026-05-02 12:13:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:13:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:14:14] [INFO] Checking activity reminders 
[2026-05-02 12:14:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:14:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:14:33] [INFO] Checking activity reminders 
[2026-05-02 12:14:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:14:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:16:21] [INFO] Checking activity reminders 
[2026-05-02 12:16:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:16:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:16:38] [WARNING] Auth check failed - not authenticated {"session_id":"3vkb81rcp9mcs75isgslqpidsu","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:16:39] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-02 12:16:39] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-02 12:16:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 12:16:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 12:16:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 12:16:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 12:17:09] [INFO] Checking activity reminders 
[2026-05-02 12:17:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:17:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:17:39] [INFO] Checking activity reminders 
[2026-05-02 12:17:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:17:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:17:45] [INFO] Checking activity reminders 
[2026-05-02 12:17:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:17:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:18:09] [INFO] Checking activity reminders 
[2026-05-02 12:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:18:15] [INFO] Checking activity reminders 
[2026-05-02 12:18:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:18:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:18:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:18:39] [INFO] Checking activity reminders 
[2026-05-02 12:18:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:18:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:18:45] [INFO] Checking activity reminders 
[2026-05-02 12:18:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:18:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:19:09] [INFO] Checking activity reminders 
[2026-05-02 12:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:19:16] [INFO] Checking activity reminders 
[2026-05-02 12:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:19:39] [INFO] Checking activity reminders 
[2026-05-02 12:19:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:19:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:19:46] [INFO] Checking activity reminders 
[2026-05-02 12:19:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:19:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:20:10] [INFO] Checking activity reminders 
[2026-05-02 12:20:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:20:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:20:16] [INFO] Checking activity reminders 
[2026-05-02 12:20:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:20:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:20:40] [INFO] Checking activity reminders 
[2026-05-02 12:20:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:20:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:20:46] [INFO] Checking activity reminders 
[2026-05-02 12:20:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:20:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:21:10] [INFO] Checking activity reminders 
[2026-05-02 12:21:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:21:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:21:16] [INFO] Checking activity reminders 
[2026-05-02 12:21:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:21:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:21:40] [INFO] Checking activity reminders 
[2026-05-02 12:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:21:46] [INFO] Checking activity reminders 
[2026-05-02 12:21:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:21:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:22:10] [INFO] Checking activity reminders 
[2026-05-02 12:22:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:22:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:22:16] [INFO] Checking activity reminders 
[2026-05-02 12:22:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:22:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:22:40] [INFO] Checking activity reminders 
[2026-05-02 12:22:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:22:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:22:46] [INFO] Checking activity reminders 
[2026-05-02 12:22:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:22:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:23:11] [INFO] Checking activity reminders 
[2026-05-02 12:23:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:23:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:23:16] [INFO] Checking activity reminders 
[2026-05-02 12:23:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:23:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:23:36] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 12:23:36","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 12:23:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:36] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","is_new_deal":false}
[2026-05-02 12:23:36] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:36] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:36] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:36] [INFO] getContactPrimaryPhone called {"contact_id":"11748"}
[2026-05-02 12:23:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:36] [INFO] getContactPrimaryPhone result {"contact_id":"11748","person_found":true,"primary_phone":"9131409757"}
[2026-05-02 12:23:36] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131409757"}
[2026-05-02 12:23:36] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131409757","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 12:23:36"}
[2026-05-02 12:23:36] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","existing_deal_found":true,"existing_contact_id":"11748","existing_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 12:23:36"}
[2026-05-02 12:23:36] [INFO] DealController.save validated payments {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","payments_count":2,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-02 12:23:36] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11748","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 12:23:36] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a6d59b71887.16010531","contact_didar_id":"11748","title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9131409757","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امین ضیاء","existing_deal":"YES","existing_deal_id":"local_695a6d59b71887.16010531","existing_deal_status":"Pending","server_time":"2026-05-02 12:23:36","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 12:23:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:36] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-05-02 12:23:36","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 12:23:36] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:41] [INFO] Checking activity reminders 
[2026-05-02 12:23:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:23:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:23:42] [INFO] DealController.save start {"is_new":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 12:23:42","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 12:23:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:42] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی شش ماهه","contact_id":"11748","is_new_deal":false}
[2026-05-02 12:23:42] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:42] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:42] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی شش ماهه"}
[2026-05-02 12:23:42] [INFO] getContactPrimaryPhone called {"contact_id":"11748"}
[2026-05-02 12:23:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:42] [INFO] getContactPrimaryPhone result {"contact_id":"11748","person_found":true,"primary_phone":"9131409757"}
[2026-05-02 12:23:42] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131409757"}
[2026-05-02 12:23:42] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131409757","contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","is_new_deal":false,"incoming_title":"کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 12:23:42"}
[2026-05-02 12:23:42] [INFO] DealController.save existing deal lookup {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","existing_deal_found":true,"existing_contact_id":"11748","existing_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 12:23:42"}
[2026-05-02 12:23:42] [INFO] DealController.save validated payments {"deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","payments_count":2,"status":"won","pipeline_stage":"پرداخت"}
[2026-05-02 12:23:42] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11748","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 12:23:42] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_695a6d59b71887.16010531","contact_didar_id":"11748","title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","base_title_used":"معامله سوم 9131409757","services_text":"کانال VIP با پشتیبانی شش ماهه","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":39000000,"payment_amount":39000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی شش ماهه"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امین ضیاء","existing_deal":"YES","existing_deal_id":"local_695a6d59b71887.16010531","existing_deal_status":"Pending","server_time":"2026-05-02 12:23:42","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 12:23:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:42] [INFO] Deal success processed {"contact_id":"11748","person_name":"امین ضیاء","products_count":1}
[2026-05-02 12:23:42] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_695a6d59b71887.16010531","contact_id":"11748","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9131409757 | کانال VIP با پشتیبانی شش ماهه","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":39000000,"payment_amount":39000000,"server_time":"2026-05-02 12:23:42","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 12:23:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:42] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"with_purchase","force":true}
[2026-05-02 12:23:42] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"with_purchase"}
[2026-05-02 12:23:42] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11748","deal_id":"local_695a6d59b71887.16010531","target_stage":"with_purchase"}
[2026-05-02 12:23:43] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:46] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:23:46] [INFO] generateDealTitle result {"contact_id":"11748","person_name":"امین ضیاء","mobile":"9131409757","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9131409757"}
[2026-05-02 12:23:46] [INFO] Checking activity reminders 
[2026-05-02 12:23:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:23:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:24:11] [INFO] Checking activity reminders 
[2026-05-02 12:24:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:24:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:24:16] [INFO] Checking activity reminders 
[2026-05-02 12:24:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:24:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:24:32] [INFO] DealController.save start {"is_new":true,"incoming_title":"هوش خودرو","contact_id":"11748","deal_id":"","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 12:24:32","session_id":"kh3pdn550gm5t28c1viabkb4uq"}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"هوش خودرو","contact_id":"11748","is_new_deal":true}
[2026-05-02 12:24:32] [INFO] extractPhoneFromDealTitle called {"input_title":"هوش خودرو"}
[2026-05-02 12:24:32] [INFO] extractPhoneFromDealTitle processing {"title_part":"هوش خودرو"}
[2026-05-02 12:24:32] [INFO] extractPhoneFromDealTitle no match found {"title_part":"هوش خودرو"}
[2026-05-02 12:24:32] [INFO] getContactPrimaryPhone called {"contact_id":"11748"}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [INFO] getContactPrimaryPhone result {"contact_id":"11748","person_found":true,"primary_phone":"9131409757"}
[2026-05-02 12:24:32] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9131409757"}
[2026-05-02 12:24:32] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9131409757","contact_id":"11748","deal_id":"","is_new_deal":true,"incoming_title":"هوش خودرو","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","server_time":"2026-05-02 12:24:32"}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [INFO] generateDealTitle result {"contact_id":"11748","person_name":"امین ضیاء","mobile":"9131409757","existing_deals":2,"ordinal":"سوم","title":"معامله سوم 9131409757"}
[2026-05-02 12:24:32] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"11748","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-05-02 12:24:32] [INFO] DealController.save validating permissions {"current_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_id":"11748","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 12:24:32] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"11748","title":"معامله سوم 9131409757 | هوش خودرو","base_title_used":"معامله سوم 9131409757","services_text":"هوش خودرو","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":7900000,"payment_amount":7900000,"payments_present":true,"requested_services":["هوش خودرو"],"user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","contact_name":"امین ضیاء","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-05-02 12:24:32","session_data":{"didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","name":"خانم شکیبا","user_id":"8"}}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [INFO] Deal success processed {"contact_id":"11748","person_name":"امین ضیاء","products_count":1}
[2026-05-02 12:24:32] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-05-02 12:24:32] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"11748","contact_owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_name":"خانم شکیبا","deal_title":"معامله سوم 9131409757 | هوش خودرو","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":7900000,"payment_amount":7900000,"server_time":"2026-05-02 12:24:32","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 12:24:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:32] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"with_purchase","force":true}
[2026-05-02 12:24:32] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"with_purchase"}
[2026-05-02 12:24:32] [INFO] Moved contact out of kariz after successful deal {"contact_id":"11748","deal_id":"","target_stage":"with_purchase"}
[2026-05-02 12:24:33] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:24:41] [INFO] Checking activity reminders 
[2026-05-02 12:24:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:24:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:24:47] [INFO] Checking activity reminders 
[2026-05-02 12:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:25:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 12:25:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 12:25:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 12:25:11] [INFO] Checking activity reminders 
[2026-05-02 12:25:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:25:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:25:12] [INFO] Activity save request {"post_data":{"contact_id":"11748","deal_id":"","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"پرزنت هوش و ارسال سرفصل ها \r\nپرداخت با تسویه کانال \r\n","activity_duration":"5","direction":"outgoing","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 12:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:25:12] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 12:25:12] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 12:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:25:12] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"11748","note_was_empty":true}
[2026-05-02 12:25:12] [INFO] Didar write disabled; saving activity locally {"contact_id":"11748","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 12:25:12] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5bbf0403124.16454921","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 12:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:25:12] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5bbf0403124.16454921"}
[2026-05-02 12:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:25:12] [INFO] Updating virtual stage {"contact_id":"11748","stage_name":"with_purchase","force":false}
[2026-05-02 12:25:12] [INFO] Virtual stage successfully saved {"contact_id":"11748","stage_name":"with_purchase"}
[2026-05-02 12:25:12] [INFO] Virtual stage updated after activity save {"contact_id":"11748"}
[2026-05-02 12:25:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"11748","person_id":"20083"}
[2026-05-02 12:25:17] [INFO] Checking activity reminders 
[2026-05-02 12:25:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:25:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:25:41] [INFO] Checking activity reminders 
[2026-05-02 12:25:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:25:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:25:47] [INFO] Checking activity reminders 
[2026-05-02 12:25:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:25:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:26:11] [INFO] Checking activity reminders 
[2026-05-02 12:26:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:26:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:26:17] [INFO] Checking activity reminders 
[2026-05-02 12:26:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:26:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:26:42] [INFO] Checking activity reminders 
[2026-05-02 12:26:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:26:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:26:47] [INFO] Checking activity reminders 
[2026-05-02 12:26:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:26:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:27:12] [INFO] Checking activity reminders 
[2026-05-02 12:27:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:27:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:27:42] [INFO] Checking activity reminders 
[2026-05-02 12:27:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:27:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:28:07] [INFO] Checking activity reminders 
[2026-05-02 12:28:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:28:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:28:37] [INFO] Checking activity reminders 
[2026-05-02 12:28:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:28:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:28:56] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 12:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"check_reminders"}
[2026-05-02 12:29:49] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:51] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:53] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:54] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:54] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:55] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:55] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:55] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"get_leads"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:29:56] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:30:18] [INFO] Checking activity reminders 
[2026-05-02 12:30:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:30:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:30:20] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:30:20] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-05-02 12:30:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 12:30:24] [INFO] Checking activity reminders 
[2026-05-02 12:30:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:30:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:31:24] [INFO] Checking activity reminders 
[2026-05-02 12:31:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:31:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:31:44] [INFO] Checking activity reminders 
[2026-05-02 12:31:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:31:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:31:55] [INFO] Checking activity reminders 
[2026-05-02 12:31:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:31:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:32:14] [INFO] Checking activity reminders 
[2026-05-02 12:32:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:32:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:32:25] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 12:32:25] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 12:32:25] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 12:32:44] [INFO] Checking activity reminders 
[2026-05-02 12:32:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:32:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:33:03] [INFO] Checking activity reminders 
[2026-05-02 12:33:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:33:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:33:14] [INFO] Checking activity reminders 
[2026-05-02 12:33:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:33:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:33:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 12:33:21] [INFO] Checking activity reminders 
[2026-05-02 12:33:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:33:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:33:27] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"16850","person_id":"7674"}
[2026-05-02 12:33:33] [INFO] Checking activity reminders 
[2026-05-02 12:33:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:33:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:33:44] [INFO] Checking activity reminders 
[2026-05-02 12:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:34:03] [INFO] Checking activity reminders 
[2026-05-02 12:34:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:34:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:34:14] [INFO] Checking activity reminders 
[2026-05-02 12:34:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:34:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:34:33] [INFO] Checking activity reminders 
[2026-05-02 12:34:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:34:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:34:45] [INFO] Checking activity reminders 
[2026-05-02 12:34:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:34:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:35:03] [INFO] Checking activity reminders 
[2026-05-02 12:35:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:35:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:35:15] [INFO] Checking activity reminders 
[2026-05-02 12:35:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:35:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:35:34] [INFO] Checking activity reminders 
[2026-05-02 12:35:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:35:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:35:46] [INFO] Checking activity reminders 
[2026-05-02 12:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:36:04] [INFO] Checking activity reminders 
[2026-05-02 12:36:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:36:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:36:16] [INFO] Checking activity reminders 
[2026-05-02 12:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:36:44] [INFO] Checking activity reminders 
[2026-05-02 12:36:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:36:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:36:46] [INFO] Checking activity reminders 
[2026-05-02 12:36:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:36:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:37:14] [INFO] Checking activity reminders 
[2026-05-02 12:37:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:37:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:37:17] [INFO] Checking activity reminders 
[2026-05-02 12:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:37:44] [INFO] Checking activity reminders 
[2026-05-02 12:37:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:37:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:39:05] [INFO] Checking activity reminders 
[2026-05-02 12:39:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:39:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:39:06] [WARNING] Auth check failed - not authenticated {"session_id":"dh6eudebn71hc5tknurmg4jdkn","session_keys":[],"action":"log_client_event"}
[2026-05-02 12:39:06] [INFO] Master password used for login {"user_id":"6","identifier":"امیر سهرابی","role":"admin"}
[2026-05-02 12:39:06] [INFO] User logged in {"user_id":"6","email":"hanaficarscoo@gmail.com","role":"admin","via_master":true}
[2026-05-02 12:39:06] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 12:39:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 12:39:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 12:39:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 12:39:28] [INFO] Checking activity reminders 
[2026-05-02 12:39:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:39:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:39:30] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 12:39:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 12:39:35] [INFO] Checking activity reminders 
[2026-05-02 12:39:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:39:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:39:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 12:40:05] [INFO] Checking activity reminders 
[2026-05-02 12:40:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:40:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:40:35] [INFO] Checking activity reminders 
[2026-05-02 12:40:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:40:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:41:05] [INFO] Checking activity reminders 
[2026-05-02 12:41:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:41:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:41:36] [INFO] Checking activity reminders 
[2026-05-02 12:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:42:16] [INFO] Checking activity reminders 
[2026-05-02 12:42:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:42:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:42:57] [INFO] Checking activity reminders 
[2026-05-02 12:42:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:42:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:43:27] [INFO] Checking activity reminders 
[2026-05-02 12:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:43:46] [INFO] Checking activity reminders 
[2026-05-02 12:43:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:43:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:43:57] [INFO] Checking activity reminders 
[2026-05-02 12:43:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:43:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:44:16] [INFO] Checking activity reminders 
[2026-05-02 12:44:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:44:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:44:27] [INFO] Checking activity reminders 
[2026-05-02 12:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:44:46] [INFO] Checking activity reminders 
[2026-05-02 12:44:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:44:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:44:57] [INFO] Checking activity reminders 
[2026-05-02 12:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:45:17] [INFO] Checking activity reminders 
[2026-05-02 12:45:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:45:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:45:27] [INFO] Checking activity reminders 
[2026-05-02 12:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:45:47] [INFO] Checking activity reminders 
[2026-05-02 12:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:45:58] [INFO] Checking activity reminders 
[2026-05-02 12:45:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:45:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:46:17] [INFO] Checking activity reminders 
[2026-05-02 12:46:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:46:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:46:28] [INFO] Checking activity reminders 
[2026-05-02 12:46:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:46:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:46:47] [INFO] Checking activity reminders 
[2026-05-02 12:46:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:46:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:46:58] [INFO] Checking activity reminders 
[2026-05-02 12:46:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:46:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:47:17] [INFO] Checking activity reminders 
[2026-05-02 12:47:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:47:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:47:28] [INFO] Checking activity reminders 
[2026-05-02 12:47:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:47:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:47:47] [INFO] Checking activity reminders 
[2026-05-02 12:47:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:47:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:47:58] [INFO] Checking activity reminders 
[2026-05-02 12:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:48:17] [INFO] Checking activity reminders 
[2026-05-02 12:48:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:48:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:48:28] [INFO] Checking activity reminders 
[2026-05-02 12:48:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:48:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:48:47] [INFO] Checking activity reminders 
[2026-05-02 12:48:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:48:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:48:58] [INFO] Checking activity reminders 
[2026-05-02 12:48:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:48:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:49:17] [INFO] Checking activity reminders 
[2026-05-02 12:49:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:49:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:49:28] [INFO] Checking activity reminders 
[2026-05-02 12:49:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:49:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:49:48] [INFO] Checking activity reminders 
[2026-05-02 12:49:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:49:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:49:58] [INFO] Checking activity reminders 
[2026-05-02 12:49:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:49:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:50:02] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 12:50:13] [INFO] Checking activity reminders 
[2026-05-02 12:50:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:50:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:50:18] [INFO] Checking activity reminders 
[2026-05-02 12:50:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:50:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 12:50:43] [INFO] Checking activity reminders 
[2026-05-02 12:50:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 12:50:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:06:23] [INFO] Checking activity reminders 
[2026-05-02 13:06:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:06:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:06:32] [INFO] Activity save request {"post_data":{"contact_id":"4120","deal_id":"local_69ca91120e83b1.49932522","activity_type_id":"790079e8-74ac-4760-9527-097627d3e7ec","activity_type_title":"تماس خروجی","note":"","result_note":"بیپاسخ \r\nپیام ","activity_duration":"1","direction":"outgoing","current_stage":"تماس عدم پاسخ","pipeline_stage":"تماس عدم پاسخ","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:32] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 13:06:32] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","database_didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","user_email":"hfishakiba@gmail.com","user_name":"خانم شکیبا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:32] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم شکیبا","contact_id":"4120","note_was_empty":true}
[2026-05-02 13:06:32] [INFO] Didar write disabled; saving activity locally {"contact_id":"4120","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9"}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:32] [INFO] Updating virtual stage {"contact_id":"4120","stage_name":"deal_registered","force":false}
[2026-05-02 13:06:32] [INFO] Virtual stage successfully saved {"contact_id":"4120","stage_name":"deal_registered"}
[2026-05-02 13:06:32] [INFO] Virtual stage updated after activity save {"contact_id":"4120"}
[2026-05-02 13:06:32] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69ca91120e83b1.49932522","stage":"تماس عدم پاسخ","status_change":null}
[2026-05-02 13:06:32] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5c5a0802749.26157395","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:32] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5c5a0802749.26157395"}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:32] [INFO] Updating virtual stage {"contact_id":"4120","stage_name":"deal_registered","force":false}
[2026-05-02 13:06:32] [INFO] Virtual stage successfully saved {"contact_id":"4120","stage_name":"deal_registered"}
[2026-05-02 13:06:32] [INFO] Virtual stage updated after activity save {"contact_id":"4120"}
[2026-05-02 13:06:32] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"4120","person_id":"12987"}
[2026-05-02 13:06:53] [INFO] Checking activity reminders 
[2026-05-02 13:06:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:06:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:07:23] [INFO] Checking activity reminders 
[2026-05-02 13:07:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:07:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:07:54] [INFO] Checking activity reminders 
[2026-05-02 13:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:08:06] [INFO] Checking activity reminders 
[2026-05-02 13:08:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:08:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:08:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"986","person_id":"8027"}
[2026-05-02 13:08:36] [INFO] Checking activity reminders 
[2026-05-02 13:08:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:08:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:08:48] [INFO] Checking activity reminders 
[2026-05-02 13:08:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:08:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:09:18] [INFO] Checking activity reminders 
[2026-05-02 13:09:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:09:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:09:48] [INFO] Checking activity reminders 
[2026-05-02 13:09:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:09:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:10:18] [INFO] Checking activity reminders 
[2026-05-02 13:10:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:10:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:10:48] [INFO] Checking activity reminders 
[2026-05-02 13:10:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:10:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:14:56] [INFO] Checking activity reminders 
[2026-05-02 13:14:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:14:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:15:26] [INFO] Checking activity reminders 
[2026-05-02 13:15:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:15:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:15:56] [INFO] Checking activity reminders 
[2026-05-02 13:15:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:15:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:16:26] [INFO] Checking activity reminders 
[2026-05-02 13:16:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:16:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:16:56] [INFO] Checking activity reminders 
[2026-05-02 13:16:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:16:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:17:26] [INFO] Checking activity reminders 
[2026-05-02 13:17:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:17:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:17:56] [INFO] Checking activity reminders 
[2026-05-02 13:17:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:17:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:18:26] [INFO] Checking activity reminders 
[2026-05-02 13:18:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:18:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:18:56] [INFO] Checking activity reminders 
[2026-05-02 13:18:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:18:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:19:26] [INFO] Checking activity reminders 
[2026-05-02 13:19:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:19:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:19:57] [INFO] Checking activity reminders 
[2026-05-02 13:19:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:19:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:21:00] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:00] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"check_reminders"}
[2026-05-02 13:21:00] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:00] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:02] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:02] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"get_products"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"get_leads"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:03] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:09] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:09] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:10] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:10] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:10] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:10] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:10] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"get_leads"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:11] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:17] [WARNING] Auth check failed - not authenticated {"session_id":"7ru1ntot76p3qhndbi8diq2e5n","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:21:17] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":false}
[2026-05-02 13:21:17] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 13:21:41] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:21:47] [INFO] Checking activity reminders 
[2026-05-02 13:21:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:21:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:22:17] [INFO] Checking activity reminders 
[2026-05-02 13:22:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:22:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:22:47] [INFO] Checking activity reminders 
[2026-05-02 13:22:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:22:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:23:17] [INFO] Checking activity reminders 
[2026-05-02 13:23:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:23:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:23:48] [INFO] Checking activity reminders 
[2026-05-02 13:23:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:23:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:24:14] [INFO] Checking activity reminders 
[2026-05-02 13:24:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:24:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:24:18] [INFO] Checking activity reminders 
[2026-05-02 13:24:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:24:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:24:44] [INFO] Checking activity reminders 
[2026-05-02 13:24:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:24:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:24:48] [INFO] Checking activity reminders 
[2026-05-02 13:24:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:24:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:25:14] [INFO] Checking activity reminders 
[2026-05-02 13:25:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:25:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:25:18] [INFO] Checking activity reminders 
[2026-05-02 13:25:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:25:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:25:44] [INFO] Checking activity reminders 
[2026-05-02 13:25:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:25:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:25:48] [INFO] Checking activity reminders 
[2026-05-02 13:25:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:25:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:26:14] [INFO] Checking activity reminders 
[2026-05-02 13:26:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:26:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:26:18] [INFO] Checking activity reminders 
[2026-05-02 13:26:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:26:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:26:44] [INFO] Checking activity reminders 
[2026-05-02 13:26:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:26:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:26:48] [INFO] Checking activity reminders 
[2026-05-02 13:26:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:26:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:27:14] [INFO] Checking activity reminders 
[2026-05-02 13:27:14] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:27:14] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:27:18] [INFO] Checking activity reminders 
[2026-05-02 13:27:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:27:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:27:44] [INFO] Checking activity reminders 
[2026-05-02 13:27:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:27:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:27:48] [INFO] Checking activity reminders 
[2026-05-02 13:27:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:27:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:28:03] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 13:28:03] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 13:28:03] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 13:28:15] [INFO] Checking activity reminders 
[2026-05-02 13:28:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:28:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:28:18] [INFO] Checking activity reminders 
[2026-05-02 13:28:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:28:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:28:45] [INFO] Checking activity reminders 
[2026-05-02 13:28:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:28:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:28:48] [INFO] Checking activity reminders 
[2026-05-02 13:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:29:15] [INFO] Checking activity reminders 
[2026-05-02 13:29:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:29:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:29:18] [INFO] Checking activity reminders 
[2026-05-02 13:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:29:45] [INFO] Checking activity reminders 
[2026-05-02 13:29:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:29:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:29:48] [INFO] Checking activity reminders 
[2026-05-02 13:29:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:29:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:30:15] [INFO] Checking activity reminders 
[2026-05-02 13:30:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:30:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:30:18] [INFO] Checking activity reminders 
[2026-05-02 13:30:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:30:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:30:45] [INFO] Checking activity reminders 
[2026-05-02 13:30:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:30:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:30:48] [INFO] Checking activity reminders 
[2026-05-02 13:30:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:30:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:30:58] [INFO] Activity save request {"post_data":{"contact_id":"6729","deal_id":"local_69b6b1f6db6594.48801747","activity_type_id":"3b446dc2-5945-595c-c7ed-0eee08ff78fd","activity_type_title":"چت ورودی","note":"","result_note":"سوال داره ملک مصرف داره 100 متر \/ صندوق ها سرمایه گذاری میکنه \r\nصندوق بفروشه خونه متراژ بالاتر بخره گفتم سود و ضرر میلیاردی هست شما کانال بدون مشاوره گرفتی نمیتونم از استاد بپرسم","activity_duration":"15","direction":"incoming","current_stage":"پرداخت","pipeline_stage":"پرداخت","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 13:30:58] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"6729","note_was_empty":true}
[2026-05-02 13:30:58] [INFO] Didar write disabled; saving activity locally {"contact_id":"6729","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Updating virtual stage {"contact_id":"6729","stage_name":"with_purchase","force":false}
[2026-05-02 13:30:58] [INFO] Virtual stage successfully saved {"contact_id":"6729","stage_name":"with_purchase"}
[2026-05-02 13:30:58] [INFO] Virtual stage updated after activity save {"contact_id":"6729"}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Pipeline stage updated after activity save {"deal_id":"local_69b6b1f6db6594.48801747","stage":"اتمام","status_change":"Won"}
[2026-05-02 13:30:58] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5cb5a6a6478.10615157","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5cb5a6a6478.10615157"}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:30:58] [INFO] Updating virtual stage {"contact_id":"6729","stage_name":"with_purchase","force":false}
[2026-05-02 13:30:58] [INFO] Virtual stage successfully saved {"contact_id":"6729","stage_name":"with_purchase"}
[2026-05-02 13:30:58] [INFO] Virtual stage updated after activity save {"contact_id":"6729"}
[2026-05-02 13:30:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"6729","person_id":"7030"}
[2026-05-02 13:31:15] [INFO] Checking activity reminders 
[2026-05-02 13:31:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:31:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:31:18] [INFO] Checking activity reminders 
[2026-05-02 13:31:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:31:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:31:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:31:45] [INFO] Checking activity reminders 
[2026-05-02 13:31:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:31:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:31:49] [INFO] Checking activity reminders 
[2026-05-02 13:31:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:31:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:32:16] [INFO] Checking activity reminders 
[2026-05-02 13:32:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:32:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:32:19] [INFO] Checking activity reminders 
[2026-05-02 13:32:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:32:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:32:46] [INFO] Checking activity reminders 
[2026-05-02 13:32:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:32:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:32:49] [INFO] Checking activity reminders 
[2026-05-02 13:32:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:32:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:33:04] [INFO] Activity save request {"post_data":{"contact_id":"2846","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"کانال هست سی ای پی هم هست \/ رفتارش خوبه محترم \r\nبابت کانال طبق روال پیش میره\r\nجلسه بردبار گفته بود ایشون نارضایتی داشته تماسش رو رکورد کردم که گفت 207 که خریده بودم فروختم یکبار بابت این سوال کردم که پولشو همه رو بزار صندوق یا نه همین \r\nارجاع به اقای سهرابی و استاد \/ ","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 13:33:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:33:04] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 13:33:04] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 13:33:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:33:04] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"2846","note_was_empty":true}
[2026-05-02 13:33:04] [INFO] Didar write disabled; saving activity locally {"contact_id":"2846","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 13:33:04] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5cbd8a01e89.49634212","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 13:33:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:33:04] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5cbd8a01e89.49634212"}
[2026-05-02 13:33:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:33:04] [INFO] Updating virtual stage {"contact_id":"2846","stage_name":"deal_registered","force":false}
[2026-05-02 13:33:04] [INFO] Virtual stage successfully saved {"contact_id":"2846","stage_name":"deal_registered"}
[2026-05-02 13:33:04] [INFO] Virtual stage updated after activity save {"contact_id":"2846"}
[2026-05-02 13:33:04] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"2846","person_id":"11580"}
[2026-05-02 13:33:16] [INFO] Checking activity reminders 
[2026-05-02 13:33:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:33:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:33:46] [INFO] Checking activity reminders 
[2026-05-02 13:33:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:33:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:34:16] [INFO] Checking activity reminders 
[2026-05-02 13:34:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:34:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:34:46] [INFO] Checking activity reminders 
[2026-05-02 13:34:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:34:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:35:16] [INFO] Checking activity reminders 
[2026-05-02 13:35:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:35:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:35:46] [INFO] Checking activity reminders 
[2026-05-02 13:35:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:35:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:36:16] [INFO] Checking activity reminders 
[2026-05-02 13:36:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:36:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:36:47] [INFO] Checking activity reminders 
[2026-05-02 13:36:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:36:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:37:17] [INFO] Checking activity reminders 
[2026-05-02 13:37:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:37:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:37:47] [INFO] Checking activity reminders 
[2026-05-02 13:37:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:37:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:40:06] [INFO] Checking activity reminders 
[2026-05-02 13:40:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:40:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:40:36] [INFO] Checking activity reminders 
[2026-05-02 13:40:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:40:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:41:06] [INFO] Checking activity reminders 
[2026-05-02 13:41:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:41:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:41:12] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"21698","person_id":"16139"}
[2026-05-02 13:41:36] [INFO] Checking activity reminders 
[2026-05-02 13:41:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:41:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:41:56] [ERROR] Failed to get support logs {"contact_id":"21698","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-05-02 13:41:56] [ERROR] Error getting support logs {"contact_id":"21698","exception":{"message":"SQLSTATE[42S02]: Base table or view not found: 1146 Table 'hanafiv1_cr.crm_support_logs' doesn't exist","file":"\/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Repositories\/SupportRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Services\/SupportService.php(153): App\\Repositories\\SupportRepository->getByContactId()\n#2 \/home\/hanafiv1\/cr.hanafi.vip\/app\/Controllers\/SupportController.php(152): App\\Services\\SupportService->getByContactId()\n#3 \/home\/hanafiv1\/cr.hanafi.vip\/public\/index.php(1156): App\\Controllers\\SupportController->getByContactId()\n#4 {main}"}}
[2026-05-02 13:42:06] [INFO] Checking activity reminders 
[2026-05-02 13:42:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:42:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:42:36] [INFO] Checking activity reminders 
[2026-05-02 13:42:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:42:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:43:06] [INFO] Checking activity reminders 
[2026-05-02 13:43:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:43:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:43:36] [INFO] Checking activity reminders 
[2026-05-02 13:43:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:43:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:44:07] [INFO] Checking activity reminders 
[2026-05-02 13:44:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:44:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:44:37] [INFO] Checking activity reminders 
[2026-05-02 13:44:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:44:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:45:07] [INFO] Checking activity reminders 
[2026-05-02 13:45:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:45:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:45:13] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 13:45:13] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 13:45:13] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 13:45:13] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:13] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:16] [INFO] KPI calculation completed {"kpi_mode":"global","kpi_keys":["sales","settled","outstanding","lost_sales","won_sales","open_pipeline","deals_without_payments","product_sales","deal_conversion","lead_conversion","time_to_conversion","daily_sales","daily_operational","advanced_tables","target_achievement","kpi_mode"]}
[2026-05-02 13:45:17] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:17] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:17] [INFO] KPI calculation started {"filters":{"date_from":"2026-04-21","date_to":"2026-05-21","owner_didar_id":"","owner_didar_ids":[],"owner_didar_ids_csv":"","product_id":"","product_ids":[],"product_ids_csv":"","deal_statuses":[],"deal_statuses_csv":"","deal_lead_types":[],"deal_lead_types_csv":"","person_date_from":"2026-04-21","person_date_to":"2026-05-21","kpi_sales_date_basis":"ui_payment_date","kpi_sales_count_rule":"first_payment_only","kpi_payment_date_basis":"ui_payment_date","kpi_payment_count_rule":"all_payments","kpi_payment_status_scope":"confirmed_only","legacy_deal_scope":"exclude"},"user_role":"admin","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:17] [INFO] KPI Mode Determined {"is_global_kpi":true,"is_user_specific_kpi":false,"is_self_kpi":false,"has_user_id_filter":false,"has_owner_filter":false,"filter_user_id":null,"filter_owner_id":"","session_didar_id":"ef266a9a-ff55-4893-8be3-7848badfcdce"}
[2026-05-02 13:45:37] [INFO] Checking activity reminders 
[2026-05-02 13:45:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:45:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:46:07] [INFO] Checking activity reminders 
[2026-05-02 13:46:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:46:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:46:37] [INFO] Checking activity reminders 
[2026-05-02 13:46:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:46:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:47:08] [INFO] Checking activity reminders 
[2026-05-02 13:47:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:47:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:47:18] [WARNING] Auth check failed - not authenticated {"session_id":"u8fu2op5t2fso77q5s7tvvqc9q","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:47:18] [WARNING] Login attempt failed - wrong password {"user_id":"1717","identifier":"خانم بهمن دار"}
[2026-05-02 13:47:28] [WARNING] Auth check failed - not authenticated {"session_id":"u8fu2op5t2fso77q5s7tvvqc9q","session_keys":[],"action":"log_client_event"}
[2026-05-02 13:47:28] [INFO] User logged in {"user_id":"1717","email":"bamandar@hanafi.ir","role":"system","via_master":false}
[2026-05-02 13:47:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 13:47:28] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 13:47:28] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 13:47:28] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 13:47:35] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"995","person_id":"16071"}
[2026-05-02 13:47:38] [INFO] Checking activity reminders 
[2026-05-02 13:47:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:47:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:48:08] [INFO] Checking activity reminders 
[2026-05-02 13:48:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:48:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:48:30] [INFO] Checking activity reminders 
[2026-05-02 13:48:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:48:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:48:38] [INFO] Checking activity reminders 
[2026-05-02 13:48:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:48:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:48:46] [INFO] Checking activity reminders 
[2026-05-02 13:48:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:48:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:48:53] [INFO] Checking activity reminders 
[2026-05-02 13:48:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:48:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:49:08] [INFO] Checking activity reminders 
[2026-05-02 13:49:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:49:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:49:38] [INFO] Checking activity reminders 
[2026-05-02 13:49:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:49:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:49:50] [INFO] Checking activity reminders 
[2026-05-02 13:49:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:49:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:50:08] [INFO] Checking activity reminders 
[2026-05-02 13:50:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:50:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:50:38] [INFO] Checking activity reminders 
[2026-05-02 13:50:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:50:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:51:08] [INFO] Checking activity reminders 
[2026-05-02 13:51:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:51:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:51:38] [INFO] Checking activity reminders 
[2026-05-02 13:51:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:51:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:52:08] [INFO] Checking activity reminders 
[2026-05-02 13:52:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:52:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:52:39] [INFO] Checking activity reminders 
[2026-05-02 13:52:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:52:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:53:09] [INFO] Checking activity reminders 
[2026-05-02 13:53:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:53:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:53:39] [INFO] Checking activity reminders 
[2026-05-02 13:53:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:53:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:55:52] [INFO] Checking activity reminders 
[2026-05-02 13:55:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:55:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:55:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:56:22] [INFO] Checking activity reminders 
[2026-05-02 13:56:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:56:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:56:52] [INFO] Checking activity reminders 
[2026-05-02 13:56:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:56:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:57:22] [INFO] Checking activity reminders 
[2026-05-02 13:57:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:57:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:57:52] [INFO] Checking activity reminders 
[2026-05-02 13:57:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:57:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:58:22] [INFO] Checking activity reminders 
[2026-05-02 13:58:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:58:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:58:53] [INFO] Checking activity reminders 
[2026-05-02 13:58:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:58:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:59:23] [INFO] Checking activity reminders 
[2026-05-02 13:59:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:59:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:59:39] [INFO] Activity save request {"post_data":{"contact_id":"13077","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"تماس گرفت تشکر کرد بابت سود هاش از طلا و صندوق","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 13:59:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:59:39] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 13:59:39] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 13:59:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:59:39] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"13077","note_was_empty":true}
[2026-05-02 13:59:39] [INFO] Didar write disabled; saving activity locally {"contact_id":"13077","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 13:59:39] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5d213619669.07547635","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 13:59:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:59:39] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5d213619669.07547635"}
[2026-05-02 13:59:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:59:39] [INFO] Updating virtual stage {"contact_id":"13077","stage_name":"with_purchase","force":false}
[2026-05-02 13:59:39] [INFO] Virtual stage successfully saved {"contact_id":"13077","stage_name":"with_purchase"}
[2026-05-02 13:59:39] [INFO] Virtual stage updated after activity save {"contact_id":"13077"}
[2026-05-02 13:59:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"13077","person_id":"18134"}
[2026-05-02 13:59:53] [INFO] Checking activity reminders 
[2026-05-02 13:59:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 13:59:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 13:59:58] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:00:23] [INFO] Checking activity reminders 
[2026-05-02 14:00:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:00:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:00:54] [INFO] Checking activity reminders 
[2026-05-02 14:00:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:00:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:01:24] [INFO] Checking activity reminders 
[2026-05-02 14:01:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:01:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:01:54] [INFO] Checking activity reminders 
[2026-05-02 14:01:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:01:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:02:24] [INFO] Checking activity reminders 
[2026-05-02 14:02:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:02:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:02:54] [INFO] Checking activity reminders 
[2026-05-02 14:02:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:02:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:03:24] [INFO] Checking activity reminders 
[2026-05-02 14:03:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:03:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:03:54] [INFO] Checking activity reminders 
[2026-05-02 14:03:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:03:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:03:57] [INFO] Activity save request {"post_data":{"contact_id":"14195","deal_id":"","activity_type_id":"2a335dc1-4834-484b-b6dc-9ddd97eef67e","activity_type_title":"تماس ورودی","note":"","result_note":"سیو سود عیار میکنه 40ت سود \/ سینرژی 5درصد میخره \/ ","activity_duration":"15","direction":"incoming","current_stage":"keep_current","pipeline_stage":"","has_previous_purchase_other_number":"","previous_purchase_number":"","referral_note":"","failure_reason":"","failure_other_description":"","is_done":"0","is_scheduled":"0","due_date":"","reminder_enabled":"0","reminder_offset_minutes":"1440"}}
[2026-05-02 14:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:03:57] [INFO] Activity is_done determination {"is_scheduled":false,"is_done_from_data":0,"final_is_done":0}
[2026-05-02 14:03:57] [INFO] Using synced didar_user_id from database as OwnerId {"session_didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","database_didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_email":"hanaficars.academy4@gmail.com","user_name":"خانم توانا","ids_match":"yes","found_by":"didar_id"}
[2026-05-02 14:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:03:57] [INFO] Added lead owner name to activity note {"lead_owner_name":"خانم توانا","contact_id":"14195","note_was_empty":true}
[2026-05-02 14:03:57] [INFO] Didar write disabled; saving activity locally {"contact_id":"14195","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49"}
[2026-05-02 14:03:57] [WARNING] Reminder not scheduled {"activity_id":"local_activity_69f5d315a3dec3.67447158","is_scheduled":false,"reminder_enabled":false,"notification_service_available":true}
[2026-05-02 14:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:03:57] [INFO] Activity saved successfully {"activity_id":"local_activity_69f5d315a3dec3.67447158"}
[2026-05-02 14:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:03:57] [INFO] Updating virtual stage {"contact_id":"14195","stage_name":"with_purchase","force":false}
[2026-05-02 14:03:57] [INFO] Virtual stage successfully saved {"contact_id":"14195","stage_name":"with_purchase"}
[2026-05-02 14:03:57] [INFO] Virtual stage updated after activity save {"contact_id":"14195"}
[2026-05-02 14:03:57] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"14195","person_id":"4384"}
[2026-05-02 14:04:15] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:04:25] [INFO] Checking activity reminders 
[2026-05-02 14:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:04:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:04:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:04:49] [INFO] generateDealTitle result {"contact_id":"9084","person_name":"اقای مشفقی","mobile":"9121488170","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9121488170"}
[2026-05-02 14:04:55] [INFO] Checking activity reminders 
[2026-05-02 14:04:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:04:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:05:25] [INFO] Checking activity reminders 
[2026-05-02 14:05:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:05:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:05:55] [INFO] Checking activity reminders 
[2026-05-02 14:05:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:05:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:06:25] [INFO] Checking activity reminders 
[2026-05-02 14:06:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:06:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:06:55] [INFO] Checking activity reminders 
[2026-05-02 14:06:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:06:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:07:08] [INFO] DealController.save start {"is_new":true,"incoming_title":"کانال VIP با پشتیبانی","contact_id":"9084","deal_id":"","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 14:07:08","session_id":"7ru1ntot76p3qhndbi8diq2e5n"}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:08] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"کانال VIP با پشتیبانی","contact_id":"9084","is_new_deal":true}
[2026-05-02 14:07:08] [INFO] extractPhoneFromDealTitle called {"input_title":"کانال VIP با پشتیبانی"}
[2026-05-02 14:07:08] [INFO] extractPhoneFromDealTitle processing {"title_part":"کانال VIP با پشتیبانی"}
[2026-05-02 14:07:08] [INFO] extractPhoneFromDealTitle no match found {"title_part":"کانال VIP با پشتیبانی"}
[2026-05-02 14:07:08] [INFO] getContactPrimaryPhone called {"contact_id":"9084"}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:08] [INFO] getContactPrimaryPhone result {"contact_id":"9084","person_found":true,"primary_phone":"9121488170"}
[2026-05-02 14:07:08] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"9121488170"}
[2026-05-02 14:07:08] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"9121488170","contact_id":"9084","deal_id":"","is_new_deal":true,"incoming_title":"کانال VIP با پشتیبانی","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","server_time":"2026-05-02 14:07:08"}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:08] [INFO] generateDealTitle result {"contact_id":"9084","person_name":"اقای مشفقی","mobile":"9121488170","existing_deals":1,"ordinal":"دوم","title":"معامله دوم 9121488170"}
[2026-05-02 14:07:08] [INFO] DealController.save validated payments {"deal_id":"","contact_id":"9084","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-02 14:07:08] [INFO] DealController.save validating permissions {"current_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_id":"9084","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 14:07:08] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"","contact_didar_id":"9084","title":"معامله دوم 9121488170 | کانال VIP با پشتیبانی","base_title_used":"معامله دوم 9121488170","services_text":"کانال VIP با پشتیبانی","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":79000000,"payment_amount":79000000,"payments_present":true,"requested_services":["کانال VIP با پشتیبانی"],"user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","contact_name":"اقای مشفقی","existing_deal":"NO","existing_deal_id":null,"existing_deal_status":null,"server_time":"2026-05-02 14:07:08","session_data":{"didar_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","name":"خانم توانا","user_id":"1"}}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:08] [WARNING] ensureDealProductsFromText: deal not found {"deal_id":""}
[2026-05-02 14:07:08] [INFO] AUDIT: Deal saved successfully {"action":"CREATE_DEAL","deal_id":"","contact_id":"9084","contact_owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","user_name":"خانم توانا","deal_title":"معامله دوم 9121488170 | کانال VIP با پشتیبانی","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":79000000,"payment_amount":79000000,"server_time":"2026-05-02 14:07:08","ip_address":"94.182.31.126","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/145.0.0.0 Safari\/537.36"}
[2026-05-02 14:07:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"9084","person_id":"12485"}
[2026-05-02 14:07:32] [INFO] Checking activity reminders 
[2026-05-02 14:07:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:07:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:28:19] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 14:28:19] [INFO] Master password used for login {"user_id":"1718","identifier":"خانم مظاهری","role":"project"}
[2026-05-02 14:28:19] [INFO] User logged in {"user_id":"1718","email":"f.mazaheriii23@gmail.com","role":"project","via_master":true}
[2026-05-02 14:28:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:28:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:28:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:28:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:28:50] [INFO] Checking activity reminders 
[2026-05-02 14:28:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:28:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:29:12] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 14:29:12] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 14:29:12] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 14:29:12] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:29:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:29:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:29:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:29:16] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:29:16] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:29:16] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:29:42] [INFO] Checking activity reminders 
[2026-05-02 14:29:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:29:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:30:12] [INFO] Checking activity reminders 
[2026-05-02 14:30:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:30:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:30:20] [INFO] Checking activity reminders 
[2026-05-02 14:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:30:31] [INFO] Checking activity reminders 
[2026-05-02 14:30:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:30:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:30:48] [INFO] Checking activity reminders 
[2026-05-02 14:30:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:30:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:30:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:30:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:01] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:31:01] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:31:01] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:31:35] [INFO] Checking activity reminders 
[2026-05-02 14:31:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:31:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:32:05] [INFO] Checking activity reminders 
[2026-05-02 14:32:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:32:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:32:35] [INFO] Checking activity reminders 
[2026-05-02 14:32:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:32:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:33:05] [INFO] Checking activity reminders 
[2026-05-02 14:33:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:33:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:33:36] [INFO] Checking activity reminders 
[2026-05-02 14:33:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:33:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:34:06] [INFO] Checking activity reminders 
[2026-05-02 14:34:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:34:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:34:36] [INFO] Checking activity reminders 
[2026-05-02 14:34:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:34:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:35:06] [INFO] Checking activity reminders 
[2026-05-02 14:35:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:35:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:35:36] [INFO] Checking activity reminders 
[2026-05-02 14:35:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:35:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:36:06] [INFO] Checking activity reminders 
[2026-05-02 14:36:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:36:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:36:20] [INFO] Checking activity reminders 
[2026-05-02 14:36:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:36:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:39:34] [INFO] Checking activity reminders 
[2026-05-02 14:39:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:39:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:39:43] [INFO] Checking activity reminders 
[2026-05-02 14:39:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:39:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:39:50] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:39:50] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:39:50] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:39:50] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:41:17] [INFO] Checking activity reminders 
[2026-05-02 14:41:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:41:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:41:19] [INFO] Checking activity reminders 
[2026-05-02 14:41:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:41:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:41:33] [INFO] Checking activity reminders 
[2026-05-02 14:41:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:41:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:42:08] [INFO] Checking activity reminders 
[2026-05-02 14:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:42:32] [INFO] Checking activity reminders 
[2026-05-02 14:42:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:42:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:42:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:42:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:42:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:42:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:43:03] [INFO] Checking activity reminders 
[2026-05-02 14:43:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:43:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:43:33] [INFO] Checking activity reminders 
[2026-05-02 14:43:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:43:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:44:03] [INFO] Checking activity reminders 
[2026-05-02 14:44:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:44:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:49:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:49:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:49:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:49:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:49:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:49:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:49:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:49:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:50:17] [INFO] Checking activity reminders 
[2026-05-02 14:50:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:50:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:50:32] [INFO] Checking activity reminders 
[2026-05-02 14:50:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:50:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:51:02] [INFO] Checking activity reminders 
[2026-05-02 14:51:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:51:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:51:32] [INFO] Checking activity reminders 
[2026-05-02 14:51:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:51:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:51:50] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 14:51:50] [INFO] Master password used for login {"user_id":"20","identifier":"لید استخر","role":"agent"}
[2026-05-02 14:51:50] [INFO] User logged in {"user_id":"20","email":"hanaficarrs10@gmail.com","role":"agent","via_master":true}
[2026-05-02 14:51:51] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:52:21] [INFO] Checking activity reminders 
[2026-05-02 14:52:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:52:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:52:32] [INFO] Checking activity reminders 
[2026-05-02 14:52:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:52:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:52:53] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["4674652424"]}
[2026-05-02 14:52:53] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["4674652424"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-05-02 14:52:53] [INFO] Didar write disabled; creating local lead only {"owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","mobile":"4674652424","full_name":"لید جدید"}
[2026-05-02 14:52:53] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:52:53] [INFO] Notification created {"notification_id":"688","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","type":"lead_assigned","show_popup":true}
[2026-05-02 14:52:57] [INFO] Checking activity reminders 
[2026-05-02 14:52:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:52:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:53:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:53:02] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:53:27] [INFO] Checking activity reminders 
[2026-05-02 14:53:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:53:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:53:57] [INFO] Checking activity reminders 
[2026-05-02 14:53:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:53:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:54:17] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP 300","contact_id":"local_69f5de8d581227.81289678","deal_id":"local_69f5de8d5ee96","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 14:54:17","session_id":"r7cv0a3a9ui2s7mf90041imnff"}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:17] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"local_69f5de8d581227.81289678","is_new_deal":false}
[2026-05-02 14:54:17] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-05-02 14:54:17] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-05-02 14:54:17] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-05-02 14:54:17] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f5de8d581227.81289678"}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:17] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f5de8d581227.81289678","person_found":true,"primary_phone":"4674652424"}
[2026-05-02 14:54:17] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"4674652424"}
[2026-05-02 14:54:17] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"4674652424","contact_id":"local_69f5de8d581227.81289678","deal_id":"local_69f5de8d5ee96","is_new_deal":false,"incoming_title":"CIP 300","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","server_time":"2026-05-02 14:54:17"}
[2026-05-02 14:54:17] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f5de8d5ee96","contact_id":"local_69f5de8d581227.81289678","existing_deal_found":true,"existing_contact_id":"local_69f5de8d581227.81289678","existing_title":"معامله اول 4674652424","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","server_time":"2026-05-02 14:54:17"}
[2026-05-02 14:54:17] [INFO] DealController.save validated payments {"deal_id":"local_69f5de8d5ee96","contact_id":"local_69f5de8d581227.81289678","payments_count":1,"status":"won","pipeline_stage":"پرداخت"}
[2026-05-02 14:54:17] [INFO] DealController.save validating permissions {"current_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_id":"local_69f5de8d581227.81289678","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 14:54:17] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f5de8d5ee96","contact_didar_id":"local_69f5de8d581227.81289678","title":"معامله اول 4674652424 | CIP 300","base_title_used":"معامله اول 4674652424","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پرداخت","status":"won","payable_amount":300000000,"payment_amount":300000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_name":"لید جدید","existing_deal":"YES","existing_deal_id":"local_69f5de8d5ee96","existing_deal_status":"Pending","server_time":"2026-05-02 14:54:17","session_data":{"didar_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","name":"لید استخر","user_id":"20"}}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:17] [INFO] Deal success processed {"contact_id":"local_69f5de8d581227.81289678","person_name":"لید جدید","products_count":1}
[2026-05-02 14:54:17] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f5de8d5ee96","contact_id":"local_69f5de8d581227.81289678","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","deal_title":"معامله اول 4674652424 | CIP 300","deal_status":"won","pipeline_stage":"پرداخت","payable_amount":300000000,"payment_amount":300000000,"server_time":"2026-05-02 14:54:17","ip_address":"93.118.169.15","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/143.0.0.0 Safari\/537.36"}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:17] [INFO] Updating virtual stage {"contact_id":"local_69f5de8d581227.81289678","stage_name":"with_purchase","force":true}
[2026-05-02 14:54:17] [INFO] Virtual stage successfully saved {"contact_id":"local_69f5de8d581227.81289678","stage_name":"with_purchase"}
[2026-05-02 14:54:17] [INFO] Moved contact out of kariz after successful deal {"contact_id":"local_69f5de8d581227.81289678","deal_id":"local_69f5de8d5ee96","target_stage":"with_purchase"}
[2026-05-02 14:54:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 14:54:27] [INFO] Checking activity reminders 
[2026-05-02 14:54:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:54:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:57:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:36] [INFO] Checking activity reminders 
[2026-05-02 14:57:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:57:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:57:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:39] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:57:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:39] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:57:39] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:57:39] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:57:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 14:57:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 14:57:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:17] [INFO] Checking activity reminders 
[2026-05-02 14:58:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:58:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:42] [INFO] Checking activity reminders 
[2026-05-02 14:58:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 14:58:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 14:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 14:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:51] [WARNING] Auth check failed - not authenticated {"session_id":"anp32riifsf10lalpqpdb51o1l","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:05:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:52] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 15:05:52] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 15:05:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:55] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:05:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:05:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:05:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:05:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:05:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:26] [INFO] Checking activity reminders 
[2026-05-02 15:06:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:06:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:06:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:58] [INFO] Checking activity reminders 
[2026-05-02 15:06:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:06:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:06:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:06:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:07:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:07:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:03] [INFO] Checking activity reminders 
[2026-05-02 15:09:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:09:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:09:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:09:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:16] [INFO] Checking activity reminders 
[2026-05-02 15:10:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:10:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:10:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:34] [INFO] Checking activity reminders 
[2026-05-02 15:10:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:10:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:10:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:10:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:05] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:15:05] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:15:05] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:15:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:30] [INFO] Checking activity reminders 
[2026-05-02 15:15:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:15:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:15:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:15:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:37] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:15:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:15:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:04] [INFO] Checking activity reminders 
[2026-05-02 15:16:04] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:16:04] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:16:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:08] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:16:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:37] [INFO] Checking activity reminders 
[2026-05-02 15:16:37] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:16:37] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:16:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:16:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:17:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:17:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:17:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:17:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:17:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:09] [INFO] Checking activity reminders 
[2026-05-02 15:18:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:18:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:18:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:18:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:28:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:28:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:28:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:28:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:00] [INFO] Checking activity reminders 
[2026-05-02 15:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:00] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:21] [INFO] Checking activity reminders 
[2026-05-02 15:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:23] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:23] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:23] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_lookups"}
[2026-05-02 15:47:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:23] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"rbac_current_permissions"}
[2026-05-02 15:47:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_activity_types"}
[2026-05-02 15:47:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_didar_users"}
[2026-05-02 15:47:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:26] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_commission_payout_queue"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:26] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:26] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:26] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_referrals"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:26] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"get_notifications"}
[2026-05-02 15:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:27] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:28] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:28] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:30] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:40] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:47:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:40] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 15:47:40] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 15:47:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:47:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:47:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:47:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:47:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:48:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:12] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 15:48:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:13] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:48:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:21] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:21] [INFO] Master password used for login {"user_id":"20","identifier":"لید استخر","role":"agent"}
[2026-05-02 15:48:21] [INFO] User logged in {"user_id":"20","email":"hanaficarrs10@gmail.com","role":"agent","via_master":true}
[2026-05-02 15:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:48:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:50] [INFO] Checking activity reminders 
[2026-05-02 15:48:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:48:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:48:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:48:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:21] [INFO] Checking activity reminders 
[2026-05-02 15:49:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:49:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:49:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:51] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:49:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:51] [INFO] Master password used for login {"user_id":"1","identifier":"خانم توانا","role":"agent"}
[2026-05-02 15:49:51] [INFO] User logged in {"user_id":"1","email":"hanaficars.academy4@gmail.com","role":"agent","via_master":true}
[2026-05-02 15:49:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:49:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:49:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:26] [INFO] Checking activity reminders 
[2026-05-02 15:50:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:50:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:50:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:47] [INFO] Checking activity reminders 
[2026-05-02 15:50:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:50:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:50:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:50] [INFO] Checking activity reminders 
[2026-05-02 15:50:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:50:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:50:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:50:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:21] [INFO] Checking activity reminders 
[2026-05-02 15:51:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:51:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:51:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:56] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:51:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:56] [INFO] Master password used for login {"user_id":"20","identifier":"لید استخر","role":"agent"}
[2026-05-02 15:51:56] [INFO] User logged in {"user_id":"20","email":"hanaficarrs10@gmail.com","role":"agent","via_master":true}
[2026-05-02 15:51:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:51:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:51:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:17] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:18] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:52:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:24] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:52:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:42] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5de8d581227.81289678","person_id":"22469"}
[2026-05-02 15:52:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:52:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:56:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:56:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:50] [WARNING] Auth check failed - not authenticated {"session_id":"anp32riifsf10lalpqpdb51o1l","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:50] [INFO] Master password used for login {"user_id":"20","identifier":"لید استخر","role":"agent"}
[2026-05-02 15:57:50] [INFO] User logged in {"user_id":"20","email":"hanaficarrs10@gmail.com","role":"agent","via_master":true}
[2026-05-02 15:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:53] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:57:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:57:58] [WARNING] Auth check failed - not authenticated {"session_id":"anp32riifsf10lalpqpdb51o1l","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:57:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:11] [WARNING] Auth check failed - not authenticated {"session_id":"anp32riifsf10lalpqpdb51o1l","session_keys":[],"action":"log_client_event"}
[2026-05-02 15:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:12] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 15:58:12] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 15:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:14] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:15] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:58:15] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:58:15] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:58:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:58:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:58:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 15:58:54] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:58:54] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:58:54] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 15:59:03] [INFO] Checking activity reminders 
[2026-05-02 15:59:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 15:59:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 15:59:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 15:59:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 15:59:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:00:22] [INFO] Checking activity reminders 
[2026-05-02 16:00:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:00:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:00:52] [INFO] Checking activity reminders 
[2026-05-02 16:00:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:00:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:01:25] [INFO] Checking activity reminders 
[2026-05-02 16:01:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:01:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:01:55] [INFO] Checking activity reminders 
[2026-05-02 16:01:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:01:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:02:07] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:02:25] [INFO] Checking activity reminders 
[2026-05-02 16:02:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:02:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:02:38] [INFO] Checking activity reminders 
[2026-05-02 16:02:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:02:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:02:44] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:02:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:02:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:02:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:07:40] [INFO] Checking activity reminders 
[2026-05-02 16:07:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:07:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:07:54] [INFO] Checking activity reminders 
[2026-05-02 16:07:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:07:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:07:56] [INFO] Checking activity reminders 
[2026-05-02 16:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:07:56] [INFO] Checking activity reminders 
[2026-05-02 16:07:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:07:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:20] [INFO] Checking activity reminders 
[2026-05-02 16:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:20] [INFO] Checking activity reminders 
[2026-05-02 16:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:20] [INFO] Checking activity reminders 
[2026-05-02 16:08:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:32] [INFO] Checking activity reminders 
[2026-05-02 16:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:32] [INFO] Checking activity reminders 
[2026-05-02 16:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:08:32] [INFO] Checking activity reminders 
[2026-05-02 16:08:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:08:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:22:23] [INFO] Checking activity reminders 
[2026-05-02 16:22:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:22:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:22:25] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:22:25] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:22:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:56] [INFO] Checking activity reminders 
[2026-05-02 16:22:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:22:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:22:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:22:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:22:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:22:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:22:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:05] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:23:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:06] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:23:06] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:23:06] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:23:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:23:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:23:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:23:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:18] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:23:18] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:23:18] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:23:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:23:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:23:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:23:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:23:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:23:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:23:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:49] [INFO] Checking activity reminders 
[2026-05-02 16:23:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:23:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:23:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:23:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:16] [INFO] Checking activity reminders 
[2026-05-02 16:24:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:24:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:24:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:20] [INFO] Checking activity reminders 
[2026-05-02 16:24:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:24:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:24:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 16:24:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:24:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:24:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:24:49] [INFO] Checking activity reminders 
[2026-05-02 16:24:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:24:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:24:56] [INFO] Checking activity reminders 
[2026-05-02 16:24:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:24:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:24:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:24:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:24:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:25:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:25:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:25:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:26:23] [INFO] Checking activity reminders 
[2026-05-02 16:26:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:26:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:26:25] [INFO] Checking activity reminders 
[2026-05-02 16:26:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:26:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:26:30] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:26:30] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:26:49] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:26:49] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:26:49] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:26:55] [INFO] Checking activity reminders 
[2026-05-02 16:26:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:26:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:27:00] [INFO] Checking activity reminders 
[2026-05-02 16:27:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:27:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:27:26] [INFO] Checking activity reminders 
[2026-05-02 16:27:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:27:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:32:22] [INFO] Checking activity reminders 
[2026-05-02 16:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:32:22] [INFO] Checking activity reminders 
[2026-05-02 16:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:32:22] [INFO] Checking activity reminders 
[2026-05-02 16:32:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:32:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:33:48] [INFO] Checking activity reminders 
[2026-05-02 16:33:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:33:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:34:40] [INFO] Checking activity reminders 
[2026-05-02 16:34:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:34:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:34:42] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:34:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:34:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:34:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:34:43] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:34:43] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:34:43] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:35:08] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:35:08] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:35:08] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:35:13] [INFO] Checking activity reminders 
[2026-05-02 16:35:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:35:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:38:11] [INFO] Checking activity reminders 
[2026-05-02 16:38:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:38:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:39:47] [INFO] Checking activity reminders 
[2026-05-02 16:39:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:39:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:20] [INFO] Checking activity reminders 
[2026-05-02 16:40:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:30] [INFO] Checking activity reminders 
[2026-05-02 16:40:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:34] [INFO] Checking activity reminders 
[2026-05-02 16:40:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:39] [INFO] Checking activity reminders 
[2026-05-02 16:40:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:40] [INFO] Checking activity reminders 
[2026-05-02 16:40:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:40:44] [INFO] Checking activity reminders 
[2026-05-02 16:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:41:18] [INFO] Checking activity reminders 
[2026-05-02 16:41:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:41:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:41:25] [INFO] Pre-flight duplicate check {"has_person":false,"matches_count":0,"phones_checked":["4534543254"]}
[2026-05-02 16:41:25] [INFO] Phone number not found in system - allowing new contact creation {"phones_checked":["4534543254"],"action":"ALLOWING_NEW_CONTACT_CREATION"}
[2026-05-02 16:41:25] [INFO] Didar write disabled; creating local lead only {"owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","mobile":"4534543254","full_name":"لید جدید"}
[2026-05-02 16:41:25] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:41:25] [INFO] Notification created {"notification_id":"712","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","type":"lead_assigned","show_popup":true}
[2026-05-02 16:41:31] [INFO] Checking activity reminders 
[2026-05-02 16:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:41:34] [INFO] Checking activity reminders 
[2026-05-02 16:41:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:41:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:41:38] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:41:39] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:41:58] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 16:41:58] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 16:41:58] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 16:41:58] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 16:42:08] [INFO] Checking activity reminders 
[2026-05-02 16:42:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:42:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:42:38] [INFO] Checking activity reminders 
[2026-05-02 16:42:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:42:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:42:49] [INFO] DealController.save start {"is_new":false,"incoming_title":"CIP 300","contact_id":"local_69f5f7fd0d6a32.15175628","deal_id":"local_69f5f7fd0e8ff","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","form_data_keys":["deal_id","contact_id","deal_status","pipeline_stage","product_ids","title","service_cost","price_list_code","has_discount","discount_type","discount_occasion","discount_amount","refund_amount","refund_description","payable_amount","payment_conditions","payments","payment_amount","admin_unlock_paid_deal_fields","failure_reason","failure_reason_text","failure_other_description","requested_services"],"server_time":"2026-05-02 16:42:49","session_id":"r7cv0a3a9ui2s7mf90041imnff"}
[2026-05-02 16:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:42:49] [INFO] DEAL_PHONE_VALIDATION_START {"deal_title":"CIP 300","contact_id":"local_69f5f7fd0d6a32.15175628","is_new_deal":false}
[2026-05-02 16:42:49] [INFO] extractPhoneFromDealTitle called {"input_title":"CIP 300"}
[2026-05-02 16:42:49] [INFO] extractPhoneFromDealTitle processing {"title_part":"CIP 300"}
[2026-05-02 16:42:49] [INFO] extractPhoneFromDealTitle no match found {"title_part":"CIP 300"}
[2026-05-02 16:42:49] [INFO] getContactPrimaryPhone called {"contact_id":"local_69f5f7fd0d6a32.15175628"}
[2026-05-02 16:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:42:49] [INFO] getContactPrimaryPhone result {"contact_id":"local_69f5f7fd0d6a32.15175628","person_found":true,"primary_phone":"4534543254"}
[2026-05-02 16:42:49] [INFO] DEAL_PHONE_VALIDATION_EXTRACTED {"deal_phone":"","contact_primary_phone":"4534543254"}
[2026-05-02 16:42:49] [INFO] DEAL_PHONE_VALIDATION_SKIPPED {"reason":"missing_deal_phone_or_contact_phone","deal_phone":"","contact_primary_phone":"4534543254","contact_id":"local_69f5f7fd0d6a32.15175628","deal_id":"local_69f5f7fd0e8ff","is_new_deal":false,"incoming_title":"CIP 300","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","server_time":"2026-05-02 16:42:49"}
[2026-05-02 16:42:49] [INFO] DealController.save existing deal lookup {"deal_id":"local_69f5f7fd0e8ff","contact_id":"local_69f5f7fd0d6a32.15175628","existing_deal_found":true,"existing_contact_id":"local_69f5f7fd0d6a32.15175628","existing_title":"معامله اول 4534543254","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","server_time":"2026-05-02 16:42:49"}
[2026-05-02 16:42:49] [INFO] DealController.save validated payments {"deal_id":"local_69f5f7fd0e8ff","contact_id":"local_69f5f7fd0d6a32.15175628","payments_count":1,"status":"pending","pipeline_stage":"پرداخت"}
[2026-05-02 16:42:49] [INFO] DealController.save validating permissions {"current_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_id":"local_69f5f7fd0d6a32.15175628","is_admin_or_crm":false,"permission_check_passed":true}
[2026-05-02 16:42:49] [INFO] DealController.save payload - DETAILED {"didar_deal_id":"local_69f5f7fd0e8ff","contact_didar_id":"local_69f5f7fd0d6a32.15175628","title":"معامله اول 4534543254 | CIP 300","base_title_used":"معامله اول 4534543254","services_text":"CIP 300","requested_services_count":1,"pipeline_stage":"پرداخت","status":"pending","payable_amount":300000000,"payment_amount":300000000,"payments_present":true,"requested_services":["CIP 300"],"user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","contact_name":"لید جدید","existing_deal":"YES","existing_deal_id":"local_69f5f7fd0e8ff","existing_deal_status":"Pending","server_time":"2026-05-02 16:42:49","session_data":{"didar_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","name":"لید استخر","user_id":"20"}}
[2026-05-02 16:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:42:49] [INFO] AUDIT: Deal saved successfully {"action":"UPDATE_DEAL","deal_id":"local_69f5f7fd0e8ff","contact_id":"local_69f5f7fd0d6a32.15175628","contact_owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","user_name":"لید استخر","deal_title":"معامله اول 4534543254 | CIP 300","deal_status":"pending","pipeline_stage":"پرداخت","payable_amount":300000000,"payment_amount":300000000,"server_time":"2026-05-02 16:42:49","ip_address":"5.113.49.38","user_agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/143.0.0.0 Safari\/537.36"}
[2026-05-02 16:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:42:49] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"local_69f5f7fd0d6a32.15175628","person_id":"22498"}
[2026-05-02 16:42:54] [INFO] Checking activity reminders 
[2026-05-02 16:42:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:42:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:43:26] [INFO] Checking activity reminders 
[2026-05-02 16:43:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:43:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:43:56] [INFO] Checking activity reminders 
[2026-05-02 16:43:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:43:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:44:27] [INFO] Checking activity reminders 
[2026-05-02 16:44:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:44:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:44:57] [INFO] Checking activity reminders 
[2026-05-02 16:44:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:44:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:45:11] [INFO] Checking activity reminders 
[2026-05-02 16:45:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:45:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:45:27] [INFO] Checking activity reminders 
[2026-05-02 16:45:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:45:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:45:59] [INFO] Checking activity reminders 
[2026-05-02 16:45:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:45:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:46:30] [INFO] Checking activity reminders 
[2026-05-02 16:46:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:46:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:47:00] [INFO] Checking activity reminders 
[2026-05-02 16:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:47:30] [INFO] Checking activity reminders 
[2026-05-02 16:47:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:47:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:48:01] [INFO] Checking activity reminders 
[2026-05-02 16:48:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:48:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:48:31] [INFO] Checking activity reminders 
[2026-05-02 16:48:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:48:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:49:01] [INFO] Checking activity reminders 
[2026-05-02 16:49:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:49:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:49:31] [INFO] Checking activity reminders 
[2026-05-02 16:49:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:49:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:50:01] [INFO] Checking activity reminders 
[2026-05-02 16:50:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:50:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 16:50:31] [INFO] Checking activity reminders 
[2026-05-02 16:50:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 16:50:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:01:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:01:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:01:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:02:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:02:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:02:14] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:04:15] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:04:15] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:04:15] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:07:33] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:07:33] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:07:34] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:41] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:47] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:09:56] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:19:45] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:21:12] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:51] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:31:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:06] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:10] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:32:16] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:38:34] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:39:36] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:39:36] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:39:36] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:41:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:41:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:41:53] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:42:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:42:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:42:25] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:42:33] [WARNING] Auth check failed - not authenticated {"session_id":"4hr31vg4crst8dnu1p5brhmnjd","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:42:33] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-02 18:42:33] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-02 18:42:33] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 18:42:33] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 18:42:33] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 18:42:33] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 18:42:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-02 18:42:56] [INFO] [DEBUG] getDidarUsers - Found users {"count":11,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-02 18:42:56] [INFO] [DEBUG] getDidarUsers - Returning users {"count":11,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:42:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:27] [INFO] Checking activity reminders 
[2026-05-02 18:43:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:43:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:43:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:58] [INFO] Checking activity reminders 
[2026-05-02 18:43:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:43:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:43:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:43:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:29] [INFO] Checking activity reminders 
[2026-05-02 18:44:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:44:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:44:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:44:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:00] [INFO] Checking activity reminders 
[2026-05-02 18:45:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:45:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:45:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:04] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:45:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:04] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:45:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:04] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:47] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:47] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:45:47] [INFO] Checking activity reminders 
[2026-05-02 18:45:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:45:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:48] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:45:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:45:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:19] [INFO] Checking activity reminders 
[2026-05-02 18:46:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:46:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:46:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:50] [INFO] Checking activity reminders 
[2026-05-02 18:46:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:46:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:46:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:46:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:21] [INFO] Checking activity reminders 
[2026-05-02 18:47:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:47:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:50] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:47:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:50] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 18:47:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:47:50] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 18:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:51:18] [INFO] Checking activity reminders 
[2026-05-02 18:51:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-02 18:51:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-02 18:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 18:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:10:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:10:23] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 19:10:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 19:10:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:10:24] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 19:40:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:40:57] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 19:40:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:40:57] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"check_reminders"}
[2026-05-02 19:40:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 19:40:57] [WARNING] Auth check failed - not authenticated {"session_id":"r7cv0a3a9ui2s7mf90041imnff","session_keys":[],"action":"log_client_event"}
[2026-05-02 20:19:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 20:19:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 20:19:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 20:19:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 20:19:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-02 20:19:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:20] [WARNING] Auth check failed - not authenticated {"session_id":"cajd6fqnua4d5n0b85nhvef31q","session_keys":[],"action":"log_client_event"}
[2026-05-03 10:17:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:21] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-03 10:17:21] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-03 10:17:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 10:17:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:17:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:17:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:17:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:54] [INFO] Checking activity reminders 
[2026-05-03 10:17:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:17:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:17:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:17:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:24] [INFO] Checking activity reminders 
[2026-05-03 10:18:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:18:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:18:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:49] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":98,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(98): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(71): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(58): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 10:18:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:55] [INFO] Checking activity reminders 
[2026-05-03 10:18:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:18:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:18:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:18:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:16] [INFO] Checking activity reminders 
[2026-05-03 10:19:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:19:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:19:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:32] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:19:32] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:19:32] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:19:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:47] [INFO] Checking activity reminders 
[2026-05-03 10:19:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:19:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:19:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:19:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:18] [INFO] Checking activity reminders 
[2026-05-03 10:20:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:20:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:20:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:53] [INFO] Checking activity reminders 
[2026-05-03 10:20:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:20:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:20:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:20:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:01] [INFO] Checking activity reminders 
[2026-05-03 10:37:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:37:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:37:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:36] [INFO] Checking activity reminders 
[2026-05-03 10:37:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:37:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:37:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 10:37:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:41] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:37:41] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:37:41] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:37:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:42] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:37:42] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:37:42] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:37:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:38:00] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:38:00] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:31] [INFO] Checking activity reminders 
[2026-05-03 10:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:38:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:01] [INFO] Checking activity reminders 
[2026-05-03 10:39:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:39:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:32] [INFO] Checking activity reminders 
[2026-05-03 10:39:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:39:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:39:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:41] [INFO] Checking activity reminders 
[2026-05-03 10:40:41] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:40:41] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:40:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:44] [INFO] Checking activity reminders 
[2026-05-03 10:40:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:40:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:40:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:40:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:13] [INFO] Checking activity reminders 
[2026-05-03 10:41:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:41:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:41:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:41:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:19] [INFO] Checking activity reminders 
[2026-05-03 10:49:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:49:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:49:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:45] [INFO] Checking activity reminders 
[2026-05-03 10:49:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:49:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:49:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:49:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:06] [INFO] Checking activity reminders 
[2026-05-03 10:50:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:50:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:50:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:11] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 10:50:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:12] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:50:12] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:50:12] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:50:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:42] [INFO] Checking activity reminders 
[2026-05-03 10:50:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:50:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:50:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:50:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:13] [INFO] Checking activity reminders 
[2026-05-03 10:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:47] [INFO] Checking activity reminders 
[2026-05-03 10:51:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:51:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:51:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:51:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:13] [INFO] Checking activity reminders 
[2026-05-03 10:52:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:52:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:17] [INFO] Checking activity reminders 
[2026-05-03 10:52:17] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:52:17] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:47] [INFO] Checking activity reminders 
[2026-05-03 10:52:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:52:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:52:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:52:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:19] [INFO] Checking activity reminders 
[2026-05-03 10:53:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:53:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:50] [INFO] Checking activity reminders 
[2026-05-03 10:53:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:53:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:21] [INFO] Checking activity reminders 
[2026-05-03 10:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:52] [INFO] Checking activity reminders 
[2026-05-03 10:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:23] [INFO] Checking activity reminders 
[2026-05-03 10:55:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:55:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:55:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:53] [INFO] Checking activity reminders 
[2026-05-03 10:55:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:55:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:55:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:55:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:24] [INFO] Checking activity reminders 
[2026-05-03 10:56:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:56:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:56:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:55] [INFO] Checking activity reminders 
[2026-05-03 10:56:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:56:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:56:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:56:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:26] [INFO] Checking activity reminders 
[2026-05-03 10:57:26] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:57:26] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:57:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:57] [INFO] Checking activity reminders 
[2026-05-03 10:57:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:57:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:57:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:57:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:17] [WARNING] Auth check failed - not authenticated {"session_id":"fmej0d3a9vr82usdutlghcdq1s","session_keys":[],"action":"log_client_event"}
[2026-05-03 10:58:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:17] [INFO] Master password used for login {"user_id":"11","identifier":"حمیدرضا مکرمی","role":"admin"}
[2026-05-03 10:58:17] [INFO] User logged in {"user_id":"11","email":"hanaficar.Marketing@gmail.com","role":"admin","via_master":true}
[2026-05-03 10:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:20] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 10:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 10:58:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 10:58:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 10:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:28] [INFO] Checking activity reminders 
[2026-05-03 10:58:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:58:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:58:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:51] [INFO] Checking activity reminders 
[2026-05-03 10:58:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:58:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:58:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:59] [INFO] Checking activity reminders 
[2026-05-03 10:58:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:58:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:22] [INFO] Checking activity reminders 
[2026-05-03 10:59:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:59:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:59:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:53] [INFO] Checking activity reminders 
[2026-05-03 10:59:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 10:59:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 10:59:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 10:59:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:24] [INFO] Checking activity reminders 
[2026-05-03 11:00:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:00:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:00:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:00:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:03:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:03:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:02] [INFO] Checking activity reminders 
[2026-05-03 11:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:06:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:24] [INFO] Checking activity reminders 
[2026-05-03 11:06:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:06:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:06:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:34] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:06:34] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:06:34] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:08] [INFO] Checking activity reminders 
[2026-05-03 11:07:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:07:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:07:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:19] [DEBUG] findByDidarId: Found strictly by Didar ID {"didar_id":"10584","person_id":"14175"}
[2026-05-03 11:07:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:38] [INFO] Checking activity reminders 
[2026-05-03 11:07:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:07:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:32] [INFO] Checking activity reminders 
[2026-05-03 11:09:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:09:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:09:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:09:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:33] [INFO] Checking activity reminders 
[2026-05-03 11:19:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:19:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:36] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:19:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:37] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:19:37] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:19:37] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:19:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:19:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:07] [INFO] Checking activity reminders 
[2026-05-03 11:20:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:20:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:20:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:38] [INFO] Checking activity reminders 
[2026-05-03 11:20:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:20:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:20:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:20:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:09] [INFO] Checking activity reminders 
[2026-05-03 11:21:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:21:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:21:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:40] [INFO] Checking activity reminders 
[2026-05-03 11:21:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:21:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:21:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:21:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:11] [INFO] Checking activity reminders 
[2026-05-03 11:22:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:22:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:22:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:42] [INFO] Checking activity reminders 
[2026-05-03 11:22:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:22:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:22:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:22:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:13] [INFO] Checking activity reminders 
[2026-05-03 11:23:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:23:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:44] [INFO] Checking activity reminders 
[2026-05-03 11:23:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:23:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:23:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:15] [INFO] Checking activity reminders 
[2026-05-03 11:24:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:24:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:47] [INFO] Checking activity reminders 
[2026-05-03 11:24:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:24:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:24:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:24:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:18] [INFO] Checking activity reminders 
[2026-05-03 11:25:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:25:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:25:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:49] [INFO] Checking activity reminders 
[2026-05-03 11:25:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:25:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:25:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:25:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:20] [INFO] Checking activity reminders 
[2026-05-03 11:26:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:26:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:26:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:51] [INFO] Checking activity reminders 
[2026-05-03 11:26:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:26:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:26:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:26:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:22] [INFO] Checking activity reminders 
[2026-05-03 11:27:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:27:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:27:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:53] [INFO] Checking activity reminders 
[2026-05-03 11:27:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:27:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:27:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:27:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:21] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":105,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(105): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(93): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:28:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:24] [INFO] Checking activity reminders 
[2026-05-03 11:28:24] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:28:24] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:28:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:25] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":105,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(105): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(93): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:28:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:48] [INFO] Checking activity reminders 
[2026-05-03 11:28:48] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:28:48] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:28:59] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":105,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(105): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(93): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:28:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:19] [INFO] Checking activity reminders 
[2026-05-03 11:29:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:29:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:29:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:29:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:29:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:29:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:59] [INFO] Checking activity reminders 
[2026-05-03 11:29:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:29:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:30] [INFO] Checking activity reminders 
[2026-05-03 11:30:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:30:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:30:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:56] [INFO] Checking activity reminders 
[2026-05-03 11:30:56] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:30:56] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:30:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:30:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:20] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":105,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(105): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(93): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:31:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:27] [INFO] Checking activity reminders 
[2026-05-03 11:31:27] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:31:27] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:40] [INFO] Checking activity reminders 
[2026-05-03 11:31:40] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:31:40] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:31:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:31:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:11] [INFO] Checking activity reminders 
[2026-05-03 11:32:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:32:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:32:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:42] [INFO] Checking activity reminders 
[2026-05-03 11:32:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:32:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:32:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:32:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:13] [INFO] Checking activity reminders 
[2026-05-03 11:33:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:33:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:33:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:44] [INFO] Checking activity reminders 
[2026-05-03 11:33:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:33:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:33:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:33:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:15] [INFO] Checking activity reminders 
[2026-05-03 11:34:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:34:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:34:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:46] [INFO] Checking activity reminders 
[2026-05-03 11:34:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:34:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:34:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:34:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:25] [INFO] Checking activity reminders 
[2026-05-03 11:35:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:35:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:35:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [INFO] Checking activity reminders 
[2026-05-03 11:35:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:35:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:35:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:31] [INFO] Checking activity reminders 
[2026-05-03 11:38:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:38:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:38:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:02] [INFO] Checking activity reminders 
[2026-05-03 11:39:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:39:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:39:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:33] [INFO] Checking activity reminders 
[2026-05-03 11:39:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:39:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:39:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:39:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:10] [INFO] Checking activity reminders 
[2026-05-03 11:40:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:40:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:40:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:23] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:40:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:23] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:40:23] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:40:23] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:40:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:29] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:40:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:29] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:40:29] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:40:29] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:40:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:40:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:00] [INFO] Checking activity reminders 
[2026-05-03 11:41:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:41:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:41:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:31] [INFO] Checking activity reminders 
[2026-05-03 11:41:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:41:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:41:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:55] [INFO] Checking activity reminders 
[2026-05-03 11:41:55] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:41:55] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:41:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:59] [INFO] Checking activity reminders 
[2026-05-03 11:41:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:41:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:41:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:41:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:03] [INFO] Checking activity reminders 
[2026-05-03 11:42:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:42:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:42:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:30] [INFO] Checking activity reminders 
[2026-05-03 11:42:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:42:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:42:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:42:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:01] [INFO] Checking activity reminders 
[2026-05-03 11:43:01] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:43:01] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:25] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'kpi_source' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(88): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(81): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:43:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:32] [INFO] Checking activity reminders 
[2026-05-03 11:43:32] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:43:32] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:43:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:50] [INFO] Checking activity reminders 
[2026-05-03 11:43:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:43:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:43:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:43:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:01] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'kpi_source' in 'field list'","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":103,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(103): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(88): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(81): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 11:44:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:21] [INFO] Checking activity reminders 
[2026-05-03 11:44:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:44:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:44:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:59] [INFO] Checking activity reminders 
[2026-05-03 11:44:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:44:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:44:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:44:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:29] [INFO] Checking activity reminders 
[2026-05-03 11:45:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:45:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:00] [INFO] Checking activity reminders 
[2026-05-03 11:46:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:46:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:46:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:31] [INFO] Checking activity reminders 
[2026-05-03 11:46:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:46:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:46:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:46:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:02] [INFO] Checking activity reminders 
[2026-05-03 11:47:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:47:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:47:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:33] [INFO] Checking activity reminders 
[2026-05-03 11:47:33] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:47:33] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:47:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:43] [INFO] Checking activity reminders 
[2026-05-03 11:47:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:47:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:47:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:47:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:09] [INFO] Checking activity reminders 
[2026-05-03 11:50:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:50:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [INFO] Checking activity reminders 
[2026-05-03 11:50:19] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:50:19] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:50:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:10] [INFO] Checking activity reminders 
[2026-05-03 11:52:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:52:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:52:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:44] [INFO] Checking activity reminders 
[2026-05-03 11:52:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:52:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:52:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:52:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:15] [INFO] Checking activity reminders 
[2026-05-03 11:53:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:53:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:53:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:18] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 11:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:19] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 11:53:19] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 11:53:19] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 11:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:49] [INFO] Checking activity reminders 
[2026-05-03 11:53:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:53:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:53:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [INFO] Checking activity reminders 
[2026-05-03 11:54:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:54:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:52] [INFO] Checking activity reminders 
[2026-05-03 11:54:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:54:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:54:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:58:59] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":198,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(198): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(99): App\\Repositories\\CommissionRuleRepository->hasColumn()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(88): App\\Repositories\\CommissionRuleRepository->save()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(81): App\\Services\\CommissionService->saveRule()\n#4 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#5 {main}"}}
[2026-05-03 11:58:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:16] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":198,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(198): PDO->prepare()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(99): App\\Repositories\\CommissionRuleRepository->hasColumn()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(88): App\\Repositories\\CommissionRuleRepository->save()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(81): App\\Services\\CommissionService->saveRule()\n#4 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#5 {main}"}}
[2026-05-03 11:59:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [INFO] Checking activity reminders 
[2026-05-03 11:59:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:59:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:43] [INFO] Checking activity reminders 
[2026-05-03 11:59:43] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 11:59:43] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 11:59:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 11:59:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:02] [INFO] Checking activity reminders 
[2026-05-03 12:00:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:00:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:12] [INFO] Checking activity reminders 
[2026-05-03 12:03:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:03:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:03:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:03:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:08:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:08:29] [WARNING] Auth check failed - not authenticated {"session_id":"fmej0d3a9vr82usdutlghcdq1s","session_keys":[],"action":"log_client_event"}
[2026-05-03 12:08:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:08:29] [WARNING] Auth check failed - not authenticated {"session_id":"fmej0d3a9vr82usdutlghcdq1s","session_keys":[],"action":"check_reminders"}
[2026-05-03 12:08:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:08:29] [WARNING] Auth check failed - not authenticated {"session_id":"fmej0d3a9vr82usdutlghcdq1s","session_keys":[],"action":"log_client_event"}
[2026-05-03 12:08:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:08:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:18:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:18:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:09] [INFO] Checking activity reminders 
[2026-05-03 12:19:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:19:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:19:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:12] [INFO] Checking activity reminders 
[2026-05-03 12:19:12] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:19:12] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:19:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:18] [INFO] Checking activity reminders 
[2026-05-03 12:19:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:19:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:19:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:19:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:22] [INFO] Checking activity reminders 
[2026-05-03 12:20:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:20:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:20:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:26] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 12:20:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 12:20:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 12:20:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 12:20:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:57] [INFO] Checking activity reminders 
[2026-05-03 12:20:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:20:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:20:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:20:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:28] [INFO] Checking activity reminders 
[2026-05-03 12:21:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:21:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:21:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:34] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"No KPI source column found (expected kpi_source or kpi_key)","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":101,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(90): App\\Repositories\\CommissionRuleRepository->save()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#3 {main}"}}
[2026-05-03 12:21:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:59] [INFO] Checking activity reminders 
[2026-05-03 12:21:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:21:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:21:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:21:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:24] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"No KPI source column found (expected kpi_source or kpi_key)","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":101,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(90): App\\Repositories\\CommissionRuleRepository->save()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#3 {main}"}}
[2026-05-03 12:22:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:30] [INFO] Checking activity reminders 
[2026-05-03 12:22:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:22:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:22:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:22:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:45] [INFO] Checking activity reminders 
[2026-05-03 12:24:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:24:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:24:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:24:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:13] [INFO] Checking activity reminders 
[2026-05-03 12:28:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:28:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:28:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:44] [INFO] Checking activity reminders 
[2026-05-03 12:28:44] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:28:44] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:28:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 12:28:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:47] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 12:28:47] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 12:28:47] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:28:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [INFO] Checking activity reminders 
[2026-05-03 12:29:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:29:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:49] [INFO] Checking activity reminders 
[2026-05-03 12:29:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:29:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:29:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:29:59] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`hanafiv1_cr`.`commission_rules`, CONSTRAINT `commission_rules_ibfk_1` FOREIGN KEY (`salesperson_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":200,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(200): PDOStatement->execute()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(94): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 12:29:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:20] [INFO] Checking activity reminders 
[2026-05-03 12:30:20] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:30:20] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:30:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:51] [INFO] Checking activity reminders 
[2026-05-03 12:30:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:30:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:30:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:30:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:22] [INFO] Checking activity reminders 
[2026-05-03 12:31:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:31:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:31:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:44] [ERROR] API Error {"action":"store_commission_rule","exception":{"message":"SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`hanafiv1_cr`.`commission_rules`, CONSTRAINT `commission_rules_ibfk_1` FOREIGN KEY (`salesperson_user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)","file":"\/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php","line":200,"trace":"#0 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Repositories\/CommissionRuleRepository.php(200): PDOStatement->execute()\n#1 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Services\/CommissionService.php(94): App\\Repositories\\CommissionRuleRepository->save()\n#2 \/home\/hanafiv1\/crm.hanafi.vip\/app\/Controllers\/CommissionController.php(82): App\\Services\\CommissionService->saveRule()\n#3 \/home\/hanafiv1\/crm.hanafi.vip\/public\/index.php(395): App\\Controllers\\CommissionController->storeRule()\n#4 {main}"}}
[2026-05-03 12:31:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:53] [INFO] Checking activity reminders 
[2026-05-03 12:31:53] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:31:53] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:31:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:31:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:03] [INFO] Checking activity reminders 
[2026-05-03 12:32:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:32:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:32:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:09] [INFO] Checking activity reminders 
[2026-05-03 12:32:09] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:32:09] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:32:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:32:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:36:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:36:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:06] [INFO] Checking activity reminders 
[2026-05-03 12:38:06] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:38:06] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:38:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:38:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:16] [INFO] Checking activity reminders 
[2026-05-03 12:45:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:45:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:45:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 12:45:27] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 12:45:27] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:57] [INFO] Checking activity reminders 
[2026-05-03 12:45:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:45:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:45:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:45:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:29] [INFO] Checking activity reminders 
[2026-05-03 12:46:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:46:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:29] [INFO] Checking activity reminders 
[2026-05-03 12:46:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:46:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:46:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:00] [INFO] Checking activity reminders 
[2026-05-03 12:47:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:47:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:31] [INFO] Checking activity reminders 
[2026-05-03 12:47:31] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:47:31] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:47:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:58] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:58] [INFO] Checking activity reminders 
[2026-05-03 12:47:58] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:47:58] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:47:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:47:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:02] [INFO] Checking activity reminders 
[2026-05-03 12:48:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:48:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:21] [INFO] Checking activity reminders 
[2026-05-03 12:48:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:48:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:37] [INFO] Notification created {"notification_id":"722","user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","type":"test","show_popup":true}
[2026-05-03 12:48:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:52] [INFO] Checking activity reminders 
[2026-05-03 12:48:52] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:48:52] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:48:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:48:53] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:23] [INFO] Checking activity reminders 
[2026-05-03 12:49:23] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:49:23] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:49:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:54] [INFO] Checking activity reminders 
[2026-05-03 12:49:54] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:49:54] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:49:55] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:28] [INFO] Checking activity reminders 
[2026-05-03 12:50:28] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:50:28] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:50:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:28] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:59] [INFO] Checking activity reminders 
[2026-05-03 12:50:59] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:50:59] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:50:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:50:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:03] [INFO] Checking activity reminders 
[2026-05-03 12:51:03] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:51:03] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:51:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:10] [INFO] Checking activity reminders 
[2026-05-03 12:51:10] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:51:10] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:51:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:13] [INFO] Checking activity reminders 
[2026-05-03 12:51:13] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:51:13] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:51:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:30] [INFO] Checking activity reminders 
[2026-05-03 12:53:30] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:53:30] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:53:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:31] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:38] [INFO] Checking activity reminders 
[2026-05-03 12:53:38] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:53:38] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:53:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:53:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:08] [INFO] Checking activity reminders 
[2026-05-03 12:57:08] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:57:08] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:57:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:35] [INFO] Checking activity reminders 
[2026-05-03 12:57:35] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:57:35] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:57:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:57:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:00] [INFO] Checking activity reminders 
[2026-05-03 12:58:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:58:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:58:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:03] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:04] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 12:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:04] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 12:58:04] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 12:58:04] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 12:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:09] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:10] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:34] [INFO] Checking activity reminders 
[2026-05-03 12:58:34] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:58:34] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:58:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:05] [INFO] Checking activity reminders 
[2026-05-03 12:59:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:59:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:59:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:36] [INFO] Checking activity reminders 
[2026-05-03 12:59:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 12:59:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 12:59:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 12:59:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:04] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:07] [INFO] Checking activity reminders 
[2026-05-03 13:00:07] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:00:07] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:00:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:45] [INFO] Checking activity reminders 
[2026-05-03 13:00:45] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:00:45] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:00:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:00:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:16] [INFO] Checking activity reminders 
[2026-05-03 13:01:16] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:01:16] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:01:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:47] [INFO] Checking activity reminders 
[2026-05-03 13:01:47] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:01:47] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:01:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:01:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:18] [INFO] Checking activity reminders 
[2026-05-03 13:02:18] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:02:18] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:02:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:49] [INFO] Checking activity reminders 
[2026-05-03 13:02:49] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:02:49] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:02:49] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:02:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:21] [INFO] Checking activity reminders 
[2026-05-03 13:03:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:03:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:03:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:51] [INFO] Checking activity reminders 
[2026-05-03 13:03:51] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:03:51] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:03:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:03:52] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:25] [INFO] Checking activity reminders 
[2026-05-03 13:04:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:04:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:04:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:04:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:39] [INFO] Checking activity reminders 
[2026-05-03 13:05:39] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:05:39] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:05:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:05:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:02] [INFO] Checking activity reminders 
[2026-05-03 13:06:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:06:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:29] [INFO] Checking activity reminders 
[2026-05-03 13:06:29] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:06:29] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:06:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:29] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:30] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:33] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:35] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 13:06:35] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 13:06:35] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 13:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:38] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:54] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:06:59] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:05] [INFO] Checking activity reminders 
[2026-05-03 13:07:05] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:07:05] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:07:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:05] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:06] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:36] [INFO] Checking activity reminders 
[2026-05-03 13:07:36] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:07:36] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:07:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:37] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:07:40] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:22] [INFO] Checking activity reminders 
[2026-05-03 13:10:22] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:10:22] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:10:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:25] [INFO] Checking activity reminders 
[2026-05-03 13:10:25] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:10:25] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:10:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:46] [INFO] Checking activity reminders 
[2026-05-03 13:10:46] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:10:46] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:10:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:10:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:15] [INFO] Checking activity reminders 
[2026-05-03 13:11:15] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:11:15] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:11:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:19] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:19] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 13:11:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:20] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 13:11:20] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 13:11:20] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 13:11:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:20] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:32] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:34] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:50] [INFO] Checking activity reminders 
[2026-05-03 13:11:50] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:11:50] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:11:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:11:51] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:07] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:08] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:21] [INFO] Checking activity reminders 
[2026-05-03 13:12:21] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:12:21] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:12:21] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:25] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:41] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:43] [INFO] Didar API call blocked (disabled) {"endpoint":"\/activity\/GetActivityType","method":"POST"}
[2026-05-03 13:12:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:44] [INFO] [DEBUG] getDidarUsers - Fetching users {"hasDisplayName":true,"fields":"id, didar_user_id, display_name, email, is_active"}
[2026-05-03 13:12:44] [INFO] [DEBUG] getDidarUsers - Found users {"count":12,"rows":[{"id":"1","didar_user_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":"1"},{"id":"3","didar_user_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":"1"},{"id":"6","didar_user_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":"1"},{"id":"8","didar_user_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":"1"},{"id":"10","didar_user_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":"1"},{"id":"11","didar_user_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":"1"},{"id":"15","didar_user_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":"1"},{"id":"19","didar_user_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":"1"},{"id":"20","didar_user_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":"1"},{"id":"1714","didar_user_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":"1"},{"id":"1717","didar_user_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":"1"},{"id":"1718","didar_user_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":"1"}]}
[2026-05-03 13:12:44] [INFO] [DEBUG] getDidarUsers - Returning users {"count":12,"users":[{"id":"1","owner_id":"1d963d5b-0a67-40ac-826a-2e8480250d49","display_name":"خانم توانا","email":"hanaficars.academy4@gmail.com","is_active":1},{"id":"3","owner_id":"7961644d-eebe-4086-8617-3ad855a6c2f4","display_name":"حسابداری","email":"Ameneh.afrashh@gmail.com","is_active":1},{"id":"6","owner_id":"ef266a9a-ff55-4893-8be3-7848badfcdce","display_name":"امیر سهرابی ","email":"hanaficarscoo@gmail.com","is_active":1},{"id":"8","owner_id":"d596af82-2c35-4ede-90ff-8bcdd5b373a9","display_name":"خانم شکیبا","email":"hfishakiba@gmail.com","is_active":1},{"id":"10","owner_id":"7f7b0219-ab23-4c99-adf8-ca04a6d81179","display_name":"خانم  بردبار","email":"hanaficars.academy5@gmail.com","is_active":1},{"id":"11","owner_id":"6f307e57-ce8e-4ec1-bc7a-d17fd39001fa","display_name":"حمیدرضا مکرمی","email":"hanaficar.Marketing@gmail.com","is_active":1},{"id":"15","owner_id":"75f9d286-0d05-43e0-a6ed-9fdb8ad89a0f","display_name":"خانم شایسته","email":"hanaficars9@gmail.com","is_active":1},{"id":"19","owner_id":"dd16f09e-cb31-4354-833b-e16cc1b090d4","display_name":" محمدحسین حنفی","email":"hanaficar.HR@gmail.com","is_active":1},{"id":"20","owner_id":"6d5350f0-5ee7-47d3-9eef-094698f6d070","display_name":"لید استخر","email":"hanaficarrs10@gmail.com","is_active":1},{"id":"1714","owner_id":"local_3e2fc1c5b672c4f3","display_name":"خانم شایسته 2","email":"shayeste2@hanafi.ir","is_active":1},{"id":"1717","owner_id":"local_aa1dde70d86975fb","display_name":"خانم بهمن دار","email":"bamandar@hanafi.ir","is_active":1},{"id":"1718","owner_id":"local_73fa04bf977ea64b","display_name":"خانم مظاهری","email":"f.mazaheriii23@gmail.com","is_active":1}]}
[2026-05-03 13:12:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:44] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:45] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:12:46] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:11] [INFO] Checking activity reminders 
[2026-05-03 13:13:11] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:13:11] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:13:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:11] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:12] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:13] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:14] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:15] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:16] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:17] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:18] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:22] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:23] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:24] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:26] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:27] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:35] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:36] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:39] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:42] [INFO] Checking activity reminders 
[2026-05-03 13:13:42] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:13:42] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:13:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:42] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:43] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:47] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:48] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:13:50] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:00] [INFO] Checking activity reminders 
[2026-05-03 13:14:00] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:14:00] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:14:00] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:14:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:01] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:02] [INFO] Checking activity reminders 
[2026-05-03 13:15:02] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:15:02] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:02] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:56] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:57] [INFO] Checking activity reminders 
[2026-05-03 13:15:57] [INFO] Found due reminders {"count":0,"reminders":[]}
[2026-05-03 13:15:57] [INFO] Finished checking reminders {"notifications_created":0}
[2026-05-03 13:15:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
[2026-05-03 13:15:57] [WARNING] Failed to add unique key for persons.customer_code {"error":"SQLSTATE[42000]: Syntax error or access violation: 1061 Duplicate key name 'uniq_persons_customer_code'"}
